私は3つのノードを持つバックグラウンドで多数のcsce.pyインスタンスを実行しようとする以下のコミットスクリプトを持っています。ラップトップは通常、すべてのバックグラウンドタスクをコアの16に自動的に展開することに成功します。 .. しかし、4 * 13 * 9タスクがクラスタ内の3つのノード(48コア)に自動的に分散されるかどうかはわかりません。
#!/bin/bash
#SBATCH -N 3 # Total number of nodes requested (16 cores/node)
#SBATCH -n 48 # Total number of mpi tasks requested
for simplify in 0.1 0.15 0.2 0.25
do for lmbda in 0.5 1 2 5 10 20 50 100 200 500 1000 2000 5000
do for mu in 0.005 0.01 0.05 0.1 0.5 1 5 10 50
do rm eci.out
csce.py --mu $mu --lmbda $lmbda --simplify $simplify --favor-low-energy 0.01 --bias-stable --save-energies lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_ce-energies.dat --save-weights lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_ce-weights.dat --casm-eci-file eci.in lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_eci.out --save-hull lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_ce-hull.dat --preserve-ground-state 10000 2> lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_error 1> lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_output &
done
done
done
wait
ベストアンサー1
いいえ、複数のノード(マシン)がある場合は何も利用できず、すべてがこのスクリプトを実行しているマシンで実行されます。
&
行の終わりには、csce.py
現在のコンピュータのバックグラウンドでのみタスクが実行されます。したがって、この設定を使用すると、現在のマシンで4x12x9ジョブを並列に実行できます。
GNU並列サポートリモート実行、これを行うには、他のコンピュータへの自動アクセスを設定し、入力データにアクセスする方法を検討する必要があります(すべてのコンピュータが共有する共有ボリュームに保存されていない場合はデータをコピーする必要があります)。処理してください)。