python CUDA初始化:cudaGetDeviceCount()出现意外错误

ojsjcaue  于 2023-03-16  发布在  Python
关注(0)|答案(3)|浏览(1692)

我在Linux服务器上运行深度学习程序,突然收到这个错误。
UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at /opt/conda/conda-bld/pytorch_1603729096996/work/c10/cuda/CUDAFunctions.cpp:100.)
之前我刚创建这个conda环境的时候,torch.cuda.is_available()返回true,我可以使用CUDA和GPU,但是突然之间我不能使用CUDA,torch.cuda.is_available()返回false,我该怎么办?
另外,我用的是GeForce RTX 3080和CUDA 11.0 + Pytorch 1.7.0,以前能用,现在不行了。

dfddblmv

dfddblmv1#

我刚试着重新启动。问题解决了。原来是nvidianvml驱动程序/库版本不匹配造成的。

bxgwgixi

bxgwgixi2#

尝试在不同的终端运行nvidia-smi,如果您收到如下错误:NVML: Driver/library version mismatch,那么基本上您必须遵循以下步骤,这样就不必再次重新启动:
1.在终端运行中:lsmod | grep nvidia .
1.然后卸载依赖于nvidia驱动程序的模块:

sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvm

1.最后,卸载nvidia模块:sudo rmmod nvidia .
1.现在,当您尝试lsmod | grep nvidia时,在终端输出中应该什么也得不到。
1.现在运行nvidia-smi检查是否得到了所需的输出,并且可以开始了!

cetgtptt

cetgtptt3#

这是我的经验:

  • 我的系统上有一个PyTorch 1.12,一个Nvidia GeForce RTX 2080,cuda/11.3.1cudnn/8.2.4.15-11.4,我得到了CUDA initialization error
  • 这个错误已经解决了,只改变了cudnn版本,iidoEe.,我使用了cudnn/8.2.0.53-11.3,错误就消失了。

相关问题