NumbaPro在Cuda设备上通过ssh连接

时间:2015-06-30 09:41:01

标签: python ssh cuda numba-pro

我正在使用Python / NumbaPro在Windows机器上使用我的CUDA兼容GPU。我使用Cygwin作为shell,从cygwin控制台中找到我的CUDA设备没有问题。我用简单的命令

进行测试
    numbapro.check_cuda()

但是当我通过OpenSSH连接到盒子时(作为我的Cygwin设置的一部分),我收到以下错误:

numba.cuda.cudadrv.error.CudaSupportError: Error at driver init:
Call to cuInit results in CUDA_ERROR_NO_DEVICE:

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

主要原因是Windows服务会话0隔离。当您通过在会话0(例如sshd或Windows远程桌面)中运行的服务运行任何应用程序时,计算机本机显示驱动程序不可用。对于CUDA应用程序,这意味着您在运行时遇到无设备可用错误,因为您用于登录的sshd作为服务运行,并且没有可用的CUDA驱动程序。

这是一些解决方法:

  1. 将sshd作为进程而不是服务运行。
  2. 如果您有兼容的GPU,请使用TCC驱动程序而不是GPU显示驱动程序。
  3. 在次要问题上,您看到的Python运行时错误来自multiprocessing模块。从this question看来,根本原因可能是未设置的NUMBER_OF_PROCESSORS环境变量。您可以使用该线程中的一种解决方法来解决该问题