如何將 Ubuntu 儲存庫中的 GNU Octave 與 Intel MKL 結合使用,以實現更快的科學運算?

如何將 Ubuntu 儲存庫中的 GNU Octave 與 Intel MKL 結合使用,以實現更快的科學運算?

Intel Math Kernel Library 是一個 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 在運行時也會因分段錯誤而關閉。目前是不建議將 Ubuntu 儲存庫中的 Octave 版本與 MKL 一起使用。


為了確認使用了 MKL,可以查看htop下面列出的庫(F4octave, 選擇octave-gui, L, F4,mkl):

列出了 mkl 庫


使用下面的程式碼進行基準測試

c = sin((1:500)' + (1:500).^2);

tic;
g = eig(c);
toc
m = max(real(g))
assert (m, 16.914886, 1e-6)

使用英特爾 i7-3537U:

  • 預設 - 0.46 秒;
  • MKL - 0.14 秒。

相關內容