5

Parallel::ForkManagerモジュールを使用して fork する Perl スクリプトがあります。

私の知る限り、32 の子プロセスをフォークし、SLURM スケジューラに 4 つのノード (ノードあたり 8 つのプロセッサ) でジョブを実行するように依頼すると、コードはすべてのコアで各子プロセスを実行します。

私のラボの誰かが、複数のノードでジョブを実行すると、他のノードが使用されず、時間とお金を無駄にしていると言いました。これは正確ですか?

フォークするスクリプトを使用する場合、SLURM を使用するノードは 1 つに制限されますか?

4

1 に答える 1

8

私の知る限りParallel::ForkManager、MPI を使用していないため、使用している場合、mpirunノード間でどのように通信するかわかりません。簡単なテストは、各子がホスト名を出力するようにすることです。

で起動された非 MPI ソフトウェアでよく起こることの 1 つmpirunは、作業を共有するのではなく、すべてのノードがまったく同じことを行うように、すべての作業をすべてのノードで複製することです。使用すれば、Parallel::MPI問題なく動作するはずです。

于 2015-07-08T17:20:54.117 に答える