私はC++で書かれたユーティリティを持っていますが、MPICH2を使うと計算量が増え、パフォーマンスに満足できず、多くの改善の余地があります。MPICH2対応のコードをOpenCLコードに変換する
まず、MPICH2はexesを使用するだけなので、データをファイルに書き込んで、そのファイルをそのユーティリティの引数として渡して、再びすべてのデータを読み込んで出力をファイルに書き戻す必要があります。 これをdllに入れることができれば、データを渡すのに多くの時間を節約できます。また、私は何とかGPU上でこれを実行することができれば、これはブースト(あまり確かではない)を与えるでしょう。
ユーティリティーコードをOpenCLに変換するのにどれだけの労力がかかっているのか、あるいは変換タスクの60〜70%を行うツールがあるのでしょうか。
+1;ファイルI/Oの通信媒体としての使用を中止してください。しかし、MPIとOpenCLも直交しています。 1つは、ノード(またはノード上のプロセッサ)間の問題の部分を通信することによって計算を高速化するためのものであり、1つはノード上の計算を高速化するためのものである。物事がどちらか一方になる理由はありません。 –
私は読み込みを削除し、バッファアドレスを渡すだけで、ユーティリティはデータを更新でき、私は結果を得ることができます。しかし、私はユーティリティexeをdllに変換する必要がありますが、MPICH2はdllで動作しません。 – Mohit
他のライブラリ(dllなど)をmpiやmpich2とリンクすることは問題ありません。そのため、あなたが何を求めているのかははっきりしません。 –