CUDA 初始化:来自 cudaGetDeviceCount() 的意外错误

maq*_*e J 11 python linux pytorch

我在我的 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。它以前有效,但现在没有了。

Sat*_*ash 12

尝试在不同的终端中运行nvidia-smi,如果出现如下错误:NVML: Driver/library version mismatch那么基本上您必须遵循以下步骤,这样您就不必再次重新启动:

  1. 在终端中运行:lsmod | grep nvidia.
  2. 然后卸载nvidia驱动依赖的模块:
sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvm
Run Code Online (Sandbox Code Playgroud)
  1. 最后,卸载nvidia模块sudo rmmod nvidia
  2. 现在,当您尝试时lsmod | grep nvidia,您应该在终端输出中得不到任何内容。
  3. 现在运行nvidia-smi来检查是否获得了所需的输出,然后就可以开始了!


maq*_*e J 9

我刚刚尝试重新启动。问题解决了。原来是 NVIDIA NVML 驱动程序/库版本不匹配导致的。

  • 我有同样的问题,当我重新启动时它就会消失。但是,我不想重新启动。您找到解决这个问题的方法了吗? (5认同)