英特尔 OneAPI 2022 - libimf.so 在 openMPI 编译期间没有此类文件或目录



尝试使用英特尔 OneAPI 2022.0.1 编译器编译 OpenMPI 操作系统是 5.4.0-26-通用 #30-Ubuntu SMP 周一 4 月 20 日 16:58:30 UTC x86_64 x86_64 x86_64 GNU/Linux

我得到了如下英特尔编译器(只是为了确保我在那一步没有搞砸任何东西)

sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
sudo apt install intel-basekit
sudo apt install intel-hpckit

使用以下命令配置 openmpi:

./configure --prefix=${HPCX_HOME}/ompi-icc CC=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/icc CXX=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/icpc F77=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/ifort FC=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/ifort  --with-ucx=/usr --with-platform=contrib/platform/mellanox/optimized

我的 .bashrc 有(根有相同的 .bashrc)

source /opt/intel/oneapi/setvars.sh
export LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2022.0.1/linux/compiler/lib/intel64_lin

配置后我做:sudo进行所有安装并收到以下错误:

ld: /opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/../../bin/intel64/../../lib/icx-lto.so: error loading plugin: libimf.so: cannot open shared object file: No such file or directory

这个新版本的oneAPI没有任何 ifortvars.sh,它似乎已经解决了过去其他人的类似问题。

libimf.so 位于:

/opt/intel/oneapi/itac/2021.5.0/bin/rtlib/libimf.so
/opt/intel/oneapi/compiler/2022.0.1/linux/compiler/lib/intel64_lin/libimf.so
/opt/intel/oneapi/intelpython/python3.9/pkgs/intel-cmplr-lib-rt-2022.0.1-intel_3633/lib/libimf.so
/opt/intel/oneapi/intelpython/python3.9/lib/libimf.so
/opt/intel/oneapi/intelpython/python3.9/envs/2022.0.1/lib/libimf.so

有关使用最新的英特尔编译器编译 openmpi 的任何帮助和/或建议将不胜感激。

这是我找到的解决方案,但怀疑这是最优雅的方法:

操作系统是 5.4.0-26-通用 #30-Ubuntu SMP 周一 4 月 20 日 16:58:30 UTC x86_64 x86_64 x86_64 GNU/Linux

我的 .bashrc 有(根有相同的 .bashrc)

source /opt/intel/oneapi/setvars.sh

创建于 intel_libs.conf 在/etc/ld.so.conf.d/并添加了行/opt/intel/oneapi/compiler/2022.0.1/linux/compiler/lib/intel64_lin这是libimf.so居住的地方。

sudo ldconfig

使用英特尔编译器编译OpenMPI之后使用:

./configure --prefix={HPCX_HOME}/ompi-icc CC=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/icc CXX=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/icpc F77=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/ifort FC=/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64/ifort  --with-ucx=/usr --with-platform=contrib/platform/mellanox/optimized
sudo make all 
sudo make install

我希望这对其他人有所帮助,如果有更好的方法,请告诉我。干杯

我也面临着类似的问题。我使用以下命令行安装了新的 ifort:

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18236/l_BaseKit_p_2021.4.0.3422.sh
sudo bash l_BaseKit_p_2021.4.0.3422.sh
wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18211/l_HPCKit_p_2021.4.0.3347.sh
sudo bash l_HPCKit_p_2021.4.0.3347.sh

source /opt/intel/oneapi/内没有名为setvars.sh的文件,在编译任何 mpiifort 文件时,它给我抛出了一个错误,说:

error loading plugin: libimf.so: cannot open shared object file: No such file or directory

甚至不确定,这是否与此线程有关,但任何进一步的指导都会非常有帮助,提前感谢。

最新更新