计算化学公社

 找回密码 Forget password
 注册 Register
Views: 23533|回复 Reply: 5
打印 Print 上一主题 Last thread 下一主题 Next thread

[VASP] VASP如何构建pbs任务脚本

[复制链接 Copy URL]

1

帖子

0

威望

9

eV
积分
10

Level 1 能力者

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 天空之城 于 2017-10-21 22:50 编辑

   请教一下如果写vasp的pbs任务脚本
谢谢

6

帖子

0

威望

96

eV
积分
102

Level 2 能力者

6#
发表于 Post on 2017-10-29 18:55:30 | 只看该作者 Only view this author
学习一下

7

帖子

0

威望

33

eV
积分
40

Level 2 能力者

5#
发表于 Post on 2017-10-28 15:20:05 | 只看该作者 Only view this author
简单地给一个例子。方括号【】内的内容(包括方括号【】)仅仅是解释说明,不要一起复制到提交的脚本xxx.PBS中。

【开始。test1.pbs】
#!/bin/bash -x
#PBS -N VASP_TEST 【这一行用来给提交的作业起个名字,比如叫VASP_TEST】
#PBS -l nodes=2:ppn=8 【这一行指定运行使用的cpu核心数。现在的设定是使用2个包含8个cpu核心的节点,共16和cpu核心。也可以写成比如nodes=node5:ppn=8+node2:ppn=8这样,指定在node5和node2上运行,每个node用8个核心】
#PBS -j oe
#PBS -q normal 【这行表示把作业提交到normal队列】  
#define variables

echo $PBS_O_WORKDIR
NCPUS=`wc -l $PBS_NODEFILE | awk '{print $1}'`
echo $NCPUS

【前面这些用来设定提交作业的参数等,下面开始执行脚本】
#
#running jobs
#

【设定作业路径等参数。此处默认所需环境变量已经在~/.bashrc中设置好了。如果需要设定环境变量,也可以直接写在下面,比如export PATH=XXX之类的】
cd $PBS_O_WORKDIR
#
MPI=/public/software/intel/intel_2015_update6/impi_latest/intel64/bin/mpirun
VASP=~/username/vasp.5.4.1.vtst/bin/vasp_std
runvasp="$MPI -np $NCPUS -machinefile $PBS_NODEFILE $VASP"
logfile=runlog

【以下开始执行vasp。和bash命令相同】

$runvasp > runlog

for i in 01 02
do
cd $i
$runvasp > test_$i
done

【结束】

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
wangyj + 3 谢谢

查看全部评分 View all ratings

343

帖子

1

威望

7000

eV
积分
7363

Level 6 (一方通行)

4#
发表于 Post on 2017-10-22 00:02:44 | 只看该作者 Only view this author
以上两个脚本是单位超算中心使用的,希望对你有所帮助!

评分 Rate

参与人数
Participants 2
eV +6 收起 理由
Reason
obaica + 4
sobereva + 2

查看全部评分 View all ratings

343

帖子

1

威望

7000

eV
积分
7363

Level 6 (一方通行)

3#
发表于 Post on 2017-10-22 00:01:43 | 只看该作者 Only view this author
#!/bin/bash
#========================================#
# PBS Job submission script for VASP
#========================================#
# 1. PBS job control

#PBS -S /bin/bash
#PBS -N vasp5.2
#PBS -j oe
#PBS -q Acb65
#PBS -l nodes=1:ppn=12
##PBS -l walltime=00:30:00
#PBS -V

#========================================#
# 2. Job specification

cd ${PBS_O_WORKDIR}


inputfile="INCAR"

#========================================#
# 3. Integrity check
export LANG=C
source /public/software/profile.d/intel-env.sh
source /public/software/profile.d/impi-env.sh
export I_MPI_DEVICE=rdssm
export I_MPI_PIN=off

echo
echo "Starting VASP run at" `date`
echo
master=`hostname`
echo "The job submission node is $master"
echo "The working directory is " ${PBS_O_WORKDIR}

echo "VASP input file is" ${PBS_O_WORKDIR}/${inputfile}


#========================================#
# 4. Parallel execution
# make sure to use serial math lib
export MKL_SERIAL=YES
export MKL_NUM_THREADS=1
export OMP_NUM_THREADS=1
export GOTO_NUM_THREADS=1

echo
echo "VASP execution start at" `date`
echo

## Show system info
hostname > host.info
grep 'Linux' /etc/issue >> host.info
grep 'model name' /proc/cpuinfo |cut -d: -f2 |uniq -c >> host.info
grep 'cpu M' /proc/cpuinfo >> host.info
grep 'MemTotal' /proc/meminfo >> host.info
free -g >> host.info
ulimit -a >> host.info
cat $PBS_NODEFILE >> host.info

