WSL2环境RTX3080运行Pytorch报错No CUDA GPUs are available求助
WSL2环境PyTorch无法识别RTX3080 GPU解决方案
1. 环境变量校验
- 检查
CUDA_VISIBLE_DEVICES变量是否被错误配置:
echo $CUDA_VISIBLE_DEVICES
若返回空值或非0的无效值,执行export CUDA_VISIBLE_DEVICES=0临时测试,验证生效后将该指令写入~/.bashrc或对应shell的配置文件永久生效。
- 检查WSL2专属CUDA动态库路径是否已加入环境变量:
echo $LD_LIBRARY_PATH
返回结果需包含/usr/lib/wsl/lib路径,若缺失则将export LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH写入shell配置文件。
2. 重新安装适配版本PyTorch
你当前使用conda渠道安装的PyTorch 1.10.0+cu113包存在WSL2适配缺陷,torch.cuda.get_arch_list()返回空即可证明该包未正确内置适配安培架构的二进制文件,按以下操作重新安装:
- 卸载当前环境内的PyTorch相关包:
conda uninstall pytorch torchvision torchaudio cudatoolkit
- 改用PyTorch官方提供的cu113适配pip包进行安装,不要使用conda渠道的对应版本。若安装后仍有冲突,可保留系统级CUDA 11.3,不安装conda环境内的cudatoolkit包即可,你的TensorFlow可正常调用GPU已证明系统CUDA配置无问题。
3. 结果验证
安装完成后进入Python环境执行以下指令校验:
import torch print(torch.cuda.is_available()) print(torch.cuda.get_arch_list()) print(torch.cuda.device_count())
正常返回结果应为True、包含sm_86的架构列表、1,即问题修复完成。
根因说明
你已完成的排查项(宿主机PyTorch正常、Docker内PyTorch正常、CUDA样例运行正常、TensorFlow可正常调用GPU)已经完全排除硬件、驱动、WSL2本身的CUDA兼容性问题,故障仅出在conda渠道构建的PyTorch 1.10 cu113版本包的WSL2适配缺失。
内容的提问来源于stack exchange,提问作者harold
相关产品推荐
相关产品推荐

