為了提升服務質素,我們會使用Cookie或其他類似技術來改善使用者的閱讀體驗。如想了解更多請到這裡>。如果接受請點確認按鈕進入網站。
比如說流行、權威的數學計算環境Matlab,就針對Intel處理器有一項特殊優化,檢測到是Intel處理器後就會利用Intel MKL(路徑內核庫),並調用AVX2指令集,獲得理想性能。
而對於非Intel處理器,比如說檢測到是AMD,Matlab就只會使用古老的SSE指令集,結果就是性能天差地別。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
以上是臨時方法,如果想永久生效,只需在高級系統屬性裡找到MKL_DEBUG_CPU_TYPE,將這個環境變量的值改為5,但注意任何使用MKL的程序都會受到影響。
Linux用戶也很簡單,臨時方法是輸入以下命令並啟動Matlab,永久方法則是編輯配置腳本並加入以下命令:
export MKL_DEBUG_CPU_TYPE=5
根據實測,AMD銳龍處理器經過這樣一番修改後,Matlab性能可以提升少則17%,多則258%!