if [ -z "`grep AuthenticAMD /proc/cpuinfo`" ];then
export vasp_exe=/public/software/vasp/vasp5.2.12-impi-em64t-sca
else
export vasp_exe=/public/software/vasp/vasp5.2.12-impi-amd64-sca
fi

echo The VASP version is ${vasp_exe} >> host.info

PROCS=`cat $PBS_NODEFILE | wc -l`
qstat -n $PBS_JOBID|awk -F+ '(NR>6) {for(i=1;i<=NF;i++) print $i}'|awk '(NF>0) {print $1}'|awk -F'/' '{printf("-n 1 -host %s numactl --localalloc --physcpubind %d %s\n",$1,$2,ENVIRON["vasp_exe"])}' > impi.${PBS_JOBID}

for NP in $PROCS;
do

  ## for Intel MPI ##
  mpirun -r ssh -configfile impi.${PBS_JOBID} >& $NP.log
  mv OUTCAR $NP.OUTCAR

#  ## delete useless file ##
#  rm -f CHG
#  rm -f CHGCAR
#  rm -f CONTCAR
#  rm -f DOSCAR
#  rm -f EIGENVAL
#  rm -f OSZICAR
#  rm -f PCDAT
#  rm -f vasprun.xml
#  rm -f WAVECAR
#  rm -f XDATCAR
done

343

帖子

1

威望

7000

eV
积分
7363

Level 6 (一方通行)

2#
发表于 Post on 2017-10-22 00:01:12 | 只看该作者 Only view this author
#!/bin/bash
#========================================#
# PBS Job submission script for VASP
#========================================#
# 1. PBS job control

#PBS -S /bin/bash
#PBS -N vasp4.6
#PBS -j oe
#PBS -q Acb65
#PBS -l nodes=1:ppn=12
##PBS -l walltime=00:30:00
#PBS -V

#========================================#
# 2. Job specification

cd ${PBS_O_WORKDIR}


inputfile="INCAR"

#========================================#
# 3. Integrity check
export LANG=C
source /public/software/profile.d/intel-env.sh
source /public/software/profile.d/impi-env.sh
export I_MPI_DEVICE=rdssm
export I_MPI_PIN=off

echo
echo "Starting VASP run at" `date`
echo
master=`hostname`
echo "The job submission node is $master"
echo "The working directory is " ${PBS_O_WORKDIR}

echo "VASP input file is" ${PBS_O_WORKDIR}/${inputfile}


#========================================#
# 4. Parallel execution
# make sure to use serial math lib
export MKL_SERIAL=YES
export MKL_NUM_THREADS=1
export OMP_NUM_THREADS=1
export GOTO_NUM_THREADS=1

echo
echo "VASP execution start at" `date`
echo

## Show system info
hostname > host.info
grep 'Linux' /etc/issue >> host.info
grep 'model name' /proc/cpuinfo |cut -d: -f2 |uniq -c >> host.info
grep 'cpu M' /proc/cpuinfo >> host.info
grep 'MemTotal' /proc/meminfo >> host.info
free -g >> host.info
ulimit -a >> host.info
cat $PBS_NODEFILE >> host.info

if [ -z "`grep AuthenticAMD /proc/cpuinfo`" ];then
export vasp_exe=/public/software/vasp/vasp4.6.35-impi-em64t-sca
else
export vasp_exe=/public/software/vasp/vasp4.6.35-impi-amd64-clc
fi

echo The VASP version is ${vasp_exe} >> host.info

PROCS=`cat $PBS_NODEFILE | wc -l`

qstat -n $PBS_JOBID|awk -F+ '(NR>6) {for(i=1;i<=NF;i++) print $i}'|awk '(NF>0) {print $1}'|awk -F'/' '{printf("-n 1 -host %s numactl --localalloc --physcpubind %d %s\n",$1,$2,ENVIRON["vasp_exe"])}' > impi.${PBS_JOBID}

for NP in $PROCS;
do

  ## for Intel MPI ##
  mpirun -r ssh -configfile impi.${PBS_JOBID} >& $NP.log
  mv OUTCAR $NP.OUTCAR

#  ## delete useless file ##
#  rm -f CHG
#  rm -f CHGCAR
#  rm -f CONTCAR
#  rm -f DOSCAR
#  rm -f EIGENVAL
#  rm -f OSZICAR
#  rm -f PCDAT
#  rm -f vasprun.xml
#  rm -f WAVECAR
#  rm -f XDATCAR
done

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-26 00:45 , Processed in 0.220926 second(s), 28 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list