如何使用 Cmake 在 Linux 上设置 MKL
How to set MKL on Linux with Cmake
我使用了此 link 中提供的相同代码
How to setup MKL on linux with CMake
但是我收到了这个错误
找不到 MKL(缺少:MKL_LIBRARIES MKL_INCLUDE_DIRS
我尝试将 MKLROOT 设置为以下
SET(ENV{MKLROOT} "/home/usr/intel/mkl:$ENV{MKLROOT}")
这就是 findmkl.cmake 模块在没有为 mklroot 设置环境的代码行时的样子(我在下面的 link 中使用了相同的代码)
https://gist.github.com/scivision/5108cf6ab1515f581a84cd9ad1ef72aa
我怀疑问题出在设置 mklroot 上,但不确定,如有任何帮助,我们将不胜感激。
如果 MKLROOT
最初未设置,则语句 SET(ENV{MKLROOT} "/home/usr/intel/mkl:$ENV{MKLROOT}")
将 MKLROOT
设置为 /home/usr/intel/mkl:
,这是路径的不正确格式。相反,您可以使用
set(ENV{MKLROOT} "/home/usr/intel/mkl")
或者,您可以在外部设置该环境变量的值,例如,
source /home/usr/intel/bin/compilervars.sh intel64
然后是 运行 CMake。在这种情况下,不需要 CMake set
语句,这是一种更便携的解决方案。
更新:截至 2021 年 2 月 20 日,compilervars.sh
未在英特尔 MKL 中提供,应使用以下命令设置环境:
source /opt/intel/oneapi/setvars.sh intel64
或安装 oneAPI 的任何地方。
我使用了此 link 中提供的相同代码 How to setup MKL on linux with CMake
但是我收到了这个错误 找不到 MKL(缺少:MKL_LIBRARIES MKL_INCLUDE_DIRS
我尝试将 MKLROOT 设置为以下 SET(ENV{MKLROOT} "/home/usr/intel/mkl:$ENV{MKLROOT}")
这就是 findmkl.cmake 模块在没有为 mklroot 设置环境的代码行时的样子(我在下面的 link 中使用了相同的代码)
https://gist.github.com/scivision/5108cf6ab1515f581a84cd9ad1ef72aa
我怀疑问题出在设置 mklroot 上,但不确定,如有任何帮助,我们将不胜感激。
如果 MKLROOT
最初未设置,则语句 SET(ENV{MKLROOT} "/home/usr/intel/mkl:$ENV{MKLROOT}")
将 MKLROOT
设置为 /home/usr/intel/mkl:
,这是路径的不正确格式。相反,您可以使用
set(ENV{MKLROOT} "/home/usr/intel/mkl")
或者,您可以在外部设置该环境变量的值,例如,
source /home/usr/intel/bin/compilervars.sh intel64
然后是 运行 CMake。在这种情况下,不需要 CMake set
语句,这是一种更便携的解决方案。
更新:截至 2021 年 2 月 20 日,compilervars.sh
未在英特尔 MKL 中提供,应使用以下命令设置环境:
source /opt/intel/oneapi/setvars.sh intel64
或安装 oneAPI 的任何地方。