トップ «前の日記(2017/08/23) 最新 次の日記(2017/08/25)» 編集

kaztomo日記


2017/08/24

_ [FreeBSD][Python]py35-numpy を速くしたい

numpy の勉強を始めたばかりで、 本に載っているソースを打ち込んで実行するだけでは特に困っているわけではないけれど、 将来バリバリ使うならば numpyを高速化できないものかと考えた。

何も config 設定を変えずに py35-numpy をインストールすると netlib に対応するようだ。

% pkg info py35-numpy
Name           : py35-numpy
Version        : 1.13.1_1,1
...(snip)...
Architecture   : FreeBSD:10:amd64
Options        :
       ATLAS          : off
       DOCS           : on
       NETLIB         : on
       OPENBLAS       : off
       SUITESPARSE    : on
       TESTS          : off
Shared Libs required:
       libblas.so.2
       libcblas.so.2
       libgcc_s.so.1
       libquadmath.so.0
       libpython3.5m.so.1.0
       liblapack.so.4
       libgfortran.so.3
...(snip)...

netlib がどれほど速いのか判ってないけど、OpenBlas のほうが速いよね?と思い込んでいるので、 openblas をインストール。色々と悪戦苦闘しながらようやく完成 (^o^)V

% cd /usr/ports/math/openblas
% sudo make config
  AVX,AVX2 を設定
% sudo make BINARY=64 FC=gfortran USE_THREAD=1
% sudo make PREFIX=/path/to/openblas install

なぜか指定した PREFIX フォルダにインストールされず、直下の work フォルダ内にインストールしている (?_?) が、まぁ気にせず /usr/local/lib へライブラリを install した

% pkg info openblas
Name           : openblas
Version        : 0.2.19_1,1
...(snip)...
Options        :
       AVX            : on
       AVX2           : on
       DYNAMIC_ARCH   : off
       INTERFACE64    : off
       OPENMP         : off
Shared Libs required:
       libquadmath.so.0
       libgfortran.so.3
Shared Libs provided:
       libopenblas.so.0
       libopenblasp.so.0

ここで /usr/ports/math/py-numpy に戻って make config から OPENBLAS を指定するとエラーのオンパレード (>_<) 色々とググってはみたものの解決には至らず orz


参考にさせて頂いたサイト: