私はより速く実行しようとしている線形代数コードを持っています。これまでのところ、私はMATMUL(Fortran Lib。)、DGEMVを使用しましたが、私自身のMVコードをOpenMPで作成しようとしましたが、アルゴリズムはスケーラビリティの面で優れていません。スピードアップは、私が割り当てているプロセッサの数に関係なく、わずか3.5 - 4です(私は64プロセッサを試しました)。 プロファイリングでは、Matrix-Vectorでかなりの時間が費やされ、残りはかなり公称です。 私の質問は次のとおりです: 私は、RAMとプロセッサのトンを持つ共有メモリシステムを持っています。私はコードのOpenMP実装を調整しようとしましたが(Matrix Vectorを含む)、助けにはなりませんでした。 MPIでのコード作成に役立つでしょうか?私はMPIのプロではありませんが、メッセージ通信を微調整する能力は少し助けになるかもしれませんが、私は確信が持てません。コメントはありますか?MPIとOpenMP。私には選択肢がありますか?
もっと一般的には、文献から私はMPI = Distributed、OpenMP = Sharedを読みましたが、他の領域ではうまくいくのでしょうか?共有のMPIのように?それは働くでしょうか?うまくいけば、OpenMPの実装よりも優れていますか?
注目。どうもありがとう ! –