[心得] 用intel mkl加速你的matlab已回收
之前也有人分享過,不過在linux上面的資料相當稀少
windows版可看這篇
http://software.intel.com/en-us/articles/using-intel-mkl-with-matlab/
linux版這篇是我的參考資料:
http://www.scalemp.com/uploads/guidelines/Matlab_Execution_Guidlines.pdf
============
步驟一:安裝intel mkl (math kernel library)
上intel網站註冊non comercial license (for windows or for linux)
然後下載intel compiler suite, intel fortran, intel mkl
看readme安裝三個軟體
並隨便寫個小的c hello, world程式,用icc編看看license是否正確
步驟二:複製動態連結lib
<intel path>=/opt/intel/Compilers/11.1/0.56 (版本號可能不同)
<matlab kernel>=<matlab>/bin/glnxa64 (如果是32bit是glnx86)
cp <intel path>/mkl/lib/em64t/libmkl*.so <matlab kernel>
cp <intel path>/lib/intel64/libguide.so <matlab kernel>
步驟三:設定shell環境變數(~/.bashrc)
export PATH="<matlab>/bin:$PATH"
export MAT_KER=<matlab kernel>
export LD_PRELOAD="$MAT_KER/libmkl_core.so: \
$MAT_KER/libguide.so:$MAT_KER/libmkl_intel_thread.so"
在這裡我們設定使用mkl具有多核運算的libmkl_intel_thread.so這個lib
步驟四:設定matlab載入的lib
編輯<matlab kernel>/blas.spec
#GenuineIntel Family * Model * mkl.so mklcompat.so # EM64T
#AuthenticAMD Family * Model * acml.so acmlcompat.so # AMD64
GenuineIntel Family * Model * libmkl_core.so libmkl_intel_thread.so \
libmkl_intel_lp64.so libguide.so
然後在command line打入matlab就可以啟動啦!
(因為有在path加入<matlab>/bin)
環境變數方面不同的linux有不同的方式來設定system wide的環境變數
以我使用的gentoo為例
在/etc/env.d下面就可以設定系統環境變數
如果是個人使用的話,就只能用~/.bashrc囉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.184.221