おことわり
以下で、BLASのインストールについて説明を行いますが、環境によってはうまくいかないかもしれません。が、
どんな環境でもうまくいくインストールガイドというものは基本的にありえないと思いますので、うまく行かなくても、色々検索するとか試行錯誤でがんばってください。
また、Windows環境については後に準備する予定といいつつ、12年間放置していました。Windows環境では仮想マシンを立ててLinux使うことをおすすめします。
BLASを使う際にはWindowsって言うだけでハードルが上がると思えますので、研究などでお使いになられる方は、
悪いことは言わないですからLinuxに慣れることを強く推奨します。
2023年版 Linux環境でのOpenBLASインストール
ここでは、Linux環境でのOpenBLASインストールについて説明します。筆者の環境はRocky-linux8(無償のRHEL(Red Hat Enterprise Linux)Clone CentOSの後継)です。
環境チェック
git cc make等が利用可能であることが最低条件になりますが、入ってなければ、実行時にインストールするか聞かれると思いますので、あまり気にしなくても大丈夫だと思います。大学などの環境であれば気にせずにコマンドが動作するでしょう
なお、gfortranも利用可能であるとLAPACKもビルドされるはず
ビルド
git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make
とします。(このサイトではコマンドを表す$はあえて記載していません)
OpenBLAS build complete. (BLAS CBLAS LAPACK LAPACKE)
OS ... Linux
Architecture ... x86_64
BINARY ... 64bit
C compiler ... GCC (cmd & version : cc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10))
Library Name ... libopenblas_zen-r0.3.22.dev.a (Single-threading)
To install the library, you can run "make PREFIX=/path/to/your/installation install".
Note that any flags passed to make during build should also be passed to make install
to circumvent any install errors.
のような表示がされていればOKです。詳細は環境により異なります。
インストール
sudo make install
とすると、/opt/OpenBLAS/に所要のファイルがインストールされます。
Install OK!と表示されればOKです。
出力先を変更したい場合(特に、権限のあるところに置きたい場合)は
make PREFIX=/home/azalea/opt/ install
のように、PERFIXで出力先を変更できます。
動作確認
サンプルにあるコードを適当なファイル(test.c)にコピーします
gcc test.c -I /opt/OpenBLAS/include/ -L /opt/OpenBLAS/lib/ -lopenblas
のように、-Iのあとにヘッダファイルの入っているディレクトリを、-Lのあとにlibopenblas.aが入っているディレクトリを指定し、-lopenblasとします。
これで、a.outが出来上がったら、
./a.out
として、結果が出力されればOKです。