AMD CPU可以使用MKL

英特尔的 Math Kernel Library (MKL)是科学计算领域广泛使用的数学库,但它对竞争对手 AMD 的 CPU 非常不友好,即使 AMD CPU 支持 AVX2 或 SSE3-SSE4,MKL 也只用 SSE1。如果要让 MKL 更好的支持 AMD CPU,用户需要修改系统环境变量,设置 MKL_DEBUG_CPU_TYPE=5,强行在 AMD CPU 上使用 AVX2。但英特尔最近释出了 MKL 2020 Update 1+,移除了这一变量,旧的方法失效了。好消息是英特尔在 MKL 中加入了 Zen 内核,坏消息是 Zen 内核功能并不完备,所以更大的坏消息是科学计算软件在 AMD CPU 上性能又变差了

对于AMD Zen系列CPU,我还是建议使用MKL的函数库的,最新版即便不使用debug模式相对于OpenBLAS在numpy上也快上不少。

如果使用环境变量MKL_DEBUG_CPU_TYPE=5可以使numpy运算速度再加快一些,不过需要注意英特尔已经在2021.1以及更新版取消了这个debug模式,想要使用的话必须要把MKL降级到2020.0以及以下。

 

参考:https://zhuanlan.zhihu.com/p/364051698

https://www.chiphell.com/thread-2256348-1-1.html

posted @ 2022-01-20 14:50  鸭子船长  阅读(3123)  评论(0编辑  收藏  举报