查看原文
其他

改动几行代码:AMD 锐龙的 Matlab 性能最多提升 258%

技术最前线 算法爱好者 2019-12-03

(给算法爱好者加星标,修炼编程内功

原创整理:技术最前线(id:TopITNews)

参考:techpowerup、快科

MATLAB 是工程公司、大学和其他研究机构使用的一种流行的数学计算环境。它的一些操作会利用 Intel MKL(数学内核库),并调用 AVX2 指令集,获得理想性能。


但在 AMD 处理器上,Matlab 就只调用的 SSE 指令集,性能就天差地别了。


据外媒 techpowerup 报道,Reddit 网友 Nedflanders1976 发现,AMD锐龙(Ryzen)、Ryzen Threadripper 处理器也能开启 AVX2 指令集,进而提高 MATLAB 性能。



Nedflanders1976 的方法非常简单。


Windows 系统用户,建一个 bat 批处理文件:

@echo offset MKL_DEBUG_CPU_TYPE=5call "%MKLROOT%\bin\mklvars.bat" MKL_DEBUG_CPU_TYPE=5matlab.exe


AMD 用户通过批处理文件启动 Matlab,就可以开启 AVX2 指令集。


或者在高级系统属性里找到 MKL_DEBUG_CPU_TYPE,将其值改为 5。(但要注意,任何使用 MKL 的程序都会受到影响。)



Linux 系统用户输入以下命令并启动 Matlab,永久方法则是编辑配置脚本并加入以下命令:

export MKL_DEBUG_CPU_TYPE=5  


根 Nedflanders1976 的测试结果,AMD 锐龙处理器经过修改后,Matlab 性能提升范围是 17% 到 258% 。



最后再说一下,这个修改方式,仅适用于 AMD锐龙(Ryzen)、Ryzen Threadripper 处理器


推荐阅读

(点击标题可跳转阅读)

微软 Cortana 将退出 Android/iOS 平台

干得漂亮!全网接力帮她破解软件,结局暖心



觉得本文有帮助?请分享给更多人

关注「算法爱好者」加星标,修炼编程内功

好文章,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存