如何使用来自 Ubuntu 存储库的 GNU Octave 和 Intel MKL 进行更快的科学计算?

如何使用来自 Ubuntu 存储库的 GNU Octave 和 Intel MKL 进行更快的科学计算?

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下面列出的库(F4octave, 选择octave-gui,,,,LF4mkl):

列出了 mkl 库


使用以下代码进行基准测试

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 秒。

相关内容