Slurm
“#”(註釋)是 SLURM 作業送出
該問題與Princeton Research Computing 的文章 Introducing SLURM有關。
例如,
#SBATCH --job-name=slurm-test # create a short name for your job
SBATCH
在第一個之後#
將被執行,create
在第二個之後#
將被視為註釋。這是因為第二個有空格#
嗎?我通常認為#
是評論。但在某些情況下,它確實會被執行。
#
用於在 bash 中發表評論,因此您不應my_job.slurm
使用./my_job.slurm
or執行,bash ./my_job.slurm
因為之後的所有內容#
都將被忽略。但是當你用 執行它時
sbatch
,它會辨識以 SBATCH 開頭的註釋作為參數。送出腳本是一個 shell 腳本,例如 Bash 腳本,其註釋(如果它們以 SBATCH 為前綴)被 Slurm 理解為描述資源請求和其他送出選項的參數。
使用 送出 SLURM 作業
sbatch
時,作業腳本中以確切字元串開頭的任何行都#SBATCH
將被視為作業調度程序的特殊處理指令。該字元串
#SBATCH
稱為“魔術餅乾”,必須作為行中的第一件事出現,和之間沒有#
空格SBATCH
。如果由
bash
其他常見的 POSIX shell 執行,這些行將被視為註釋並被完全忽略。
sbatch
從文件中不清楚是否普遍支持該行的進一步#
作為對目前#SBATCH
行發表評論的一種方式。如果#SBATCH
一行需要註釋,通常的做法是在該行上方的行上提供一個普通註釋,如### Job name #SBATCH --job-name=MYJOB
###
(除了使評論突出一點之外,三元組沒有什麼特別的意思)。也可以看看: