症状:
まず最初に、このボックスに実際に 2 枚の nvidia カードがあることを確認しようとしています。
VS2010 の場合 -> NSight -> Windows -> SystemInfo -> ディスプレイ デバイス
2 つのデバイスがあるように見えることがわかります。
NVIDIA GeForce GTX 560 Ti
Name \\.\DISPLAY1<br>
ID PCI\VEN_10DE&DEV_1200&SUBSYS_35151458&REV_A1<br/>
State Flags AttachedToDesktop, PrimaryDevice<br/>
Monitor<br/>
Name \\.\DISPLAY1\Monitor0 <br/>
String Generic PnP Monitor <br/>
State Flags AttachedToDesktop, MultiDriver <br/>
NVIDIA GeForce GTX 560 Ti
名前 \.\DISPLAY2
ID PCI\VEN_10DE&DEV_1200&SUBSYS_35151458&REV_A1
状態フラグ なし
しかし
VS2010 -> NSight -> Windows -> SystemInfo -> GPU デバイスまたは CUDA デバイス
値の列が 1 つしか表示されない (「属性」列はカウントされない)
[NVIDIA コントロール パネル] -> [3D 設定] -> [PhysX 構成の設定] の下に 1 つのカードしか表示されない
コードでは、私がするとき
int devCount; cudaGetDeviceCount(&devCount);
devCount は単に「1」になります
その結果、思い通りに特定の GPU を使用するように設定できません。
質問:
私は疑問に思う
これが 1 番目の GeForce カードがモニターによって使用されているためである場合、すべての CUDA 計算は 2 番目のカードで実行され、2 番目のカードのみを認識しますか?
仮定が正しい場合でも、2 つの GPU デバイスで計算を実行できるように、Windows でこれを回避する方法はありますか?