超算作业例子

#!/bin/bash
#https://blog.csdn.net/qianyun6/article/details/4871343
#PBS -N gputest
#PBS -l nodes=2:ppn=36  申请2个节点,每个节点36个处理器
#PBS -l walltime=240:00:00
#PBS -q low
#PBS -j oe
cd $PBS_O_WORKDIR  
#$PBS_O_WORKDIR是一个环境变量
#modify the input file
INPUT=222.m #你要执行的主程序的名字
#do not change the line bellow
OLDDIR=`pwd`
#执行pwd命令,并把命令结果放在OLDDIR变量里面,也就相当于把#当前目录路径放到变量里面保存.
cp $INPUT .$PBS_JOBID.input.m  #将输入文件拷贝到指定位置
EXEC_HOST=`head -n 1 $PBS_NODEFILE`  
#执行head -n 1 命令,该命令查看 $PBS_NODEFILE状态,并把结#果送到EXEC_HOST变量保存
NP=`cat $PBS_NODEFILE | wc -l`
#执行cat $PBS_NODEFILE打印命令,并把结果通过"管道"传给
#wc -l 命令,该命令统计文件行数

sed -i "s/numpar/$NP/g" .$PBS_JOBID.input.m
#sed -i 就是直接对文本文件进行操作的
#s/numpar/$NP/g是正则表达式,也就是sed 执行的操作
#.$PBS_JOBID.input.m是sed操作的文件

ssh $EXEC_HOST "cd $OLDDIR ;
#ssh登陆,并切换到 $OLDDIR目录
/public/software/matlab/2017Ra/bin/matlab  -nodisplay < .$PBS_JOBID.input.m"

#启动matlab
rm -rf .$PBS_JOBID.input.m
#删除输入作业

猜你喜欢

转载自blog.csdn.net/yanlizhong62/article/details/85200988