4コアのワークステーションがあり、Linux(Ubuntu)を実行するとどうなりますか
mpirun -np 9 XXX
Q1。 9はすぐに一緒に実行されますか、それとも4後に4を実行しますか?
Q2。残りの1はコンピューターを混乱させるため、9を使用するのは良くないと思います4コアが使用されますか?)またはランダムに選択されます。どのコアを呼び出すかは誰が決めるのですか?
Q3。 CPUが悪くなく、ラムが大丈夫で十分に大きく、ケースがそれほど大きくないと感じた場合。 CPUとRAMを完全に使用するために、mpirun -np 8 XXX、またはmpirun -np 12 XXXを実行することをお勧めします。
Q4。これらの効率の最適化、Ubuntu、Linux、マザーボード、CPUのすべてを決定するのは誰ですか?
あなたの啓発は本当にありがたいです。
mpirun
はデフォルトでラウンドロビン順でスケジュールされるため、最初のコア/ノードにそのプロセスが割り当てられます。np
は、使用可能な物理コア/ノードの数を超えて確実に増やすことができます。トレードオフは、コア/ノードよりも多くのプロセスでオーバーヘッドが増加することです。コードが厳密にCPUにバインドされていない場合(たとえば、かなりのIO待機時間が必要な場合)、shouldこれを行います。最終的には、試すまで高速になるかどうかはわかりません。詳細については、 このmanページ を参照してください。
はい。コードを大幅に変更して、MPIアプリケーションからOpenMPまたはTBBアプリケーションに変換する必要があります。アプリケーションがすでに開発されている場合は、それを試して、パフォーマンスを測定してから、大幅な操作を行ってください。
9すぐに。
そうでない場合、ユニバースのサイズが正しくなくなります。すべてのプロセスは同時に存在する必要があります。存在しない場合、他のインスタンスからは見えません。
インスタンスのメモリが高すぎる場合、他の4つのプロセスが終了するまで、他の5つのプロセスを手動で停止できます。
ただし、MPIをそのように使用している場合(ローカルマシンのみ)、代わりにOpenMP/tbbをお勧めします。 MPIは、実際にアプリを複数のネットワークコンピューターまたはクラスターノードに分散するように設計されています。