通过 SSH 登录时,CUDA 报告没有设备

通过 SSH 登录时,CUDA 报告没有设备

我使用的是 Windows 7、CUDA 5,但在使用 CUDA 4.2 时也遇到了这个问题(提示升级到 5)。

我通过 SSH 进行远程登录(使用 cygwin 的 ssh),当我运行以下测试程序时,它告诉我没有设备存在。

$ ./a.exe
CUDA error: no CUDA-capable device is detected

$ cat test.cu
#include <stdio.h>

__global__ void foo()
{
}

int main()
{
  foo<<<1,1>>>();
  printf("CUDA error: %s\n", cudaGetErrorString(cudaGetLastError()));
  return 0;
}

当我尝试运行 deviceQuery 时,它会无限循环。以下是代码片段:

CUDA Device #91366
Major revision number:         0
Minor revision number:         0
Name:                          pqrstuvwB
Total global memory:           1895825521
Total shared memory per block: 3
Total registers per block:     -1073741632
Warp size:                     0
Maximum memory pitch:          132
Maximum threads per block:     -1819111168
Maximum dimension 0 of block:  -1751738988
Maximum dimension 1 of block:  1997970554
Maximum dimension 2 of block:  0
Maximum dimension 0 of grid:   1895825521
Maximum dimension 1 of grid:   0
Maximum dimension 2 of grid:   0
Clock rate:                    0
Total constant memory:         0
Texture alignment:             0
Concurrent copy and execution: Yes
Number of multiprocessors:     0
Kernel execution timeout:      No

这些程序在本地运行时给出了预期的输出。我有两台 GTX 480 和一台 9500 GT。在之前的版本(我猜是 4.2 之前的版本)中,这确实有效,我用它来远程开发 CUDA 应用程序。现在我不能了。

我看到了一些关于 CUDA 无法通过远程桌面运行的评论,并建议人们改用 VNC - 但没有关于 SSH 的评论。不管怎样,这种情况在显示器打开和关闭时都会发生。

相关内容