ニュース
Python科学技術計算ディストリビューションのAnacondaの2.5がリリースされました。
DEVELOPER BLOGによると、今まで有料版で提供されていたMKL(Intel Math Kernel Library)が無料版でも提供されるようになったようです。
どのくらい高速になったのか確認してみました。
これまでのOpenBLAS1版とMKL版のdockerを用意し、DigitalOceanの一番小さいやつで確認してみました。
2000×2000のランダムな行列の逆行列計算の時間を計ってみました。
$ docker run -it --rm tsutomu7/scientific-python python -m timeit -c \
'import numpy as np; np.linalg.inv(np.random.rand(2000, 2000))'
10 loops, best of 3: 2.61 sec per loop
$ docker run -it --rm tsutomu7/scientific-python:mkl python -m timeit -c \
'import numpy as np; np.linalg.inv(np.random.rand(2000, 2000))'
10 loops, best of 3: 1.61 sec per loop
40%ほど速くなったようです。
ちなみに、デフォルトで4コア並列実行可能です。4コアを超えて設定できないようです。
python
import mkl
mkl.get_max_threads()
>>>
4
mkl.set_num_threads(1)
mkl.get_max_threads()
>>>
1
mkl.set_num_threads(8)
mkl.get_max_threads()
>>>
4
以上
-
"conda install nomkl" とすれば OpenBLAS版になります。 ↩