基于 WSL2 搭建 CUDA Linux 开发环境

本文简要记录如何在 Windows 11 + WSL2 上安装 CUDA 开发环境。

1. 安装 WSL2

在开始之前,先确保在 Windows 系统上安装了 WSL 相关环境,可参考本站点之前的博客:使用 WSL 搭建 Linux 开发环境

2. 安装/更新 Windows GPU 驱动

安装好 WSL 后,需要在 Windows 上安装或更新 GPU 驱动。

一般而言,Windows 笔记本自带 Nvidia Experience 软件(最新版更新后改名为 NVIDIA,在桌面可以直接启动),如下图所示:

点击“驱动程序”,然后根据页面显示内容,进行更新,耐心等待更新完毕即可。

3. 在 WSL 上安装 CUDA 环境

在 Windows 上更新完 GPU 驱动后,我们需要进入 WSL 命令行中,参考 NVIDIA 的官方文档,安装 CUDA 相关开发环境:CUDA on WSL User Guide。上面 NVIDIA 官方文档中最重要的是:CUDA Toolkit Downloads,执行这一链接页面显示的命令,即可完成 CUDA 开发环境安装。

4. 配置 .bashrc 文件

在 WSL 上安装完 CUDA 后,在命令行输入 nvcc -V 会显示找不到该命令。这一问题需要通过配置 .bashrc 文件解决,可参考:Win11+WSL2+Ubuntu+Docker-Desktop 支持GPU的深度学习环境搭建。其中配置 .bashrc 的相关命令是:

1
$ sudo vim ~/.bashrc

然后在文件尾部添加以下内容:

1
2
export PATH=/usr/local/cuda-11.5/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

路径需要根据自己的实际安装版本确定,一般情况下在 /usr/local/cuda 目录。

编辑完保持后,输入命令:

1
$ source ~/.bashrc

然后,输入 nvcc -V 命令,若能输出,则安装成功。

5. VS Code 配置 clangd 插件智能提示

在使用 VS Code + clangd 插件编写 CUDA 相关代码时,可能会出现 clangd 对 CUDA 相关头文件报错的情况。为了解决这个问题,可以在项目的根目录创建 .clangd 文件,然后输入以下内容:

1
2
3
4
5
6
7
8
9
CompileFlags:
Add: [-std=c++20,
--cuda-path=/usr/local/cuda,
-I/usr/local/cuda/include,
-L/usr/local/cuda/lib64,
]
Compiler: /usr/local/cuda/bin/nvcc
Diagnostics:
Suppress: [variadic_device_fn, ovl_no_viable_function_in_init]

这一解决方案参考了其他博客(没找到具体链接了...),但配置 .clangd 文件感觉还是不太优雅,后续再探索下有无其他解决方案。


基于 WSL2 搭建 CUDA Linux 开发环境
https://arcsin2.cloud/2025/01/08/基于-WSL2-搭建-CUDA-Linux-开发环境/
作者
arcsin2
发布于
2025年1月8日
许可协议