视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
PBS 脚本实例说明
2025-09-22 17:30:57 责编:小OO
文档
PBS 脚本实例说明

【摘要】本文主要通过一个算例来详细描述 PBS 脚本。以下为提交 wrf 作业的脚本实例,解释说明部分用##开头和结尾。此 PBS脚本表明本次提交的作业申请计算资源为 2 个计算节点,每个计算节点 12 个 cpu 核,内存为 24G,其中红色部分,用户可根据具体需要进行修改。

#PBS -N wrf

##(#PBS 表示 PBS 指令,以#PBS 开头;-N 为 PBS 指令参数,用于指定提交作业名称,wrf 表示作业名)。##

#PBS -l nodes=2:ppn=12

##(#PBS 表示 PBS 指令,-l 为 PBS 指令参数,表示申请资源列表;nodes=2:ppn=12 表示申请 2 个节点,每个节点 12 个 cpu 核,之间用分号隔开。注意与输入文件保持一致)##

#PBS -j oe

##(#PBS 表示 PBS 指令,-j 为 PBS 指令参数,表示合并标准输出和标准错误输出至同一个文件;o 表示标准输出文件的路径,e 表示标准错误输出的路径,缺省的情况下,PBS 系统把标准输出和标准错误输出放在用户提交作业的目录下。)##

#PBS -l walltime=1000:00:00

##(#PBS 表示 PBS 指令,-l 为 PBS 指令参数,表示申请资源列表;walltime 为估计最大运算时间,1000:00:00 表示设为 1000 小时 0 分 0 秒。若没有设置这项,系统会自动按所在队列默认处理,超时系统会自动中断作业。)##

nodecpu=`cat /proc/cpuinfo|grep processor|wc -l`

## (反引号内的意思为计算系统可用的 cpu 核数目,然后赋值给变量 nodecpu。反引号即键盘左上角与“~”在同一键上的符号,英文为 Backquote)##

id=`echo $PBS_JOBID|awk -F. '{print $1}'`     ##(定义作业 ID 号)##

NP=`cat $PBS_NODEFILE|wc -l`                    ##(计算申请的 cpu 核数目,并后赋值给变量 NP)##

echo "The Jobbed is $id"

echo "Worker dir is $PBS_O_WORKDIR"

echo "Excuting Hosts is flowing:"

cat $PBS_NODEFILE

echo "begin time is `date`"

if [ $NP -lt $nodecpu ];then

sharecpu=$NP

elif [ $(($NP%$nodecpu)) == 0 ];then

sharecpu=$nodecpu

else

echo "Error: if cpu number is larger than $nodecpu,

it should can be divided by $nodecpu exactly !!"

exit -1

    

fi

##(这段为 if...elif; then 选择语句,意思是当所需的 cpu 核个数小于系统可调用的 cpu 核数时,调用计算所需的 cpu 核个数。否则......)##

cd $PBS_O_WORKDIR   ## (进入工作目录) ##

mpirun -np $NP  -hostfile $PBS_NODEFILE (绝对路径)/ wrf.exe下载本文

显示全文
专题