【1】Win11 WSL2 安装配置 Nvidia Cuda
【1.1】检查计算机硬件的显卡信息
计算机图标右击 -> 管理 -> 设备管理器 -> 显示适配器;
【1.2】检查对应显卡并安装 Nvidia 显卡驱动
下载对应的 Nvidia 显卡驱动,Nvidia 显卡驱动下载链接
注意此处应该选择 Windows 主机显卡型号对应的驱动;
【1.3】安装 WSL2 中对应 Ubuntu 的 CUDA Toolkit
选择对应的 CUDA Toolkit,CUDA Toolkit 下载链接
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda-repo-ubuntu2004-12-2-local_12.2.0-535.54.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-12-2-local_12.2.0-535.54.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
配置 CUDA Toolkit
编辑 vim ~/.bashrc
添加如下信息
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使能
source ~/.bashrc
检查是否安装成功
执行如下命令
nvcc -V
-----------------------------------------------------------------
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.91
Build cuda_12.2.r12.2/compiler.32965470_0
【2】WSL2 安装配置 Docker 环境
【2.1】下载配置 Docker-Desktop
Docker-Desktop 下载地址 : https://www.docker.com/products/docker-desktop/
安装完毕后,选择 settings -> Resources -> WSL integration 从而 WSL2 可以使用 docker 命令
【3】Apollo 代码编译与环境配置
【3.1】编译 Apollo 代码
下载 Apollo 源码并进入源码目录后
拉取相关镜像
bash docker/scripts/dev_start.sh
进入 docker 编译环境容器
bash docker/scripts/dev_into.sh
编译 Apollo 代码
bash apollo.sh build
【3.2】配置并启动验证 DreamView
【3.2.1】启动 DreamView
启动 DreamView
bash scripts/bootstrap.sh
【3.2.2】针对 WSL2 环境修改显示 IP
修改 docker/scripts/dev_start.sh 如下
修改 scripts/bootstrap.sh 如下
DreamView 启动完成显示如下
【3.3】Apollo 启用 GPU
【3.3.1】Apollo 编译时观察是否启用了 GPU
执行命令 bash apollo.sh build
出现如下内容
说明启用了 GPU 编译;
编译选项说明
#使用 Release 模式和 GPU 编译
bash apollo.sh build_opt_gpu
其他可选编译方式如下所示:
# bash apollo.sh build 表示带调试信息的 Release 模式编译
# [module] 可选,表示待编译的模块;如果不加任何模块,表示编译所有模块
# 例如: bash apollo.sh build perception ,表示只编译感知模块
# bash apollo.sh build ,编译所有模块
#
bash apollo.sh build [module]
模式编译
# Debug
bash apollo.sh build_dbg [module]
模式编译
# Release
bash apollo.sh build_opt [module]
#使用 CPU ,带调试信息的 Release 模式编译
bash apollo.sh build_cpu [module]
#使用 GPU ,带调试信息的 Release 模式编译
bash apollo.sh build_gpu [module]
#使用 GPU , Release 模式编译
bash apollo.sh build_opt_gpu [module]
【3.3.2】观察判定 Apollo 是否启用了 GPU
执行命令 bash docker/scripts/dev_start.sh
出现如下内容
执行命令 bash docker/scripts/dev_into.sh
出现如下内容
以上可以判定 Apollo 镜像中没有启用 GPU;
【3.3.3】Apollo 镜像中启用 GPU
安装 nvidia-container-runtime
添加相关仓库
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
安装
sudo apt-get install nvidia-container-runtime
问题与解决方案
【1】Failed to pull docker image : apolloauto/apollo:dev-x86_64-18.04-20210914_1336 docker 镜像拉取失败
需要添加权限
sudo bash docker/scripts/dev_start.sh
参考与致谢
本博客为博主学习笔记,同时参考了网上众博主的博文以及相关专业书籍,在此表示感谢,本文若存在不足之处,请批评指正。
【1】CUDA on WSL User Guide
【2】Win11怎么查看显卡配置 Win11查看显卡配置的方法
【3】在wsl2中安装CUDA
【4】基于wsl的Apollo环境配置
【5】Win10 WSL2 ubuntu20.04编译apollo
【6】https://github.com/NVIDIA/nvidia-container-runtime
【7】https://nvidia.github.io/nvidia-container-runtime/