背景:使用openmpi编译VASP,运行直接报错,编译命令如下:
./configure --prefix=/path/to/OPENMPI --enable-pretty-print-stacktrace --enable-orterun-prefix-by-default --with-knem=/opt/knem-1.1.3.90mlnx1/ --with-hcoll=/opt/mellanox/hcoll/ --with-cma --with-ucx --enable-mpi1-compatibility CC=gcc CXX=g++ FC=gfortran

根因分析:
hcoll是HPCX特有的模块,openmpi不支持该模块,需要屏蔽

解决方案:
a.重新编译openmpi,将hcoll编译选项去除,或者
b.运行命令默认不走hcoll协议:
mpirun --allow-run-as-root -np 96 -mca coll ^hcoll -x OMP_NUM_THREADS=1 vasp_std 2>&1 | tee -a vasp.out
./configure --prefix=/path/to/OPENMPI --enable-pretty-print-stacktrace --enable-orterun-prefix-by-default --with-knem=/opt/knem-1.1.3.90mlnx1/ --with-hcoll=/opt/mellanox/hcoll/ --with-cma --with-ucx --enable-mpi1-compatibility CC=gcc CXX=g++ FC=gfortran
根因分析:
hcoll是HPCX特有的模块,openmpi不支持该模块,需要屏蔽
解决方案:
a.重新编译openmpi,将hcoll编译选项去除,或者
b.运行命令默认不走hcoll协议:
mpirun --allow-run-as-root -np 96 -mca coll ^hcoll -x OMP_NUM_THREADS=1 vasp_std 2>&1 | tee -a vasp.out