2

基本的には単一のGPU(NVidia K20c)で複数のMPIランクを動かしたいと考えており、MPSとKeplerのHyper-Qの存在は認識しています。

しかし、私の質問は、Hyper-Q 自体で私のニーズを満たすのに十分でしょうか? または、MPS を使用する必要がありますか? 上記の Hyper-Q リンクによると、「Hyper-Q を有効にするために追加のコーディング作業は必要ありません。必要なのは、CUDA 5 がインストールされた Tesla K20 GPU と、複数の MPI ランクが GPU を共有できるように環境変数を設定することだけです – Hyper -Q を使用する準備が整いました。」

これは、MPS がまったく必要ないということですか?

ps、同様のトピックに関する次の質問も認識していますが、私の質問に明確に答えていないようです。 CUDA6.5 + MPI を使用する場合、MPS (MULTI-PROCESS SERVICE) を使用する必要がありますか?

ありがとう。

4

1 に答える 1

4

単一の GPU で MPS なしで複数の MPI ランクを実行できます。その場合、すべてのランク (GPU) コードがシリアル化されます。特定のランクの GPU コードは、前のランクに関連付けられた GPU コードが完全に終了して GPU を終了したときにのみ実行を開始します。

あるランクの GPU コードを別のランクの GPU コードと同時に実行する機会が必要な場合は、MPS が必要になります。ランクに関連付けられた GPU コードが GPU を最大限に活用している場合、MPS のメリットはあまり見られません。ランク GPU コードを別のランクの GPU コードと同時に実行できると、大きな利点が見られます。

于 2014-10-17T20:35:23.707 に答える