Gaussian的跨节点并行

一. 前言

在《教程如何在Linux下安装Gaussian 16》里详细讨论了如何安装Gaussian 16,并通过作业管理系统PBS、LSF来提交Gaussian作业。

如果您的Gaussian 16或Gaussian 09是带Linda的,则支持跨节点并行。本文的主要目的是描述如何在PBS队列管理系统里通过Linda实现跨节点并行。其它的作业管理系统与此类似,您可以举一反三。

二. 准备工作

软件的安装

与不带Linda的Gaussian一样,详见《教程如何在Linux下安装Gaussian 16》。需要强调的是,并没有独立的Linda软件:只有带Linda的Gaussian或不带Linda的Gaussian。因此,你只要安装Gaussian就可以了。如过您的光盘有withLinda”的字样(见图1),则表示这是带Linda的Gaussian;如果没有,则不支持跨节点并行。

图1. 支持跨节点的Gaussian后面带个with Linda

Gaussian作业的准备

同单核心作业一样,比如作业文件demo.com:

--这里开始----

%chk=demo.chk

%Mem=24GB

#P APFD/6-311+g(2d,p) Opt integral(ultrafinegrid)

Structure: demo APFD/6-311+(2d,p) Opt

0 1

C -0.01670 1.38310 0.00960

C 1.17080 2.08890 0.00210

C 2.37740 1.41390 -0.01300

C 2.39880 0.03140 -0.02070

C 1.21410 -0.67890 -0.01320

C 0.00210 -0.00410 0.00200

O -1.16480 -0.70070 0.00990

H -0.95890 1.91070 0.02600

H 1.15670 3.16880 0.00770

H 3.30470 1.96750 -0.01930

H 3.34260 -0.49350 -0.03290

H 1.23130 -1.75880 -0.01950

H -1.49390 -0.90670 0.89550

--这里结束----

3. 环境变量的设置

见《教程如何在Linux下安装Gaussian 16》,鉴于要跨节点并行,需要设定跨节点的通讯协议。本文假设您的集群系统是通过ssh协议进行访问,则在环境变量(写在一个文件g16_env.sh)里设置如下:

#----从这里开始复制---

export g16root=~

export GAUSS_SCRDIR=$g16root/tmp

export GAUSS_LFLAGS="-vv -opt 'Tsnet.Node.lindarsharg: ssh'"

. $g16root/g16/bsd/g09.profile

#----到这里结束复制---

注意:不要忽略空格、“.”等符号,大小写区分。其中Gauss_LFLAGS行告诉Gaussian节点间通过ssh协议访问。

4. PBS作业脚本的准备

假设您的用户名为zdtest,你在您的HOME里安装了Gaussian 16,并且在demo目录里有个Gaussian作业叫test0397.com。假定您要通过PBS向系统请求2个计算节点、每个节点12个核心的计算资源进行计算。则典型的PBS脚本如下:

---------这里开始---------

#输出日志与错误日志

#PBS -o /home/zdtest/demo/test0397_pbs.log

#PBS -e /home/zdtest/demo/test0397_pbs.err

#请求计算资源

#请咨询您的系统管理员具体权限与方式

#PBS -l nodes=2:ppn=12

# 启用环境变量,第3步准备好的

source /home/zdtest/g16_env.sh

# 切换到当前工作目录

# cd $PBS_O_WORKDIR

cd /home/zdtest/demo

#下面一行(不要分为多行)是获取PBS请求到的计算节点

#并告诉Linda:我要在这些节点上进行并行计算

export GAUSS_WDEF="$(cat $PBS_NODEFILEsortuniqawk '' sed 's/,$//')"

#设定每节点SMP并行核心数

export GAUSS_PDEF="12"

#运行Gaussian作业

$g16root/g16/g16 test0397.com

-----到这里结束------

注意: 空格、“.”、“/”,“$”都是有用的,要区分大小写!

假设上述作业保存为:foo.pbs

5. 提交PBS作业,

qsub foo.pbs

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180131G0RBF100?refer=cp_1026

相关快讯

扫码关注云+社区