7

これはかなり単純な質問ですが、グーグルには答えがないようです。

私が知りたいのは、cudaを実行できる2つのgpuカード(同一)がある場合、カーネルはこれらのカードにまたがることができますか?それとも、どちらかのカードにバインドされていますか?つまり、cudaには、使用可能なGPUコアのセット全体、またはそれが実行されているカード上のコアのみが表示されます。

もしそうなら、それを実現するために私が知る必要がある特別なことはありますか、そして知っておく価値のあるcuda SDK以上の例はありますか?

もちろん、ターゲット言語はC /C++です。

4

1 に答える 1

7

単一のCUDAカーネル起動は単一のGPUにバインドされます。複数のGPUを使用するには、複数のカーネルの起動が必要になります。

cudaデバイスランタイムAPIは、選択されたデバイスに焦点を合わせます。特定のカーネル起動は、を使用して最後に選択されたデバイスで起動されますcudaSetDevice()

マルチGPUプログラミングの例は、P2Pを使用した単純なマルチGPUと単純なマルチGPUのcudaサンプルに示されています。

于 2014-05-06T11:55:35.373 に答える