Archisman Panigrahi Asked: 2020-08-10 08:18:50 +0800 CST2020-08-10 08:18:50 +0800 CST 2020-08-10 08:18:50 +0800 CST 如何将 GNU Octave 与 Ubuntu 存储库中的 Intel MKL 一起使用,以实现更快的科学计算? 772 Intel Math Kernel Library 是一个 BLAS 库,可在Ubuntu 19.10 及更高版本的Ubuntu 存储库中使用,据报道它可以提供更快的结果。 如何让 GNU Octave 使用从存储库安装的 Intel MKL? intel shared-library octave 1 个回答 Voted Best Answer N0rbert 2020-08-10T11:08:35+08:002020-08-10T11:08:35+08:00 你必须安装 Octave sudo apt-get install octave 然后安装完整的英特尔 MKL 开发包 sudo apt-get install libmkl-full-dev 在安装过程中,您必须选择英特尔 MKL 作为默认数学库提供程序。 重要提示: 为避免Octave 和 MKL 之间的错误,应将以下变量声明添加到~/.bashrcor ~/.profile: export MKL_THREADING_LAYER=gnu 然后启动 Octave。 正如 bug 中最近的评论中所指出的,Octave 在__run_test_suite__运行时会因分段错误而关闭,即使在应用此解决方法之后也是如此。目前不建议将 Ubuntu 存储库中的 Octave 版本与 MKL 一起使用。 要确认是否使用了 MKL,可以查看htop下面列出的库 ( F4, octave, select octave-gui, L, F4, 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 秒。
你必须安装 Octave
然后安装完整的英特尔 MKL 开发包
在安装过程中,您必须选择英特尔 MKL 作为默认数学库提供程序。
重要提示:
为避免Octave 和 MKL 之间的错误,应将以下变量声明添加到
~/.bashrc
or~/.profile
:然后启动 Octave。
正如 bug 中最近的评论中所指出的,Octave 在
__run_test_suite__
运行时会因分段错误而关闭,即使在应用此解决方法之后也是如此。目前不建议将 Ubuntu 存储库中的 Octave 版本与 MKL 一起使用。要确认是否使用了 MKL,可以查看
htop
下面列出的库 ( F4,octave
, selectoctave-gui
, L, F4,mkl
):使用以下代码进行基准测试
使用英特尔 i7-3537U: