A White Paper on Neural Network Deployment
  • ❤️‍🔥A White Paper on Neural Network Deployment
    • ❤️‍🔥A White Paper on Neural Network Deployment
    • 🤠CUDA
      • 🤑CPU|GPU程序执行流程
      • 🤗QiuckLearnFromPicture
      • 🤒GPU编程模型
      • 🫣线程束和线程束分化|Warp
      • 🤭Reduction|并行规约
      • 🤔全局内存(Global Memory)访问模式
      • 🫢Share Memory|共享内存|Bank Conflicts
      • 😷CUDA流和事件
      • 🫡Nsight system和Nsight compute
      • 🤫Grid-Stride Loops
    • 😄ONNX
      • 😉ONNX中的各类Proto
      • 🤔onnx->torch
      • 🥳0x00自定义算子
      • 😕0x01自定义算子
      • 🥴ONNX 模型的修改与调试
      • 😆ONNX中的一些概念
      • 😍用python操作ONNX
      • 🥹ONNX中的广播机制
      • 🤣外部数据
      • 🥰ONNX Model hub
      • 😘ONNX IR(Intermediate Representation)
      • 🥳ONNX后端
      • 🥸概述
    • 🐶TensorRT
      • 🐱TensorRT快速入门指南
      • 🐭文档简介
      • 🐹TensorRT的功能
      • 🐰TensorRT的C++接口解析
      • 🦊TensorRT的Python接口解析
      • 🐻TensorRT如何工作
      • 🐼trtexec的使用
      • 🐻‍❄️实战:解析onnx模型保存为engine文件|from scratch
      • 🐨实战:加载engine文件并执行推理|from scratch
      • 🐯手撕TensoRT源码|0x00
    • 🫶模型量化和剪枝
      • 🖕IEEE754标准
      • 🫰浮点运算产生的误差
      • 🤲映射和偏移
      • 🫴quantization from scratch|python
      • 👏动态量化范围
      • 🤝量化粒度
      • 👍校准
      • 👊Post-Training Quantization
      • ✊Quantization-Aware Training
      • 🤞pytorch-quantization使用文档
      • ✌️Polygraphy-Cheatsheet
    • 🤺杂文不杂
      • 😾Roofline_model
      • 🤖模型部署的几大误区
      • 😽手算Ampere架构各个精度的Throughout
      • 😻Tensor Core VS CUDA Core
      • 😺PNNX计算图结构剖析
      • 🎃融合BN和Conv层
      • 👾深度神经网络编译器原理简介
      • 👽在WSL2上安装CUDA_cuDNN_TensorRT
    • 🍀CPP
      • 🪵lamda表达式|C++11
      • 🌴智能指针|C++11
      • 🌲右值引用|移动语义|完美转发|C++11
      • 🫑emplace_back 减少内存拷贝和移动|C++11
      • 🥬多线程|互斥锁|条件变量|C++11
      • 🥒异步操作|C++11
      • 🍆原子变量|CAS操作|内存顺序|C++11
      • 🍏对象生存期和资源管理|RAII设计思想
      • 🍎Pimpl设计模式|编译防火墙
      • 🌶️std::variant|C++17
      • 🫛std::any|C++17
    • 🩷部署实战
      • ❤️yolov8Multitask
      • 💚yolov5
      • 🧡pointpillars
      • 💛centerpoint
      • 🩵deepstream
      • 💜BEVfusion
      • 💙BEVLane
      • 🖤Occupancy
    • ☯️重点参考书籍
Powered by GitBook
On this page
  • 安装Toolkit Driver
  • 安装CUDA
  • 安装nvcc
  • 安装cuDNN

Was this helpful?

Edit on GitHub
  1. A White Paper on Neural Network Deployment
  2. 杂文不杂

在WSL2上安装CUDA_cuDNN_TensorRT

Previous深度神经网络编译器原理简介NextCPP

Last updated 1 year ago

Was this helpful?

安装Toolkit Driver

使用 CUDA 前,要求 GPU 驱动与 cuda 的版本要匹配,匹配关系如下:

输入 nvidia-smi 命令,查看 GPU 驱动版本

