Iので、この1つの並列コマンドを作る方法がないため、unparallelizableループの性質上、以下のフォーム営巣GNUの類似
outer loop about 5-10 iterations can be parallelized
loop that cant be parallelized
inner loop about 100s operations in parallel
inner loop bit that can't be parallelized
を持っているGNUの類似を使用して、ループを実行したいです。 私は、内側のループがその中で動作している間に何かするべきことがある外側のループのうちの1つ以上をシングルスレッドビットで動作させたいと思います。
CPUコアよりもはるかに多くのジョブが開始されないようにしたいと思いますが、並列コマンドのネスト時に実装するのは難しいようです。 さらに、内側のループのノードファイルを指定すると、内側のループが実行されるたびに同じ順序でノードが使用されるように見えるため、ノード数が増えるとスケーリングが非常に悪くなります。異なる順序でノードを持つ複数のノードファイルを使用する明白な方法があります。
同時ジョブ数を制御する良い方法は、このような入れ子ですか?名前付きセマフォの使用は、実行ごとに別のノードファイルを渡す可能性があると思われるか、間違ったツールを使用していますか?