2

MPI ライブラリを使用して C/CUDA のコードを使用して、マルチ GPU アーキテクチャ上の実空間でポアソン方程式を解こうとしています。今のところ、周期的な箱の問題を解くことだけに興味があります。しかし、将来的には、球面幾何学を調べたいと思うかもしれません。

この問題を解決する既存のルーチンはありますか? 2012 年 8 月の日付のコメントは、推力ライブラリがマルチ GPU アーキテクチャに適合していないことを示しているようです。それはまだ正しいですか?

ルーチンが存在する場合、どの方法を使用しますか (Jacobi、SOR、Gauss-Seidel、Krylov)? その速度と発生した可能性のある問題について、ご意見をお聞かせください。

御時間ありがとうございます。

4

2 に答える 2

1

Thrust はマルチ GPU 環境で使用できます。ランタイム API、つまり cudaSetDevice を使用して、デバイスを切り替えることができます。スラストはベクトルの割り当てと割り当て解除を暗黙的に処理するため、デバイス ベクターが宣言されたとき、およびそれらが割り当て解除されたとき、つまり範囲外になったときに、正しいデバイスが選択されていることを確認するように注意する必要があります。

于 2013-09-19T14:09:25.050 に答える
1

MPI プロトコルを使用して相互作用する異なるクラスター ノードに配置された GPU を使用して、マルチ GPU アプローチによってポアソン方程式を解くことは、比較的最近の研究トピックです。基本的な考え方は、ドメイン分割を使用して、各 GPU が計算ドメインの一部を解決し、MPI を使用して境界データを交換することです。

GTC 2012 で発表された Towards a multi-GPU solver for the three-dimensional two-phase incompressible Navier-Stokes equationsと、 An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi- GPU クラスター。特に最初のアプローチでは、Navier-Stokes 方程式は Chorin の射影アプローチによって解かれます。これは最も要求の厳しいタスクである Poisson 方程式の解を必要とし、Jacobi 前処理付き共役勾配ソルバーを利用する MultiGPU/MPI 戦略によって解かれます。

利用可能なルーチンに関しては、過去に、天体物理学アプリケーション用のダウンロード可能なソフトウェアであるGAMERに出くわしたことがあります。著者は、このコードには、GPU で高速化されたさまざまなポアソン ソルバーとハイブリッド OpenMP/MPI/GPU 並列化が含まれていると主張しています。しかし、私はそれをダウンロードする機会がありませんでした。

于 2013-09-19T20:39:19.993 に答える