wsl2cuda11.8
时间: 2025-04-06 10:13:51 浏览: 27
### WSL2 上安装和配置 CUDA 11.8
#### 查看已有的 CUDA 版本
为了确认当前系统中已经存在的 CUDA 版本,可以运行以下命令来获取本地 Windows 和 WSL 中可用的 CUDA 驱动程序和支持情况:
```bash
nvcc --version
```
如果未找到 `nvcc` 或者显示不匹配的版本,则说明需要进一步操作以适配目标版本[^1]。
---
#### 更新基础工具链
在正式安装之前,建议先更新并安装必要的开发工具包。这些依赖项对于构建 NVIDIA 的驱动支持以及后续 GPU 加速功能非常重要:
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential dkms libgl1-mesa-glx -y
```
上述命令会确保系统的编译器和其他必要组件处于最新状态[^3]。
---
#### 下载与安装 CUDA Toolkit
访问官方文档或者通过 APT 软件源下载适合 Ubuntu 的 CUDA 工具包。以下是具体方法之一:
1. 添加 NVIDIA 提供的软件仓库密钥到APT信任列表中;
```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
```
2. 导入实际存储库地址链接至APT索引文件夹下;
```bash
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /"
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/7fa2af80.pub
sudo apt-get update
```
3. 执行安装过程指定所需的特定版本号即为11.8;
```bash
sudo apt-get install cuda-11-8 -y
```
完成以上步骤之后重启终端窗口以便加载新加入的内容[^4]。
---
#### 设置环境变量
为了让操作系统能够识别刚装好的CUDA路径位置,需编辑用户的shell初始化脚本`.bashrc`添加如下两行定义语句:
```bash
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda-11.8/bin:$PATH
source ~/.bashrc
```
这样做的目的是让动态连接器知道去哪里寻找共享对象(.so),同时也把可执行二进制目录纳入搜索范围方便调用。
验证设置是否成功可以通过再次查询`nvcc –V`命令查看输出结果应反映最新的安装状况。
---
#### 测试 CUDA 功能正常与否
最后一步就是检验整个流程下来硬件加速能力有没有被激活启用起来。尝试编写一段简单的测试代码比如下面这个例子用于打印设备信息出来看看是否有返回预期的数据集。
```cpp
#include <cstdio>
int main() {
int count;
cudaGetDeviceCount(&count);
printf("Number of devices: %d\n", count);
for (int i=0;i<count;++i){
cudaDeviceProp prop;
cudaGetDeviceProperties(&prop,i);
printf("\n 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(Bit):%d\n",prop.memoryBusWidth);
printf(" Peak Memory Bandwidth(GB/s):%.2f\n",
static_cast<float>(prop.memoryClockRate)*static_cast<float>(prop.memoryBusWidth)/8e6 );
}
}
```
将其保存成名为test.cu的形式随后利用g++编译选项加上-cudart静态参数生成最终产物形式如:
```bash
nvcc test.cu -o test_cuda.out -lcudart_static
./test_cuda.out
```
假如一切顺利的话应该能看到关于GPU规格方面的描述性文字呈现于屏幕上表示大功告成啦!
---
阅读全文
相关推荐














