私はC++の数値処理プログラムを持っています。構造体である。)、A)データ入力、データ準備OpenMPとMPIに移植可能なC++プログラムの複雑なループ?
B)「大きな」ループ
(両方の場合で異なる変数の多くをグローバルおよびローカルデータを使用
C)後処理結果と書き込みデータ
最も強い部分は「b」です。これは基本的にループです。私はクラスタ内でプログラムを高速化する必要があります。ブレード25本、コア4本。私はここでOpenMPとMPIを使うことができるのだろうか、一般的なケースではなくチュートリアルを指すことができるのかどうか疑問です。
おかげ
関連するコードサンプルを投稿しない限り、コードを最適化することはできません。 –
これはループが実際に何をするかによって大きく異なります。例えば、各反復を他の反復とは独立して実行することができますか(そして正しい結果を与えるか)?どのような種類のデータ依存関係がありますか?詳細は、私たちが良い答えを与えるのに役立ちます。 – suszterpatt
25別々のブレードにはMPIが必要です。正しく覚えていれば、OpenMPは共有メモリアプリケーション用です。あなたのグローバルデータはループ中に変更されますか?そのような場合は、すべてのノード間でこの変更をプッシュして、最新の状態に保つ必要があります – Will