私はSLURMを使っていくつかのコンピューティングクラスタを使用していましたが、それは-ntasks
または-n
でした。それ(http://slurm.schedmd.com/sbatch.html)のために、私は明らかにドキュメントを読んでいる:SLURMで--ntasksまたは-nタスクは何をしますか?
sbatchは、タスクを起動しない、それは資源 の割り当てを要求し、バッチスクリプトを提出します。このオプションは、Slurmコントローラ に、割り当て内で実行されるジョブステップが最大で 個のタスクを起動し、十分なリソースを提供することを通知します。デフォルトはノードあたり1つのタスクが ですが、 - per-taskオプションは になります。私はそれが何を意味するのか理解していない特定の部分がある
:割り当て内
ラン数タスクの最大を起動し、 十分なリソースを提供するために。
私はいくつかの質問があります:
- 私は私の最初の質問は何を単語が「タスク」を意味すると差がSLURMの文脈で単語「仕事」であるんだと思いますが。私は通常ジョブを
sbatch my_batch_job.sh
のようにsbatchでbashスクリプトを実行するものと考えています。どのようなタスクが意味するのか分からない。 - もし私が仕事と単語を同じにするなら、それは
-n, --ntasks=<number>
への引数に従って、同じ同じbashスクリプトを何度も実行したと思いました。しかし、私は明らかにそれをクラスタでテストしたところ、を--ntask=9
で実行し、sbatchがstdoutに9回エコーを返すと予想していました(これはslurm-job_id.out
で収集されましたが、驚いたことに、echo helloスクリプトこのコマンドは、さらに何をするのでしょうか?何もしないか、やっていると仮定いただきました!少なくとも私が見ることができないようです。
私は-a, --array=<indexes>
オプションは、複数のジョブのために存在を知っています。それは異なっています私は単に--ntasks
が何をするかを知りたいと思っています。理想的には、私がクラスタでテストできるように例を挙げてください。