#在WSL+Ubuntu22.04下安装CUDA11.8+CUDNN8.9+tensorrt8.6,接近Jetson的环境
# 更新apt仓库
sudo apt-get update
# 安装开发环境
sudo apt install -y \
build-essential \
software-properties-common \
wget \
curl \
git \
vim \
cmake \
pkg-config \
libtool \
autoconf \
automake \
lsb-core \
ubuntu-drivers-common
# 安装 Python 开发环境
sudo apt install -y \
python3 \
python3-dev \
python3-pip \
python3-venv \
python3-wheel
#安装cmake
sudo apt install -y cmake
# 安装opencv
sudo apt install -y libopencv-dev libopencv-dnn-dev
# 添加 NVIDIA 仓库密钥
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
# 下载cuda 11.8
# 到nvidia官网下载 cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
# 下载并安装 CUDA 11.8 仓库
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
# 添加 NVIDIA 公钥,注意文件名
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-9EA88183-keyring.gpg /usr/share/keyrings/
#更新 APT 并安装 CUDA
sudo apt update
sudo apt install -y cuda-toolkit-11-8
# 验证 CUDA 安装
/usr/local/cuda-11.8/bin/nvcc --version
# 添加到 ~/.bashrc
echo '# CUDA 11.8' >> ~/.bashrc
echo 'export CUDA_HOME=/usr/local/cuda-11.8' >> ~/.bashrc
echo 'export PATH=$CUDA_HOME/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export CUDADIR=/usr/local/cuda-11.8' >> ~/.bashrc
# 重新加载配置
source ~/.bashrc
# 下载cudnn
# cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb
# 安装 cuDNN 本地仓库包
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb
# 导入 NVIDIA 公钥,注意文件名
sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.7.29/cudnn-local-8AE81B24-keyring.gpg /usr/share/keyrings/
# 更新 apt 仓库
sudo apt update
# 查看可用的 cuDNN 包
apt search libcudnn8 | grep 8.6
# 安装dev
sudo apt install -y libcudnn8-dev
# 或者安装所有相关包
sudo apt install -y \
libcudnn8 \
libcudnn8-dev \
libcudnn8-samples
# 验证库版本
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
# 运行 cuDNN 示例
cd /usr/src/cudnn_samples_v8
sudo make -C mnistCUDNN
sudo sudo make -C conv_sample/
# 运行示例
./mnistCUDNN
# 应该看到输出:Test passed!
# 下载tensorrt-8.6
# nv-tensorrt-local-repo-ubuntu2204-8.6.1-cuda-11.8_1.0-1_amd64.deb
# 安装 TensorRT 仓库包
sudo dpkg -i nv-tensorrt-local-repo-ubuntu2204-8.6.1-cuda-11.8_1.0-1_amd64.deb
# 导入 NVIDIA 公钥,注意文件名
sudo cp /var/nv-tensorrt-repo-ubuntu2204-cuda11.8-trt8.6.1.6-ga-20231016/*-keyring.gpg /usr/share/keyrings/
# 更新 apt 仓库
sudo apt update
# 查看可用的 TensorRT 包
apt search tensorrt | grep 8.6
sudo apt install -y tensorrt-dev tensorrt
# 验证库版本
dpkg -l | grep nvinfer
# 测试 trtexec 工具
trtexec --help | head -20
#或者
cd /usr/src/tensorrt/samples/trtexec
sudo make
../../bin/trtexec