【解决】RuntimeError: CUDA driver initialization failed, you might not have a CUDA gpu.
【解决】RuntimeError: CUDA driver initialization failed, you might not have a CUDA gpu
1.实验基本情况
硬件环境:单块Nvidia RTX3090 GPU
软件环境:Python3.8,Pytorch1.12.1 cudatoolkit=11.3
2. 问题描述
运行命令时,命令中的 nvidia-smi 有效,输出如下
但是程序运行过程中出现下面的错误:
site-packages/torch/cuda/__init__.py", line 217, in _lazy_inittorch._C._cuda_init()
RuntimeError: CUDA driver initialization failed, you might not have a CUDA gpu.
3.问题分析
如图1中,在当前安装的 CUDA Driver的版本460.91.03,其支持最高的 CUDA Driver为11.2,即最高支持运行11.2的运行时API,这个具体可查Nvidia官网点击进入。
而Python中的 cudatoolkit 版本为运行时CUDA Driver版本,不能超过图1中的最高支持的CUDA Driver版本,如本例中使用的 cudatoolkit=11.3 对应的是 CUDA Driver 11.3,比当前实验环境中的最高CUDA Driver版本高了,恰巧程序中需要用到CUDA算子,出现了问题,其实如果程序不用CUDA算子,应该不会出现异常,这种安装方法我在其他程序中经常使用,但在测试DINO代码时,出现了异常。
4.问题解决
可将原有的虚拟环境删除
conda remove -n your_env_name --all
然后重新创建和配置环境即可,这里注意,最高支持 cudatoolkit=11.2 ,但是在Torch官网,似乎没有 cuda11.2的内容,因此,可以装 11.1或比11.2小的其他版本。具体可访问下面的链接。
最后我安装了 ,目前还没测试环境,应该是可行的了。
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)