1

尝试使用 intel oneapi 2022.0.1 编译器编译 openmpi 操作系统是 5.4.0-26-generic #30-Ubuntu SMP Mon Apr 20 16:58:30 UTC 2020 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 有(root 有相同的 .bashrc)

source /opt/intel/oneapi/setvars.sh

export LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2022.0.1/linux/compiler/lib/intel64_lin

配置后我做: sudo make all install 并得到以下错误:

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 的帮助和/或建议将不胜感激。

4

1 回答 1

1

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

操作系统是 5.4.0-26-generic #30-Ubuntu SMP Mon Apr 20 16:58:30 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

我的 .bashrc 有(root 有相同的 .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_linthis is where the libimf.solives 的行。

sudo ldconfig

使用 intel 编译器编译 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

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

于 2022-01-13T17:12:09.850 回答