python - 如何删除 cuInit 失败 : unknown error in CUDA (PyCuda)

标签 python linux ubuntu cuda

我安装了 CUDA 然后尝试了以下操作:

In [1]: import pycuda.driver as cuda

In [2]: cuda.init()
---------------------------------------------------------------------------
Error                                     Traceback (most recent call last)
<ipython-input-2-2845c9c0ab3c> in <module>()
----> 1 cuda.init()

Error: cuInit failed: unknown error

如何解决错误?

我已经安装了:

$ which nvidia-modprobe
/usr/bin/nvidia-modprobe

我的其他信息:

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17

还有这个:

$ uname -a
Linux foobar1 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

这是 nvidia-smi 的信息

$ nvidia-smi
Mon Nov 19 15:56:43 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.48                 Driver Version: 410.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro P400         Off  | 00000000:AF:00.0 Off |                  N/A |
| 34%   45C    P0    N/A /  N/A |      0MiB /  1999MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

最佳答案

cuInit failed: unknown error 通常是 nvidia-uvm 内核模块没有加载的结果。我在 Ubuntu 上经常遇到这个问题。

sudo nvidia-modprobe -u 应该可以解决这个问题。也就是说,直到您重新启动。然后你需要再做一次。

另一种解决方法是以 root 身份运行失败的应用程序一次。 AFAICT 在这种情况下,CUDA 运行时将尝试加载丢失的模块(并且很可能会成功,因为我们以 root 身份运行)。

关于python - 如何删除 cuInit 失败 : unknown error in CUDA (PyCuda),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53369652/

相关文章:

linux - 无法在 Raspberry pi 启动时启动 grabserial

sql-server - 在 Ubuntu 18.04 中安装 SQL Server 时出现 gpg : no valid OpenPGP data found.

apache - 在 ubuntu 上安装 Xampp apache 时出错

c++ - 在较新的 Ubuntu 版本中为旧的 Ubuntu 版本编译 C/C++

编译错误 :c language in telnet(linux)

python - false 未定义

python - 使用 jpg 格式将 numpy 数组保存为 io.BytesIO

python - 动态调用属性 setter

linux - 配置 Apache 以在访问和错误日​​志中记录主机

Python websockets 模块和 IIS 作为反向代理