プログラミングとか色々

プログラミングとかについて色々

OpenBLASの環境構築

実行環境

2024/04/18

デバイス名   LAPTOP-HV84GN6D
プロセッサ 12th Gen Intel(R) Core(TM) i5-1240P   1.70 GHz
実装 RAM  16.0 GB (15.6 GB 使用可能)
デバイス ID C6210A55-C787-4D5F-AE5C-E83A4195C931
プロダクト ID  00355-60821-80951-AAOEM
システムの種類   64 ビット オペレーティング システム、x64 ベース プロセッサ
ペンとタッチ  このディスプレイでは、ペン入力とタッチ入力は利用できません
エディション    Windows 11 Pro
バージョン 23H2
インストール日   2023/11/04
OS ビルド    22631.3447
エクスペリエンス    Windows Feature Experience Pack 1000.22688.1000.0
$ wsl -v
WSL バージョン: 2.1.5.0
カーネル バージョン: 5.15.146.1-2
WSLg バージョン: 1.0.60
MSRDC バージョン: 1.2.5105
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows バージョン: 10.0.22631.3447
$ uname -a
Linux LAPTOP-HV84GN6D 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

インストール

パッケージマネージャーから(失敗)

https://github.com/OpenMathLib/OpenBLAS/wiki/Precompiled-installation-packages#linux に従ってインストールした aptを使ったがインストール先がかわからなかったため、リンクができず諦めた

ビルド時間がだいぶ長かったため、インストール先がわかればこの方法のほうが早くインストールできると思う

ソースコードから

基本的にこの通りに https://github.com/OpenMathLib/OpenBLAS/wiki/User-Manual

  • ソースコードはgitを使ってdevelopブランチをクローンした
    • だいぶ大きなリポジトリでダウンロードにもそこそこ時間がかかった
  • ビルドするマシンで使うためNormal compileで良くmakeを実行した
    • ビルドはだいぶ時間がかかった
  • make install PREFIX=/usr/local/でインストールした
    • include,bin,libの3つのディレクトリが作られるため、PREFIX=/usr/local/includeではなく上記のパスで良い
    • ドキュメント/your_path/OpenBLAS/の部分が/usr/local/になる

実際に動かす

上記の通りに設定した場合、

  • 静的リンクは
gcc -o test test.c /usr/local/lib/libopenblas.a

コンパイル

  • 動的リンクは
gcc -o test test.c -I/usr/local/include/ -L/usr/local/lib/ -Wl,-rpath,/usr/local/lib/ -lopenblas

コンパイル