2012-04-24 6 views
2

私はクラスタ上のいくつかのプロセスの中で大きな配列を配布するmpiプログラムを持っています。OpenMPI CUDAとCUDPP

各プロセスは、配列要素の合計を計算し、その結果をhostに返します。

各プロセスの配列要素に対して並列接頭辞スキャンを実行します。

CUDPPで可能かどうかは考えてください。 ?

openmpiとcudppを一緒に使った人はいますか?

答えて

1

CUDPPとMPIを同じアプリケーションで組み合わせることはできません。それらは直交している。

また、Thrust'sスキャンの実装を検討することもできます.Fortranを使用している場合は、this blog postを参照してください。

+2

CUDPPの著者の一人として、[推力](http://thrust.github.com)を代わりに使用することを強くお勧めします。 MPIランク全体で大きな接頭辞の合計を実行する場合は、MPIコードを実装して各ランクの合計をスキャンし、各ランク内の要素ごとの結果をオフセットする必要もあります。 – harrism

+0

それは良い点です。何らかの理由で私はFortran(CUDPPのISOバインディング付き)を想定していました。推力はもちろんC++を必要としますが、それがうまくいけば、それは高性能プリミティブを使用する本当にエレガントな方法です。 – Tom

+0

@harrism:ありがとう、私は答えに追加し、FortranからThrustを呼び出すというMassimilianoのブログ記事にリンクしています。 – Tom