コンピューティング クラスターで実行されている非常に並列 (bash) スクリプトがあります。このスクリプトはシェル スクリプトであり、どの MPI ライブラリにもリンクされていません。これは、MPI ランクをそれに送信できる唯一の方法は、コマンド ライン パラメーターを使用することです。
これまでのところ、単一のノード内でのみ実行しましたが、解決策は簡単でした:
#!/bin/bash
#SBATCH --nodes=1
N=16
seq $N | xargs -P $N -I% my_script.bash % $N
2 つのノードでどのようにスケーリングできますか? 「--nodes=2」を使用N=32
するxargs
と、同じノードですべてのスレッドを生成しようとします。一方、スクリプトはライブラリにmpiexec
リンクされてMPI
おらず、スクリプトにどのスレッドであるかを伝える方法がわからないため、単独では使用できません。