Windows cudaGetDeviceCount返回1而不是2

Windows cudaGetDeviceCount返回1而不是2,windows,cuda,tesla,Windows,Cuda,Tesla,我有一个由2个特斯拉M2050组成的gpu集群,当我执行代码时,cudaGetDeviceCount只返回1。如果我尝试使用CUDASETDEVIECE设置设备1,则会出现以下错误:设备序号无效。在windows的设备管理器中,列出了这两个设备。如果需要,这是我的源代码 cutilSafeCall(cudaGetDeviceCount(&num_devices)); for (device = 0; device < num_devices; device++) {

我有一个由2个特斯拉M2050组成的gpu集群,当我执行代码时,cudaGetDeviceCount只返回1。如果我尝试使用CUDASETDEVIECE设置设备1,则会出现以下错误:设备序号无效。在windows的设备管理器中,列出了这两个设备。如果需要,这是我的源代码

cutilSafeCall(cudaGetDeviceCount(&num_devices));

for (device = 0; device < num_devices; device++) {
      cudaDeviceProp properties;
      cudaGetDeviceProperties(&properties, device);
      printf("Device ID:\t%d\n", device);
      printf("Device Name:\t%s\n", properties.name );
      printf("Global memory:\t%d\n", properties.totalGlobalMem );
      printf("Constant memory:\t%d\n", properties.totalConstMem );
      printf("Warp size:\t%d\n", properties.warpSize );
}
devs=0;
ParseArguments(argc, argv);
cutilSafeCall(cudaSetDevice(devs));
cutilSafeCall(cudaGetDeviceCount(&num_设备));
用于(设备=0;设备
任何帮助都将不胜感激

编辑:deviceQuery.exe的输出

deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

There is 1 device supporting CUDA

Device 0: "Tesla M2050"   
CUDA Driver Version: 5.50
CUDA Runtime Version:                          4.20   
CUDA Capability Major/Minor version number:    2.0  
...
...

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.50, CUDA Runtime Vers ion = 4.20, NumDevs = 1, Device = Tesla M2050


PASSED

Press <Enter> to Quit...
-----------------------------------------------------------
deviceQuery.exe正在启动。。。
CUDA设备查询(运行时API)版本(CUDART静态链接)
有1台设备支持CUDA
设备0:“特斯拉M2050”
CUDA驱动程序版本:5.50
CUDA运行时版本:4.20
CUDA能力主要/次要版本号:2.0
...
...
deviceQuery,CUDA驱动程序=CUDART,CUDA驱动程序版本=5.50,CUDA运行时版本=4.20,NumDevs=1,设备=Tesla M2050
通过
按退出。。。
-----------------------------------------------------------

<代码> > p>如果在一个节点中有两个CUDA GPU,DeVICEALY只报告一个,那么考虑以下可能性:

  • 通过运行nvidia smi检查两个GPU是否正常工作,如果仅显示一个GPU,则检查其是否正确插入
  • 检查未设置环境变量CUDA_VISIBLE_DEVICES

如果在单个节点中有两个CUDA GPU,DeVICEALY只报告一个,那么考虑以下可能性:

  • 通过运行nvidia smi检查两个GPU是否正常工作,如果仅显示一个GPU,则检查其是否正确插入
  • 检查未设置环境变量CUDA_VISIBLE_DEVICES

尝试从示例运行deviceQuery示例,看看它是否正确返回。它总是只显示一个设备。尝试从示例运行deviceQuery示例,看看它是否正确返回。它总是只显示一个设备。实际上,nvidia smi报告了一个错误,但我真的不知道是什么。。。从我在过去的线程中看到的情况来看,重新启动应该足够了。。。我仍然需要了解cuda应用程序如何生成该错误。实际上,nvidia smi报告了一个错误,但我真的不知道它是什么。。。从我在过去的线程中看到的情况来看,重新启动应该足够了。。。我仍然需要理解cuda应用程序如何生成该错误