
インテル マス カーネル ライブラリはBLASライブラリであり、Ubuntu リポジトリUbuntu 19.10 以降では、はるかに高速な結果が得られると報告されています。
GNU Octave でリポジトリからインストールされた Intel MKL を使用するにはどうすればよいでしょうか?
答え1
Octaveをインストールするには
sudo apt-get install octave
そして、Intel MKL開発パッケージの完全版をインストールします。
sudo apt-get install libmkl-full-dev
インストール中に、デフォルトの数学ライブラリ プロバイダーとして Intel MKL を選択する必要があります。
重要:
避けるためにOctave と MKL 間のバグ~/.bashrc
またはに次の変数宣言を追加する必要があります~/.profile
。
export MKL_THREADING_LAYER=gnu
そしてOctaveを起動します。
バグに関する最近のコメントで指摘されているように、__run_test_suite__
この回避策を適用した後でも、Octaveは実行時にセグメンテーション違反で終了します。現時点では推奨されませんMKL と並行して、Ubuntu リポジトリの Octave のバージョンを使用します。
htop
MKLが使用されていることを確認するには、以下のライブラリリストを参照してください( F4、octave
、 選択するoctave-gui
、、、LF4mkl
):
以下のコードを使用してベンチマークする
c = sin((1:500)' + (1:500).^2);
tic;
g = eig(c);
toc
m = max(real(g))
assert (m, 16.914886, 1e-6)
Intel i7-3537U を使用:
- デフォルト - 0.46 秒
- MKL - 0.14秒。