1. 检测GPU驱动
// wsl2可直接检测到gpu,前提是windows下已经安装了nvidia控制面板
nvidia-smi
2. 安装CUDA和CUDNN
// cuda 11.8 下载网址
// 可以看到有专门针对wsl-ubuntu的版本
https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0
// 可以选择不同的安装方式
// 使用runfile(local)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
// 可能会报错,显示/tmp空间不足
mkdir /mnt/d/tmp
sudo sh cuda_11.8.0_520.61.05_linux.run --tmpdir=/mnt/d/tmp
// 安装成功, 显示以下内容
Please make sure that
- PATH includes /usr/local/cuda-11.8/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-11.8/lib64, or, add /usr/local/cuda-11.8/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.8/bin
// 配置环境变量, 永久的需要配置.bashrc文件或.bash_profile文件
export PATH=$PATH:/usr/local/cuda-11.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
// 安装cudnn, 选择对应的版本,下载压缩包
https://developer.nvidia.com/rdp/cudnn-download
xz -d ./cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar.xz
tar xvf ./cudnn-linux-x86_64-8.9.2.26_cuda11-archive.tar
// 拷贝到cuda目录下,这里的cuda目录实际是cuda-11.8的链接
sudo cp cudnn-linux-x86_64-8.9.2.26_cuda11-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-linux-x86_64-8.9.2.26_cuda11-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
3. 安装TensorRT
// 下载并解压对应版本的TensorRT
https://developer.nvidia.com/nvidia-tensorrt-8x-download
tar -xzvf ./TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
// 拷贝至cuda文件夹
cp ./TensorRT-8.6.1.6/bin/* /usr/local/cuda-11.8/bin/
cp ./TensorRT-8.6.1.6/include/* /usr/local/cuda-11.8/include/
cp ./TensorRT-8.6.1.6/lib/ /usr/local/cuda-11.8/lib64
// 测试
cd ./samples
make
cd ..
./bin/sample_onnx_mnist
// 安装python tensorrt
conda activate XXX // 激活对应的python环境
cd ./python
pip install tensorrt-8.6.1-cpXX-none-linux_x86_64.whl // 安装合适版本的python-tensorrt
// 测试
import tensorrt
print(tensorrt.__version__)
// 在对应的conda环境下安装其他的工具,也可以等需要的时候再装
pip install ./onnx_graphsurgeon/onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
pip install ./uff/uff-0.6.9-py2.py3-none-any.whl
pip install ./graphsurgeon/graphsurgeon-0.4.6-py2.py3-none-any.whl