Windows和WSL安装CUDA

        我在自己电脑的 Windows 和 WSL 中都安装了CUDA,这两个系统上的 CUDA 互不影响,即使安装的版本不一样也可以,这里记录一下安装的过程。

        因为版本不同可能会产生很多不同的错误,如支持的显卡架构不同,显卡驱动和显卡兼容性问题。下面是本文环境配置及版本信息:

        系统: Windows 11和wsl2_ubuntu22.04

        显卡:3060 (架构:Ampere)

        显卡驱动:NVIDIA-Linux-x86_64-560.81

        cuda版本:12.6


目录

Windows安装

1.检查NVIDIA驱动

2.下载安装CUDA Toolkit

3.设置环境变量

WSL安装

1.下载安装CUDA Toolkit

2.添加环境变量


Windows安装

1.检查NVIDIA驱动

        首先在 PowerShell 或者 cmd中运行下面的命令,检查自己电脑的NVIDIA显卡和此驱动支持的CUDA最高版本:

nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.81                 Driver Version: 560.81         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060 ...  WDDM  |   00000000:01:00.0  On |                  N/A |
| N/A   57C    P5             16W /   95W |    1422MiB /   6144MiB |      4%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

        可以看到当前安装的驱动信息,CUDA Version 后面的版本是当前驱动支持的最高版本为12.6。 

2.下载安装CUDA Toolkit

        下载CUDA Toolkit:​​​​​CUDA Toolkit Archive | NVIDIA Developer

        选择自己想要安装的CUDA版本点击进去下载:

         按照下面的选择,然后点击 Download 按钮:

        下载完成后,是一个exe安装包,双击然后默认安装即可。

3.设置环境变量

        打开系统的环境变量,安装完后应该会有下面这两个系统变量,如果没有的话自己添加一下:

        设置完环境变量后,就可以在 PowerShell 或者 cmd 中用下面的命令查看安装的CUDA版本:

nvcc --version

         安装成功!


WSL安装

1.下载安装CUDA Toolkit

        选择自己想要安装的CUDA版本点击进去下载:​​​​​CUDA Toolkit Archive | NVIDIA Developer

        按照下面的选择,deb包或者run包都可以: 

        选择后下面就会出现一列命令,按着顺序一条一条执行即可下载安装:

        CUDA 12.6 deb包安装命令:

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
wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda-repo-wsl-ubuntu-12-6-local_12.6.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-6-local_12.6.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6

2.添加环境变量

        执行完上面的命令后,CUDA已经安装成功了。但此时执行 nvcc --version 会提示找不到 nvcc 命令,添加环境变量即可:

vim ~/.bashrc

        在其中添加下面两行:

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

        刷新环境变量 :

source ~/.bashrc

        再次执行 nvcc --version 可以看到安装的CUDA版本,安装成功。

### 如何在 WSL安装配置 CUDA #### 准备工作 为了确保能够在 WSL 中成功安装并配置 CUDA,在此之前需确认已经正确设置好了 Windows Subsystem for Linux (WSL),并且选择了合适的 Linux 发行版,比如 Ubuntu 24.04。另外,还需保证系统能够连接互联网以便于下载必要的软件包驱动程序[^1]。 #### 安装 NVIDIA 驱动程序支持组件 对于 Windows 11 用户来说,操作系统本身提供了对 WSL 下 GPU 加速的支持功能。这意味着只要更新到最新版本的操作系统补丁,并启用相应的特性开关即可获得基本支持环境[^3]。具体操作可以通过 PowerShell 执行 `wsl --update` 命令来完成系统的升级准备;接着利用设备管理器中的显示适配器选项检查是否有适用于当前硬件的新版图形卡驱动可供安装。 #### 启用 WSL 2 并切换默认发行版至 WSL 2 由于只有基于 WSL 2 的实例才完全兼容完整的 CUDA 功能集,因此建议将所使用的 Linux 发行版转换成 WSL 2 模式。这一步骤可通过命令行工具轻松实现: ```powershell wsl --set-version <DistributionName> 2 ``` 其中 `<DistributionName>` 应替换为实际使用的发行版名称,例如 "Ubuntu" 或者其他自定义命名的空间名。 #### 获取并安装 CUDA Toolkit 当上述准备工作完成后,就可以着手获取官方发布的 CUDA Toolkit 来源文件了。访问[NVIDIA 开发者网站](https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&Version=latest)选择适合 WSL 环境下的版本进行下载。按照提示逐步完成整个过程直至结束。通常情况下会涉及到接受许可协议条款、指定安装路径等交互环节,请根据个人需求做出合理的选择[^2]。 #### 测试 CUDA 是否正常运作 最后一步就是验证新安装好的 CUDA 是否可以正常使用。进入终端界面后尝试编译运行一段简单的测试代码如下面所示: ```cpp // test_cuda.cu #include <stdio.h> int main() { int deviceCount; cudaError_t error = cudaGetDeviceCount(&deviceCount); if(error != cudaSuccess){ printf("CUDA Error: %s\n", cudaGetErrorString(error)); return 1; } printf("Found %d CUDA devices.\n", deviceCount); for(int i = 0; i < deviceCount; ++i){ cudaDeviceProp prop; cudaGetDeviceProperties(&prop, i); printf("Device Number: %d\n", i); printf(" Device name: %s\n", prop.name); printf(" Memory Clock Rate (KHz): %d\n", prop.memoryClockRate); printf(" Memory Bus Width (bits): %d\n", prop.memoryBusWidth); printf(" Peak Memory Bandwidth (GB/s): %.2f\n\n", 2.0*prop.memoryClockRate*(prop.memoryBusWidth/8)/1.0e6); } } ``` 保存以上内容作为一个 `.cu` 文件之后,使用 nvcc 编译它: ```bash nvcc -o test_cuda test_cuda.cu ./test_cuda ``` 如果一切顺利的话,则应该可以看到有关本地 GPU 设备的信息输出,证明 CUDA 成功部署完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值