1

私は並列プログラミングの専門家ではありません。しかし、同じアプリケーションで両方を使用できるかどうかは興味があります。何かメリットはありますか?それはできますか?この質問をする人は誰もいないようです。OpenMP と MPI を組み合わせるという同様の問題があります。そして、一般的な答えは依存ではイエスです。しかし、私はMPIにあまり詳しくありません。

4

1 に答える 1

2

MPI はある意味で OpenMP と直交しています。これは、各 MPI プロセスが他の MPI プロセスのメモリに直接アクセスする手段がない (たとえば、異なるプロセスが異なる計算ノードで実行される) 分散メモリ システムをプログラムするためのパラダイムです。現在、ほとんどの計算ノードはマルチコアであるため、OpenMP またはその他のスレッド化アプローチを使用して各ノードをプログラムし、MPI を使用してノード間でメッセージを交換できます。OpenMP とboost:threads両方ともスレッド パラダイムです。boost::threads通常のスレッド化タスクを実行するために使用することと、特定のデータ並列タスクに対して概念的に単純な OpenMPを使用することを除いて、それらを混合しても意味がないと思います。

于 2012-06-14T13:39:15.363 に答える