计算化学公社

标题: ORCA在超算集群上运行时openmpi报错求助 [打印本页]

作者
Author:
Strange    时间: 2022-8-23 20:36
标题: ORCA在超算集群上运行时openmpi报错求助
最近打算在学校的超算集群上使用ORCA,按照社长的教程装好了openmpi和ORCA。但在运行时报错,报错文件如附件所示。我感觉出错原因如下:
MPI_INIT has failed because at least one MPI process is unreachable
from another.  This *usually* means that an underlying communication
plugin -- such as a BTL or an MTL -- has either not loaded or not
allowed itself to be used.  Your MPI job will now abort.
You may wish to try to narrow down the problem;
* Check the output of ompi_info to see which BTL/MTL plugins are
   available.
* Run your application with MPI_THREAD_SINGLE.
* Set the MCA parameter btl_base_verbose to 100 (or mtl_base_verbose,
   if using MTL-based communications) to see exactly which
   communication plugins were considered and/or discarded.

之后尝试单核能正常运行无报错,输入文件应该没有问题,是openmpi在运行时有问题。

这是我的环境变量:
export PATH=/nfs-share/home/StudentID/openmpi411/bin:$PATH
export LD_LIBRARY_PATH=/nfs-share/home/StudentID/openmpi411/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/nfs-share/home/StudentID/orca_5_0_3
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/nfs-share/home/StudentID/orca_5_0_3

这是我的作业提交脚本(学校使用的是slurm作业调度系统):
#!/bin/bash
#SBATCH -o %j.%N.out
#SBATCH --partition=compute
#SBATCH --qos=normal
#SBATCH --get-user-env
#SBATCH --nodes=1
#SBATCH --ntasks=32
#SBATCH --cpus-per-task=1
#SBATCH --time=48:00:00
/nfs-share/home/StudentID/orca_5_0_3/orca test.inp > test.out

如有知道如何解决的希望能告诉我一下,非常感谢!

作者
Author:
abin    时间: 2022-8-23 23:14
你的贴文提到的export行,
放在作业脚本。

报告测试结果。
作者
Author:
Strange    时间: 2022-8-24 00:00
abin 发表于 2022-8-23 23:14
你的贴文提到的export行,
放在作业脚本。

报错与之前无差别
作者
Author:
highlight    时间: 2022-8-24 09:08
http://bbs.keinsci.com/thread-30105-1-1.html
作者
Author:
Strange    时间: 2022-8-24 09:21
highlight 发表于 2022-8-24 09:08
http://bbs.keinsci.com/thread-30105-1-1.html

我之前已经试过该方法了,export OMPI_MCA_btl_openib_allow_ib=1可以解决“By default, for Open MPI 4.0 and later, infiniband ports on a deviceare not used by default.  The intent is to use UCX for these devices.
You can override this policy by setting the btl_openib_allow_ib MCA parameterto true.”这个提示,但解决不了我后面这段。ORCA是自己调用openmpi,所以“--mca btl '^openib'”试不了
作者
Author:
abin    时间: 2022-8-24 09:24
Strange 发表于 2022-8-24 00:00
报错与之前无差别

如果确认你的操作没有错误的话,
那是你的MPI不兼容某些高端设备,比如高速IB卡。

如果你的集群有singularity ,可以试试我提供的开箱即用的方案。

否则,你自己调试编译MPI,
或者让你的管理员或者技术支持,重新配置MPI。
作者
Author:
Strange    时间: 2022-8-24 09:54
abin 发表于 2022-8-24 09:24
如果确认你的操作没有错误的话,
那是你的MPI不兼容某些高端设备,比如高速IB卡。

好的,我去联系集群管理员试一下,谢谢!
作者
Author:
LittlePupil    时间: 2022-8-24 23:14
Strange 发表于 2022-8-24 09:21
我之前已经试过该方法了,export OMPI_MCA_btl_openib_allow_ib=1可以解决“By default, for Open MPI 4. ...

事实上ORCA手册里有写怎么给OpenMPI传递参数,直接加“--mca btl '^openib'”确实不行,但用比如
  1. $orcapath/orca test.inp > test.out "--mca btl_openib_allow_ib true"
复制代码

命令是可以的。

不过很遗憾,对于你的问题,或许只能尝试自己编译MPI或者联系集群管理员,祝好。
作者
Author:
Strange    时间: 2022-8-28 17:18
本帖最后由 Strange 于 2022-8-28 17:21 编辑

后续:在超算管理员的指导下,提交脚本加上
  1. "--mca btl tcp,self"
复制代码

成功解决了问题。也谢谢各位的建议与帮助!




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3