クラスタにジョブを送信するためのコード

クラスタにジョブを送信するためのコード

次のコードを使用してクラスタにジョブを送信していますが、このコードが何を意味するのかわかりません。可能であれば、誰かが次のコードの意味を1行ずつ説明できますか?

#!/bin/bash
#PBS -N NAME_OF_JOB
#PBS -l nodes=1:ppn=20
#PBS -l matlab_user=1
#PBS -l matlab_lic=20
#PBS -l min_walltime=1:00
#PBS -q small
#PBS -S /bin/bash
##PBS -V
##PBS -m abe
#PBS -j oe
#
cd $PBS_O_WORKDIR
cat $PBS_NODEFILE
export PATH=/opt/software/matlabr2014a/mdcs/bin:$PATH
matlab -nodisplay -r "code1" -logfile code1.log

ありがとう

答え1

可能であれば、誰かが次のコードの意味を1行ずつ説明できますか?

「#PBS」で始まるコマンドは、Summit Explorer のバッチ操作のガイドラインです。 PBSのドキュメントを知らせるクラスタ管理者が必要です。あるいは、インターネットで見つけたものは次のとおりです。https://rcc.its.psu.edu/user_guides/system_utilities/pbs/#overview

他の行は次のとおりです。

cd $PBS_O_WORKDIR

環境変数 $PBS_O_WORKDIR で定義されたディレクトリに変更します。

cat $PBS_NODEFILE

環境変数$PSB_NODEFILEで定義された名前のファイルを画面に印刷します。

export PATH=/opt/software/matlabr2014a/mdcs/bin:$PATH

/opt/software/matlabr2014a/mdcs/bin ディレクトリ (おそらく matlab 実行可能ファイルがある場所) を含むように $PATH 変数 (システムが実行可能ファイルを探している場所) を更新します。

matlab -nodisplay -r "code1" -logfile code1.log

MATLABを実行すると、関数またはサブルーチン「code1」が実行され、出力がログファイル「code1.log」に送信されます。

答え2

このコマンドはジョブ・スケジューラーによって使用されます。いくつかの形式がありますが、これは私が非常に慣れているトルク形式のようです。

トルク -http://docs.adaptivecomputing.com/torque/5-1-0/help.htm

これはTorque 5ドキュメントです。 2.x、4.x、または5.xを実行している可能性があります。 http://docs.adaptivecomputing.com/torque/5-1-0/help.htm#topics/torque/commands/qsub.htm?Highlight=-m%20abe

#PBS -N NAME_OF_JOB => Sets a name that can be identified in `qstat` or `checkjob`
#PBS -l nodes=1:ppn=20 => Requests 20 tasks, (1 node with 20 processors, 2 nodes with 10 processors ect...)
#PBS -l matlab_user=1 
#PBS -l matlab_lic=20 
#PBS -l min_walltime=1:00 => The job should run for at least 1 minute
#PBS -q small => => queue or class you administrator has configured
#PBS -S /bin/bash => Shell to use
##PBS -V => Commented out, exports environment variables to batch job
##PBS -m abe => Commented out, specifies when mail should be sent (abort, begin, end)
#PBS -j oe => Combine stdout and stderror into one directory

cd $PBS_O_WORKDIR => Environment variable of where the job runs
cat $PBS_NODEFILE => prints out the output of the spool. 

関連情報