PBS ベースのクラスターでいくつかの CFD シミュレーションを実行しています。多数のケースを実行するため、クラスター ノードで前処理を行いたいと考えています。2 つのステップを実行する必要があります。最初にメッシングを行い、メッシングが終了したら、メッシュ パーティショニング ルーチンを実行します。手作業を避けるために、pbs ジョブスクリプトでこれをプログラムしたいと思います。
以下を実行することで、すべてのケースのメッシングを並行して実行できます。
#!/usr/bin/env bash
#PBS -q regular
#PBS -l nodes=1:ppn=8
#PBS -N prep_tst_2
#PBS -l walltime=6:00:00
cd $PBS_O_WORKDIR
hexp -batch -project tst_1.igg &
hexp -batch -project tst_2.igg &
hexp -batch -project tst_3.igg &
hexp -batch -project tst_4.igg &
hexp -batch -project tst_5.igg &
hexp -batch -project tst_6.igg &
hexp -batch -project tst_7.igg &
hexp -batch -project tst_8.igg &
#End of script
ここで、hexp はメッシング プログラムです。
次のコマンドを実行して、メッシング タスクを実行した後、パーティショニングを実行することもできます。
hexp -batch -project tst_1.igg ; partit -batch -project tst_1.igg
しかし、どうすれば2つを組み合わせることができますか? tst_1.igg のメッシュ化が終了すると、他のインスタンスのステータスに関係なく tst_1.igg の分割が続行されるように、最後のコマンドの 8 つのインスタンスを並列で実行したいと考えています。
よろしく、アダム