性能除了需要花錢的硬件級(jí)提升方法外,還有系統(tǒng)管理、驅(qū)動(dòng)以及應(yīng)用優(yōu)化等不花錢的方法。早年間硬件玩家們流行通過刷BIOS軟改,覆蓋驅(qū)動(dòng)強(qiáng)行開啟專屬功能等各種魔改方式提升硬件性能。而對(duì)特定的應(yīng)用進(jìn)行優(yōu)化的話,更據(jù)針對(duì)性。
比如說流行、權(quán)威的數(shù)學(xué)計(jì)算環(huán)境Matlab,就針對(duì)Intel處理器有一項(xiàng)特殊優(yōu)化加成:檢測到是Intel處理器后就會(huì)利用Intel MKL(路徑內(nèi)核庫),并調(diào)用AVX2指令集,獲得理想性能。而對(duì)于非Intel處理器,比如說檢測到是AMD,哪怕處理器本身支持AVX2指令集,Matlab也只會(huì)使用古老的SSE指令集,從而帶來性能差異。
國外Reddit論壇網(wǎng)友Nedflanders1976在研究后發(fā)現(xiàn),AMD銳龍、線程撕裂者處理器在Matlab上也能開啟AVX2指令集,從而性能暴漲。
根據(jù)這位網(wǎng)友給出的教程,方法非常簡單。Windows系統(tǒng)下可以創(chuàng)建一個(gè)只有如下四行代碼的bat批處理文件,AMD處理器用戶通過該批處理文件啟動(dòng)Matlab應(yīng)用,就可以開啟AVX2指令集。
@echo off
set MKL_DEBUG_CPU_TYPE=5
call “%MKLROOT%\bin\mklvars.bat” MKL_DEBUG_CPU_TYPE=5
matlab.exe
以上是臨時(shí)方法,如果想永久生效,則需要在高級(jí)系統(tǒng)屬性里找到MKL_DEBUG_CPU_TYPE,將這個(gè)環(huán)境變量的值改為5就可以了。值得注意的是,該方法會(huì)對(duì)所有使用MKL的程序造成影響。
Linux用戶也很簡單,臨時(shí)方法是輸入以下命令并啟動(dòng)Matlab,永久方法則是編輯配置腳本并加入以下命令:
export MKL_DEBUG_CPU_TYPE=5
根據(jù)該網(wǎng)友實(shí)測,AMD銳龍?zhí)幚砥鹘?jīng)過這樣一番修改后,Matlab性能可以提升少則17%,多則258%!
根據(jù)百科詞條內(nèi)容,Matlab全稱Matrix Laboratory(矩陣實(shí)驗(yàn)室),是MathWorks公司推出的一款商業(yè)數(shù)學(xué)軟件。MMatlab具有數(shù)值分析、數(shù)值和符號(hào)計(jì)算、工程與科學(xué)繪圖、控制系統(tǒng)的設(shè)計(jì)與仿真、數(shù)字圖像處理、數(shù)字信號(hào)處理、財(cái)務(wù)與金融工程等功能。