WSL2 Ubuntu子系统安装cuda+cudnn+torch

本文指导如何在WindowsWSL2环境下安装CUDA11.7.1、cudnn8.9.2.26,并通过pip安装PyTorch1.13.1版,适用于cuda11.7。步骤包括显卡驱动更新、下载并配置cuda和cudnn,以及安装和测试PyTorch。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

确保Windows系统版本高于windows10 21H2或Windows11,然后在Windows中将显卡驱动升级到最新即可,WSL2已支持对显卡的直接调用。
在这里插入图片描述

一、安装cudn

进入英伟达官网中的cuda下载地址:CUDA Toolkit 11.7 Update 1 Downloads | NVIDIA Developer

由于作者使用的是WSL-Ubuntu20.04长期支持版,所以按照以下配置来进行安装。

作者采用的是runfile(local)下载方式,因为此方式简单,原理为通过wget命令下载cuda安装包,通过sh命令解压安装cuda

在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run
sudo sh cuda_11.7.1_515.65.01_linux.run

程序会进行解压和安装,速度会比较慢,最后会出现如下界面:输入accept+回车确认

在这里插入图片描述
之后便会出现如下界面,前面带有[X]的表示你要安装的工具,最后选择Install+回车确认
在这里插入图片描述
安装完成后通过修改bashrc文件配置,来让cuda更好的运行:

使用vim打开配置文件

sudo vi  ~/.bashrc

将如下代码加入到文件的最后几行:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

使配置文件生效

source  ~/.bashrc

使用nvcc -V查看cuda是否安装成功:成功会如下显示
在这里插入图片描述

二、安装cudnn

因为作者使用的是WSL2-Ubuntu20.04,所以进入cuDNN下载地址:cuDNN Archive | NVIDIA Developer中选择如下安装包(注意,cudnn的版本必须与安装的cuda百分百对应!!!!),并将此安装包复制到Ubuntu下的/home/文件夹下

在这里插入图片描述
通过如下命令解压cudnn包:(使用tar xvf命令)

tar xvf cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar.xz

然后通过cp复制命令,将解压好的cuDNN文件复制到cuda配置文件中:

即配置cuda/include下所有文件和cuda/lib64下所有文件;

运行如下代码即可:

