You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04下脚本异常退出后启动任务报cudaGetDeviceCount错误怎么解决

问题解决方案

第一步:清理GPU残留进程

  • 执行nvidia-smi查看占用GPU的进程PID,执行kill -9 <对应PID>杀死异常残留的Python训练进程
  • 如果nvidia-smi无进程但仍报错,执行sudo fuser -v /dev/nvidia*扫描所有占用NVIDIA设备的隐藏进程,杀死所有返回的PID即可

第二步:重置NVIDIA驱动内核模块(杀进程无效时使用)

如果清理进程后问题仍然存在,可通过重装NVIDIA内核模块实现GPU状态软重置,无需重启整机:

  1. 切换到多用户命令行模式,关闭图形界面避免占用驱动:
    sudo systemctl isolate multi-user.target
    
  2. 卸载所有NVIDIA相关内核模块:
    sudo modprobe -r nvidia_uvm nvidia_drm nvidia_modeset nvidia
    
  3. 重新加载NVIDIA内核模块:
    sudo modprobe nvidia nvidia_modeset nvidia_drm nvidia_uvm
    
  4. 恢复图形界面:
    sudo systemctl start graphical.target
    

后续预防方案

  • 在Python训练脚本中添加异常退出钩子,主动释放CUDA缓存:
    import atexit
    import torch
    def clear_cuda():
        if torch.cuda.is_available():
            torch.cuda.empty_cache()
    atexit.register(clear_cuda)
    
  • 你报错日志中涉及DCNv2自定义算子,确认该算子的编译版本和当前环境的PyTorch、CUDA版本完全匹配,避免兼容性问题导致CUDA状态异常。

内容的提问来源于stack exchange,提问作者desmond13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:15:02