更新时间:2024-10-30 GMT+08:00
日志提示"No CUDA-capable device is detected"
问题现象
在程序运行过程中,出现如下类似错误。
1.‘failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected’ 2.‘No CUDA-capable device is detected although requirements are installed’
原因分析
出现该问题的可能原因如下:
- 用户/训练系统,将CUDA_VISIBLE_DEVICES传错了,检查CUDA_VISIBLE_DEVICES变量是否正常。
- 用户选择了1/2/4卡这些规格的作业,然后设置了CUDA_VISIBLE_DEVICES=‘1’这种类似固定的卡ID号,与实际选择的卡ID不匹配。
处理方法
- 尽量代码里不要去修改CUDA_VISIBLE_DEVICES变量,用系统默认里面自带的。
- 如果必须指定卡ID,需要注意1/2/4规格下,指定的卡ID与实际分配的卡ID不匹配的情况。
- 如果上述方法还出现了错误,可以去notebook里面调试打印CUDA_VISIBLE_DEVICES变量,或者用以下代码测试,查看结果是否返回的是True。
import torch torch.cuda.is_available()
建议与总结
在创建训练作业前,推荐您先使用ModelArts开发环境调试训练代码,避免代码迁移过程中的错误。
- 直接使用线上notebook环境调试请参考使用JupyterLab开发模型。
- 配置本地IDE(Pycharm或者VSCode)联接云上环境调试请参考使用本地IDE开发模型。
父主题: GPU相关问题