![如何使用来自 Ubuntu 存储库的 GNU Octave 和 Intel MKL 进行更快的科学计算?](https://linux22.com/image/928483/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E6%9D%A5%E8%87%AA%20Ubuntu%20%E5%AD%98%E5%82%A8%E5%BA%93%E7%9A%84%20GNU%20Octave%20%E5%92%8C%20Intel%20MKL%20%E8%BF%9B%E8%A1%8C%E6%9B%B4%E5%BF%AB%E7%9A%84%E7%A7%91%E5%AD%A6%E8%AE%A1%E7%AE%97%EF%BC%9F.png)
Intel 数学核心函数库是一个 BLAS 库,可用于Ubuntu 存储库从 Ubuntu 19.10 开始,据报道可以提供更快的结果。
如何让 GNU Octave 使用从存储库安装的 Intel MKL?
答案1
你必须使用以下命令安装 Octave
sudo apt-get install octave
然后安装完整的英特尔 MKL 开发包
sudo apt-get install libmkl-full-dev
在安装过程中,您必须选择 Intel MKL 作为默认数学库提供商。
重要的:
避免Octave 和 MKL 之间的错误应该向~/.bashrc
或添加以下变量声明~/.profile
:
export MKL_THREADING_LAYER=gnu
然后启动 Octave。
正如最近对这个 bug 的评论中提到的,Octave 在__run_test_suite__
运行时会因分段错误而关闭,即使应用了这个解决方法也是如此。目前不建议与 MKL 一起使用 Ubuntu 存储库中的 Octave 版本。
为了确认使用了 MKL,可以查看htop
下面列出的库(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 秒。