4コアのワークステーションがあるとすると、Linux(Ubuntu)を実行するとどうなりますか
mpirun -np 9 XXX
9はすぐに一緒に実行されますか、それとも4の後に4が実行されますか?
残りの1はコンピューターを混乱させるので、9を使用するのは良くないと思います(まったく混乱するのか、コンピューターの「ヘッド」が4つのコアのどれを決定するのかはわかりません)。使用されますか?)またはランダムに選択されます。誰がどのコアを呼び出すかを決定しますか?
CPUが悪くなく、RAMが大丈夫で十分な大きさであり、ケースがそれほど大きくないと感じた場合。 CPUとRAMを完全に使用するには、mpirun -np 8 XXX
、さらにはmpirun -np 12 XXX
を実行することをお勧めします。
より多くのスレッドを開始しても、パフォーマンスにそれほど悪影響はありませんが(スレッドの開始コストは、1 MB未満です)、どちらも役に立たない可能性があります。
何がより高速であるかを知る唯一の方法は、それをテストすることですが、ガイドとして次のルールを使用してください。少なくともコアと同じ数のスレッドを使用してください。さらに、プロセスのいたるところに大量のメモリアクセスがある場合、コアよりも多くのスレッドを使用する方が実際には高速である可能性があります(メモリアクセスは他の命令の実行に比べて非常に遅く、OSは何かの実際の実行で時間を埋めますそれ以外の場合は待つ必要はありません)。
限られたテストと、並列計算についての私の理解(数回使用したことはありますが、それほど深くはありません)から:
それらは同時に実行されます。
負荷はコア間で分散されます。コンピューターが「混乱」することはありませんが、パフォーマンスの向上はほとんど(またはまったく)得られません(各コアが複数のタスクを処理しているため)。最悪の場合、それは物事を遅くする可能性があります。
せいぜい、コアの数と同じ数を実行する必要があります。より大きな値(理由の範囲内。非常に大きな数値を指定すると、RAMまたはシステムが非常に遅くなる)が不足する可能性があります)は実行されますが、メリットがないか、速度が低下する可能性があります。 。しかし、それは試みを傷つけることはありません。