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