matlab用什么数学库?

如题所述

英特尔数学核心函数库Intel Math Kernel Library。

众所周知,Matlab 在 AMD CPU 上使用 Intel 数学内核库(MKL)的运行速度非常慢。因为 Intel MKL 会使用一个有区分的 CPU 调度器,而鉴于 CPU 对 SIMD 的支持;

该调度器并不会使用有效代码路径,但是会基于供应商的字符串查询结果进行操作。如果 CPU 是 AMD 的,则可以通过系列调整,使得性能有较大的提升。

扩展资料

一般来说,英特尔的数学核库(Intel Math Kernel Library:MKL)是很多人默认使用的库。它在 AMD CPU 上运行地非常慢,因为 MLK 使用一种区分性的(discriminative)CPU 调度器,这种调度器不能根据 SIMD 的支持来有效使用代码路径。如果是 AMD CPU,不管 CPU 到底支不支持更高效的 SIMD 扩展,MKL 不支持使用 SSE3-SSE4 或 AVX1/2 扩展,它只能回到 SSE。

而帖子中则提供了一种方法,能够强制 MKL 支持 AVX2,它和 vendor string 独立,而且只需要一分钟就能完成。如果有一个 AMD CPU,基于 Zen/Zen+/Zen2 µArch Ryzen/Threadripper 等架构,那么它可以被加速到惊人的程度。

另外,这种方法也可以在更老的 Excavator µArch 上应用,但是请*不要将这个方法用在比 Excavator µArch 更老的 AMD CPU 上,以及英特尔的系统上。*

事实上,这种性能提升是非常明显的,根据操作系统和 CPU 的不同,性能加速幅度在 30% 到 300% 不等。

温馨提示:答案为网友推荐,仅供参考
相似回答