新版Matlab能够正确利用AMD处理器的AVX2指令集支持

Matlab是一套常用的多用途商业数学软件 , 它的用途包括进行模拟计算、算法开发和数据分析等 , 作为一款有大量数学运算的软件 , 它使用了Intel的MKL(MathKernelLibrary)进行优化 , 可以利用最新的AVX2及AVX512指令集进行加速计算 , 但此前有用户发现 , 它对非IntelCPU的支持是有问题的 , 只能利用远古的初代SSE指令集 , 这也让Matlab不能很好的利用AMD的CPU , 只能通过某些偏方去欺骗程序来解决 。 不过这个问题在最近更新的MatlabR2020a版本中被修正了 。
【新版Matlab能够正确利用AMD处理器的AVX2指令集支持】此前发现问题的Reddit用户NedFlanders1976在测试了新版本Matlab之后发现开发商已经修复了对AMDCPU的支持 , 现在Matlab可以利用上RyzenCPU的AVX2指令集支持了 , 各种计算测试中 , AMDCPU的速度也正常了 。
新版Matlab能够正确利用AMD处理器的AVX2指令集支持
文章图片
图片来自于ExtremeTech
Matlab开发商的行动速度也算比较快的了 , 实际上 , RyzenCPU从面世以来一直都被软件优化问题所困扰 , 先是有软件不支持它 , 后是有Matlab这样的缺少优化 。 而Intel在这方面有深厚的历史积累 , 他们有面向自家CPU优化的各种高性能计算库 , 还有ICC这个C++编译器 , 也有很多研究机构选择Intel做基础 , 所以不少专业软件是给Intel做优化而没有考虑到其他家的x86CPU的 , 不过随着第二代EPYC和新线程撕裂者被更多专业用户采纳 , AMD要开始在这方面迎头赶上了 。


    推荐阅读