Contents

  • おことわり
  • 2023年更新 Linux環境でのOpenBLASインストール

おことわり

以下で、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です。