機能なしで SLURM を使用する

機能なしで SLURM を使用する

私のスーパーコンピュータに次の機能を含むNODELISTがあるとしましょう。

NODELIST      FEATURES
NodeA         (none)  
NodeB         specialfeature

この機能があるかどうかにかかわらず、specialfeatureパフォーマンスをベンチマークしようとしています。ランニング性能を測定するのはspecialfeature使いやすいです。ただ電話しました。

sbatch --constraint="specialfeature" mybenchmarktest.exe

specialfeature上記は、関数を含むノード(ノードBなど)で実行が行われることを保証します。しかし、specialfeature問題が発生せずにベンチマークを実行したい場合。呼ぶ

sbatch mybenchmarktest.exe

SLURM が NodeA または NodeB でマイタスクを実行できることを意味します。これは、私のベンチマークが私が望む結果を測定できない可能性があることを意味します。

機能なしでプロセスを実行させる方法はありますか?私は次のような呼び出しを想像しています:

sbatch --contraint="!specialfeature" mybenchmarktest.exe

注:このマイナーなケースでは、NodeA(該当する機能を持たないノード)で実行するように要求できますが、SLURMに「これらの機能を使用しないでください」と知らせるより一般的な方法を探しています。 」。

ベストアンサー1

現在(バージョン15.8に基づく)この方法で機能を拒否する方法はありません。唯一の方法は、次の方法で補足機能を定義することです。

NODELIST      FEATURES
NodeA         nospecialfeature  
NodeB         specialfeature

次に、を使用して1つのジョブを送信し、次にを使用して別--constraint=specialfeaturesのジョブを送信します--constraint=nospecialfeature

構成を変更できない場合、別のオプションは、次の構造を使用して許可されているホストのリストを手動で作成することです。

sinfo -h --format "%N %f" | grep specialfeature  |\
   awk '{print $1}' | paste -d, -s | xargs scontrol show hostlist

--nodelistオプションで結果を使用してください。自由に組み合わせてgrepリストを作成します。

おすすめ記事