在AWS EC2实例用numba遇CUDA_ERROR_NO_DEVICE(100)错误求解决
解决Numba CUDA_ERROR_NO_DEVICE (100) 错误的配置步骤
第一步:验证GPU硬件与驱动状态
在终端执行nvidia-smi命令,检查是否能正常输出GPU型号、驱动版本等信息:- 如果命令不存在,说明NVIDIA驱动未正确安装,可通过
amazon-linux-extras install nvidia-driver-latest重新安装(Deep Learning AMI一般自带,此情况少见)。 - 如果命令执行失败或无GPU信息,先确认实例类型是否为AWS GPU实例(如p3、g4dn、g5系列),非GPU实例本身不支持CUDA。
- 如果命令不存在,说明NVIDIA驱动未正确安装,可通过
第二步:检查CUDA环境变量配置
Numba依赖正确的CUDA环境变量才能识别GPU,执行以下命令验证:echo $CUDA_HOME echo $PATH | grep cuda echo $LD_LIBRARY_PATH | grep cuda若输出为空或未包含
/usr/local/cuda相关路径,手动配置环境变量:export CUDA_HOME=/usr/local/cuda export PATH=$CUDA_HOME/bin:$PATH export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH若需永久生效,将上述命令添加至
~/.bashrc或~/.profile文件,执行source ~/.bashrc使配置立即生效。第三步:确认Numba与CUDA版本兼容性
执行numba -s查看Numba检测到的CUDA配置,重点检查CUDA Information部分是否有GPU条目。
若版本不兼容,升级Numba至适配当前CUDA版本的版本:pip install --upgrade numba第四步:验证Python环境的GPU可见性
运行以下Python代码测试Numba是否能识别GPU:from numba import cuda print(cuda.gpus)若输出为空,需重启终端或当前Python运行环境,确保环境变量已正确加载。
第五步:排查GPU资源占用
执行nvidia-smi查看GPU进程列表,确认是否有其他进程占用GPU资源导致Numba无法访问。如有,可终止占用进程后重新测试。
内容的提问来源于stack exchange,提问作者sobmortin354
相关产品推荐
相关产品推荐

