在SLURM,我可以很容易地在我的作業腳本指定日誌文件:SLURM:保存作業腳本
#SBATCH --output=logs/output-%j
#SBATCH --error=logs/error-%j
現在,我使用的是編程產生jobscript。每當我提交一份工作時,我都想將該工作記錄保存爲logs/jobscript-%j
。
我該怎麼做?(主要難度似乎是%j
。)
在SLURM,我可以很容易地在我的作業腳本指定日誌文件:SLURM:保存作業腳本
#SBATCH --output=logs/output-%j
#SBATCH --error=logs/error-%j
現在,我使用的是編程產生jobscript。每當我提交一份工作時,我都想將該工作記錄保存爲logs/jobscript-%j
。
我該怎麼做?(主要難度似乎是%j
。)
在您的運行中,$SLURM_JOB_ID
爲您提供工作編號,%j
。
當您提交作業時,Slurm以作業ID作出響應。因此,在Bash變量中捕獲該輸出(Slurm的較新版本使選項--parsable
更容易),並使用mv
將提交腳本重命名爲所需;例如
JOBID=$(sbatch --parsable <name of submission script>)
mv <name of submission script> logs/jobscript-$JOBID
你可能想看看[此的其他問題(https://stackoverflow.com/questions/43944543/slurm-job-knowing-what-node-it-is-on/)和在你的腳本中做類似的事情。 – AndresM