计算化学公社

标题: orca如何跨节点并行运算 [打印本页]

作者
Author:
498746012    时间: 2021-4-5 23:20
标题: orca如何跨节点并行运算
各位老师好,学生几乎没有什么编程基础以及orca也是刚开始用,现在用slurm脚本可以同一个节点内并行,但是跨节点并行一直无法实现,希望老师可以多多指点一下如何实现跨节点并行,如下是slurm脚本

#!/bin/bash
#
#SBATCH --nodes=3               # allocate 1 nodes for the job
#SBATCH --ntasks-per-node=3     # allocate 20 cores for the job
#SBATCH --time=72:00:00
#SBATCH -o output.%J.out # the file to write stdout for job
#SBATCH -e output.%J.err # the file to write stderr for job
#SBATCH --job-name=a.inp

input=a.inp

jobname=$(echo "${input%.*}")

# start
export PATH=$PATH:/home/guojd/openmpi313/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/guojd/openmpi313/lib
export PATH=$PATH:/home/guojd/orca421
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/guojd/orca421
export RSH_COMMAND="ssh -x"

scratch="/tmp/$USER/$SLURM_JOB_ID"

if [ ! -d $scratch ]; then
    mkdir -p $scratch
fi

export GAUSS_SCRDIR=$scratch

# run Gaussian 09
time /home/guojd/orca421/orca $input 2>&1 | tee $jobname.out

if [ -f $scratch/*.chk ]; then
    cp $scratch/*.chk $SLURM_SUBMIT_DIR
fi

rm -rf $scratch

作者
Author:
abin    时间: 2021-4-6 18:40
本帖最后由 abin 于 2021-4-6 18:41 编辑

复制代码
(, 下载次数 Times of downloads: 74)
我的机器, ORCA运行中。
2节点,每一个节点18核心。

#SBATCH --time=720:00:00   # walltime
#SBATCH --ntasks-per-node=18
#SBATCH --nodes=2  # number of nodes
#SBATCH -J "orca-2nodes"   # job name


作者
Author:
498746012    时间: 2021-4-6 20:25
abin 发表于 2021-4-6 18:40
我的机器, ORCA运行中。
2节点,每一个节点18核心。

老师您好,我按照您说的还是只能一个节点算,虽然队列显示两个节点在算,但是进入到计算节点top发现只有一个在算,老师能问一下slurm脚本中需要加入export RSH_COMMAND="ssh -x"吗?希望老师多指点一下,学生没有编程的基础
作者
Author:
abin    时间: 2021-4-6 20:43
498746012 发表于 2021-4-6 20:25
老师您好,我按照您说的还是只能一个节点算,虽然队列显示两个节点在算,但是进入到计算节点top发现只有 ...

问题比较复杂,
可能取决于集群设定以及并行环境。

remote那一行,是非必需的。
不过可以添加试试。

可能也与并行网络有关系,
也就是和硬件相关。

多测试几次,应该可以搞定。

作者
Author:
498746012    时间: 2021-4-6 20:44
abin 发表于 2021-4-6 18:40
我的机器, ORCA运行中。
2节点,每一个节点18核心。

老师打扰了,我用两个节点算的交作业命令是sbatch orca.slurm这样对吗?
作者
Author:
498746012    时间: 2021-4-6 20:49
abin 发表于 2021-4-6 20:43
问题比较复杂,
可能取决于集群设定以及并行环境。

谢谢老师
作者
Author:
abin    时间: 2021-4-6 20:57
498746012 发表于 2021-4-6 20:44
老师打扰了,我用两个节点算的交作业命令是sbatch orca.slurm这样对吗?

我只能说,你试试看。

集群不是我做的,
我不晓得具体的sbatch是否被修改到其他地方了,所以无法判定。

写好脚本, 也可以qsub XXX来处理呀。

和后缀名 没啥关系。
作者
Author:
498746012    时间: 2021-4-6 21:07
abin 发表于 2021-4-6 20:57
我只能说,你试试看。

集群不是我做的,

谢谢老师
作者
Author:
abin    时间: 2021-4-7 15:23
(, 下载次数 Times of downloads: 93)

先看图,我的机器可以运行。
采用的是E5-2686v4双路,4机器10G互联。
可以正常进行4节点x36核心合计144核心并行计算。

设定步骤来自于ORCA的手册。
无需手动设定BaseName.nodes文件。

主要问题在于读写方面,ORCA需要频繁读写,需要本地读写支持的。否则计算死翘翘。

如果你的机器具有IB网络,编译openMPI需要确认对于IB的支持。


作者
Author:
498746012    时间: 2021-4-7 22:22
abin 发表于 2021-4-7 15:23
先看图,我的机器可以运行。
采用的是E5-2686v4双路,4机器10G互联。
可以正常进行4节点x36核心合计 ...

谢谢老师,感恩




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