slurm クラスターに対する qsub と同様の動作

slurm クラスターに対する qsub と同様の動作

私は最近slurmに切り替えてqsubのように動作するジョブ送信ツールを探しています。

  1. パイプを介して入力を受け取ります。
  2. 出力を標準出力に印刷します。

例:

for n in `seq 1 10`; do 
    echo "echo $n" | qsub
done

各echoコマンドはクラスタに送信され、出力は1..10(おそらくランダムな順序)でなければなりません。

これまではできます。

  1. sbatchを使用してジョブを並列に送信しますが、出力がstdoutに出力されるかどうかわからない
  2. srunを使ってジョブを送信すると、順番に1つずつ動作します。

どんな提案がありますか?

答え1

テストされていません:

seq 10 | parallel -j0 -q srun 'echo begin {};sleep 0.{};echo done {}'

動作している場合は、--keep-order出力を正しい順序で維持するために使用します。

seq 10 | parallel -j0 -q --keep-order srun 'echo begin {};sleep 0.{};echo done {}'

関連情報