新版Matlab能夠正確利用AMD處理器的AVX2指令集支持_風聞
熊猫儿-2020-04-04 19:22
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開發商的行動速度也算比較快的了,實際上,Ryzen CPU從面世以來一直都被軟件優化問題所困擾,先是有軟件不支持它,後是有Matlab這樣的缺少優化。而Intel在這方面有深厚的歷史積累,他們有面向自家CPU優化的各種高性能計算庫,還有ICC這個C++編譯器,也有很多研究機構選擇Intel做基礎,所以不少專業軟件是給Intel做優化而沒有考慮到其他家的x86 CPU的,不過隨着第二代EPYC和新線程撕裂者被更多專業用户採納,AMD要開始在這方面迎頭趕上了。