私は最近slurmに切り替えてqsubのように動作するジョブ送信ツールを探しています。
- パイプを介して入力を受け取ります。
- 出力を標準出力に印刷します。
例:
for n in `seq 1 10`; do
echo "echo $n" | qsub
done
各echoコマンドはクラスタに送信され、出力は1..10(おそらくランダムな順序)でなければなりません。
これまではできます。
- sbatchを使用してジョブを並列に送信しますが、出力がstdoutに出力されるかどうかわからない
- 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 {}'