sudo cp cudnn-linux-x86_64-8.9.2.26_cuda11-archive/include/* /usr/local/cuda/include/
sudo cp cudnn-linux-x86_64-8.9.2.26_cuda11-archive/lib/* /usr/local/cuda/lib64/

至此,cudnn已经安装完成。

三、安装pytorch

安装地址:https://pytorch.org/get-started/previous-versions/,找到1.13.1版本,选择对应cuda版本安装
在这里插入图片描述

输入以下命令即可

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

测试

import torch
print(torch.__version__)#版本号
print(torch.cuda.is_available())#显卡是否可用
print( torch.cuda.get_device_name())#显卡型号

在这里插入图片描述

<think>好的,我现在需要帮助用户解决关于在Windows + WSL环境下搭建深度学习模型时是否需要重新安装CUDACUDNN的问题。用户已经在Windows安装CUDA 12.8和CudNN,现在想知道如果选择方案1(可能指的是使用WSL),是否需要重新安装这些组件。 首先,我需要回忆一下WSL的工作原理,特别是WSL 2的情况。WSL 2使用虚拟化技术,但能够与Windows系统进行一定程度的集成。微软和NVIDIA合作,允许在WSL中直接使用Windows的GPU驱动,这可能包括CUDA相关的组件。 接下来,我需要确认CUDAWSL中的支持情况。根据NVIDIA的官方文档,从某个版本开始,WSL 2支持直接调用Windows主机上的NVIDIA GPU驱动程序,这样在WSL内的Linux环境中不需要单独安装GPU驱动。但是,CUDA Toolkit和CudNN可能需要在WSLLinux环境中重新安装,因为它们是用户层的库和工具,可能依赖于Linux系统的文件结构和环境。 但这里有个细节需要注意:用户已经安装CUDA 12.8和CudNNWindows下。如果用户想在WSL中运行基于Linux的深度学习框架(比如PyTorch或TensorFlow),那么这些框架在WSL中会期望使用Linux版本的CUDA库。因此,可能需要在WSLLinux发行版中安装对应版本的CUDA Toolkit和CudNN,即使Windows已经安装了它们。不过,也有可能通过某种路径映射让WSL访问WindowsCUDA,但通常不建议这样做,因为库文件的格式(Windows vs Linux)不同,可能会导致兼容性问题。 此外,需要检查CUDA 12.8是否支持WSL。有时候,NVIDIA对WSL的支持可能会有版本要求,比如需要特定版本的CUDA Toolkit才能与WSL兼容。用户需要确认CUDA 12.8是否在支持范围内,或者是否需要安装其他版本。 总结来说,用户可能需要在WSLLinux环境中安装对应的CUDA Toolkit和CudNN,即使Windows已经安装了它们。但不需要在Windows中重新安装,只是需要在WSL内部进行安装。此外,驱动部分可能不需要,因为WSL会利用Windows的GPU驱动。 不过,可能存在例外情况,比如某些工具链是否支持跨系统调用,或者是否有官方文档明确指出可以在WSL中使用Windows下的CUDA。这时候需要参考NVIDIA的官方指南。例如,NVIDIA的文档可能提到在WSL中需要安装特定版本的CUDA工具包,而不是复用Windows安装。 另外,用户可能需要配置环境变量,让WSL中的应用程序能够找到安装Linux子系统CUDA路径。而CudNN安装通常涉及将库文件复制到CUDA的目录中,因此在WSL中同样需要执行这一步骤。 可能的误区是认为WSLWindows共享所有软件,但实际上,WSL运行的是一个独立的Linux用户空间,大部分软件需要单独安装。不过,GPU驱动是一个例外,由Windows提供,而CUDA Toolkit和CudNN属于应用层软件,需要分别安装。 最后,建议用户查阅NVIDIA官方关于WSL安装指南,确认具体的步骤,以及是否需要匹配特定版本的CUDACudNN。例如,可能CUDA 12.x有对WSL的专门支持,但需要按照指引在WSL安装对应的包。</think>根据Windows + WSL的架构特性,以下是分步说明: ### 方案分析(基于Windows 11 + WSL2) 1. **GPU驱动层面** - 不需要在WSL中重复安装NVIDIA驱动 - Windows宿主机已安装的驱动会通过**NVIDIA GPU虚拟化组件**自动暴露给WSL - 验证命令:在WSL终端执行 `nvidia-smi` 应显示与Windows相同的驱动版本 2. **CUDA Toolkit层面** - **需要**在WSLLinux环境中重新安装CUDA Toolkit - 原因:WindowsCUDA.exe/.dll格式,而Linux深度学习工具链需要.so库文件 - 推荐通过官方源安装: ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /" sudo apt-get update sudo apt-get -y install cuda ``` 3. **cuDNN层面** - **需要**在WSL中独立安装LinuxcuDNN - 安装步骤: ```bash # 下载对应版本的.deb包后执行 sudo dpkg -i cudnn-local-repo-*.deb sudo apt update sudo apt install libcudnn8 libcudnn8-dev ``` ### 版本匹配建议 | 组件 | Windows宿主机 | WSL环境 | 是否必须一致 | |------------|--------------|-------------|------------| | GPU驱动 | ≥515.65 | 无独立驱动 | 是 | | CUDA Toolkit| 12.x | 同主版本号 | 建议保持一致 | | cuDNN | 8.9.x | 同精确版本 | 必须一致 | ### 验证流程 1.WSL终端执行: ```bash nvcc --version # 应显示WSL安装CUDA版本 nvidia-smi # 应显示Windows宿主机的驱动版本 ``` 2. 运行PyTorch测试: ```python import torch print(torch.cuda.is_available()) # 应输出True print(torch.version.cuda) # 应显示WSL内的CUDA版本 ``` ### 特殊场景处理 如果遇到`CUDA driver version is insufficient`错误: 1. 升级Windows宿主机NVIDIA驱动到最新版 2. 确认WSLCUDA Toolkit版本不高于驱动支持的最大版本 3. 执行 `sudo ldconfig` 刷新动态链接库缓存 > 最终结论:您**不需要**重新安装Windows端的CUDA/cuDNN,但必须在WSLLinux环境中单独安装LinuxCUDA Toolkit和cuDNN,且建议保持主版本号一致(如Windows CUDA 12.x对应WSL CUDA 12.x)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值