贡献者: addis
如果要旧的 icc/icpc1 以及 mkl,可以先用 oneAPI BASE 只安装 mkl(intel gdb,python 可能也有用),然后再安装 oneAPI HPC 中的 DPC++ 编译器(MPI 可能也有用)。 装错了有没关系,可以随时添加或者删除组件。安装的 GUI 界面可以通过 X11 传输,所以远程 ssh 也有 GUI 安装。如果系统不支持 GUI 会自动切换到 TUI。
也可以通过命令行选项进行非交互的安装,详见这里。运行以下命令后,会把安装包解压到当前目录,当前目录的文件系统必须支持 symbolik link。
# 安装 MKL
sudo sh ./l_BaseKit_p_*.sh -a --silent --action install \
--eula accept --components intel.oneapi.lin.mkl.devel
# 安装 icpc 和 MPI
sudo sh ./l_HPCKit_p_*.sh -a --silent --action install \
--eula accept --components \
intel.oneapi.lin.dpcpp-cpp-compiler-pro:intel.oneapi.lin.mpi.devel
安装目录是 /opt/intel/
,安装完以后需要在 ~/.bashrc
中加上 source /opt/intel/oneapi/setvars.sh
,这样每次打开 bash 就会自动添加环境变量。重启 terminal,如果 icpc --version
输出版本号,就说明可以正常用了。
注意在编程中,分配内存时,对齐可以让 SIMD 优化得更好。MKL 提供自己版本的 malloc
,也可以用 STL 的对齐机制(std::align
)。
sudo sh ./l_BaseKit_p_2022.2.0.262_offline.sh
在 WSL2 中会弹出 GUI。光 MKL 需要 7.4GB。
oneAPI_BASE
不包括 icpc 和 icc 编译器! 他们并不包含在 DPC++
里面。详见这里。
sudo sh ./l_onemkl_p_2022.1.0.223_offline.sh
sudo sh ./l_HPCKit_p_2022.2.0.191_offline.sh
1. ^ 注意 icc/icpc (Intel C++ Compiler Classic) 将在 2023 年被淘汰,被 oneAPI DPC++/C++ Compiler 代替,命令是 icx/icpx
,编译选项有略微的差异。