欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

改动寥寥几行代码:AMD锐龙Matlab性能暴涨最多258%

程序员文章站 2022-05-10 09:41:33
我们知道,一款硬件产品性能如何,不仅仅取决于硬件本身的设计,也要看驱动、软件的支持与优化,很多时候一些简单的优化调整就可以带来意想不到的效果。 比如说流行、权威的数学...

我们知道,一款硬件产品性能如何,不仅仅取决于硬件本身的设计,也要看驱动、软件的支持与优化,很多时候一些简单的优化调整就可以带来意想不到的效果。

比如说流行、权威的数学计算环境matlab,就针对intel处理器有一项特殊优化,检测到是intel处理器后就会利用intel mkl(路径内核库),并调用avx2指令集,获得理想性能。

而对于非intel处理器,比如说检测到是amd,matlab就只会使用古老的sse指令集,结果就是性能天差地别。

改动寥寥几行代码:AMD锐龙Matlab性能暴涨最多258%

reddit网友nedflanders1976研究后发现,amd锐龙、线程撕裂者处理器在matlab上也能开启avx2指令集,从而获得性能暴涨!

根据这位网友给出的教程,方法非常简单。windows系统下可以创建一个只有如下四行代码的bat批处理文件,amd处理器用户通过它启动matlab,就可以开启avx2指令集。

@echo off

set mkl_debug_cpu_type=5

call "%mklroot%\bin\mklvars.bat" mkl_debug_cpu_type=5

matlab.exe

改动寥寥几行代码:AMD锐龙Matlab性能暴涨最多258%

以上是临时方法,如果想永久生效,只需在高级系统属性里找到mkl_debug_cpu_type,将这个环境变量的值改为5,但注意任何使用mkl的程序都会受到影响。

改动寥寥几行代码:AMD锐龙Matlab性能暴涨最多258%

linux用户也很简单,临时方法是输入以下命令并启动matlab,永久方法则是编辑配置脚本并加入以下命令:

export mkl_debug_cpu_type=5 

根据实测,amd锐龙处理器经过这样一番修改后,matlab性能可以提升少则17%,多则258%!

改动寥寥几行代码:AMD锐龙Matlab性能暴涨最多258%

改动寥寥几行代码:AMD锐龙Matlab性能暴涨最多258%