Thu Mar 16 18:15:53 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.67       Driver Version: 517.00       CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0  On |                  N/A |
| N/A   56C    P3    26W /  N/A |   1125MiB /  8192MiB |     55%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      6465      G   /Xwayland                       N/A      |
+-----------------------------------------------------------------------------+

可以看到当前安装的驱动版本是 517.00

安装CUDA

使用提示的安装命令直接安装即可

CUDA默认安装路径为/usr/local/cuda/

安装nvcc

sudo apt install nvidia-cuda-toolkit

输入nvcc –version查看输出结果

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

安装cuDNN

tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

X.Y 和 v8.x.x.x 分别用你本机 CUDA 和cuDNN 的版本信息替代

安装TensorRT

GA为稳定版本,下载稳定版本。推荐以压缩包的形式下载TensorRT,这样就可以下载多个版本的TensorRT,方便程序调用。

os="ubuntuxx04"
tag="8.x.x-cuda-x.x"
sudo dpkg -i nv-tensorrt-local-repo-${os}-${tag}_1.0-1_amd64.deb
sudo cp /var/nv-tensorrt-local-repo-${os}-${tag}/*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get install tensorrt

将os和tag替换成自己的版本信息

  • 验证

(base) root@LAPTOP-476JT8H0:~/workstation/# dpkg -l | grep TensorRT
ii  libnvinfer-bin                                    8.6.0.12-1+cuda12.0               amd64        TensorRT binaries
ii  libnvinfer-dev                                    8.6.0.12-1+cuda12.0               amd64        TensorRT development libraries
ii  libnvinfer-dispatch-dev                           8.6.0.12-1+cuda12.0               amd64        TensorRT development dispatch runtime libraries
ii  libnvinfer-dispatch8                              8.6.0.12-1+cuda12.0               amd64        TensorRT dispatch runtime library
ii  libnvinfer-headers-dev                            8.6.0.12-1+cuda12.0               amd64        TensorRT development headers
ii  libnvinfer-headers-plugin-dev                     8.6.0.12-1+cuda12.0               amd64        TensorRT plugin headers
ii  libnvinfer-lean-dev                               8.6.0.12-1+cuda12.0               amd64        TensorRT lean runtime libraries
ii  libnvinfer-lean8                                  8.6.0.12-1+cuda12.0               amd64        TensorRT lean runtime library
ii  libnvinfer-plugin-dev                             8.6.0.12-1+cuda12.0               amd64        TensorRT plugin libraries
ii  libnvinfer-plugin8                                8.6.0.12-1+cuda12.0               amd64        TensorRT plugin libraries
ii  libnvinfer-samples                                8.6.0.12-1+cuda12.0               all          TensorRT samples
ii  libnvinfer-vc-plugin-dev                          8.6.0.12-1+cuda12.0               amd64        TensorRT vc-plugin library
ii  libnvinfer-vc-plugin8                             8.6.0.12-1+cuda12.0               amd64        TensorRT vc-plugin library
ii  libnvinfer8                                       8.6.0.12-1+cuda12.0               amd64        TensorRT runtime libraries
ii  libnvonnxparsers-dev                              8.6.0.12-1+cuda12.0               amd64        TensorRT ONNX libraries
ii  libnvonnxparsers8                                 8.6.0.12-1+cuda12.0               amd64        TensorRT ONNX libraries
ii  libnvparsers-dev                                  8.6.0.12-1+cuda12.0               amd64        TensorRT parsers libraries
ii  libnvparsers8                                     8.6.0.12-1+cuda12.0               amd64        TensorRT parsers libraries
ii  tensorrt                                          8.6.0.12-1+cuda12.0               amd64        Meta package for TensorRT

参考:

在 Nvidia 官网选择对应版本:。比如我选择的是 11.7 版本,选择 Linux , x86_64 , WSL-Ubuntu , 2.0 , deb(local) ,如下

官网,下载tar

访问: 下载deb版本的 TensorRT

❤️‍🔥
🤺
👽
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions__table-cuda-toolkit-driver-versions
https://developer.nvidia.com/cuda-toolkit-archive
CUDA 深度神经网络库 (cuDNN) | NVIDIA Developer
https://developer.nvidia.com/nvidia-tensorrt-8x-download