Cudann和Cuda和Tensorrt的关系

前言:最近在做边缘计算相关工作,Tensorrt作为常用的推理引擎,在环境部署的时候需要下载cuda、cudann、TensorRT三个东西,但是TensorRT在使用时会调用cuda、cudann的头文件,关系比较混乱,这里区分一下。

CUDA:提升训练速度

TensorRT:模型训练好以后,如何部署在cuda硬件中进行推理,可以使用量化等技术帮助我们减小模型,优化模型的推理速度,还有内存、性能评估各种api供我们使用,使我们的模型在推理时达到理想状态。

目录

三者功能区别

 三者所处AI模型的生命周期的区别


三者功能区别

  1. CUDA(Compute Unified Device Architecture)

    • 基础计算框架:CUDA是NVIDIA GPU的底层并行计算平台,提供API接口让开发者直接调度GPU进行通用计算(如矩阵运算、图像处理等)。它是所有GPU加速应用的基础,支持C/C++、Python等多种编程语言

    • 核心作用:作为连接应用程序与GPU硬件的桥梁,适用于任何需要并行计算的任务,但需开发者手动优化代码以发挥GPU性能

  2. cuDNN(CUDA Deep Neural Network Library)

    • 深度学习加速库:cuDNN是构建在CUDA之上的高层库,专门针对深度神经网络(如卷积、池化、激活函数等操作)进行优化。它通过预定义的优化算法提升训练和推理效率,例如使用Winograd算法加速卷积运算

    • 适用场景:主要用于模型训练阶段,与TensorFlow、PyTorch等框架集成,显著提升训练速度。直接使用CUDA实现相同功能效率会大幅降低

  3. TensorRT(Tensor Runtime)

    • 推理优化引擎:TensorRT专注于模型部署阶段的推理加速,通过网络结构优化计算精度调整(如FP16/INT8量化)提升性能。其核心优化手段包括层融合(如Conv-BN-ReLU合并)、内存优化和动态张量处理

    • 适用场景:用于生产环境中的高效推理,支持从PyTorch、TensorFlow等框架导出的模型,显著降低推理延迟并提高吞吐量

 三者所处AI模型的生命周期的区别

  1. 训练阶段

    使用CUDA提供GPU计算能力,结合cuDNN加速深度学习模型的训练。例如,在训练卷积神经网络时,cuDNN自动优化卷积核计算,减少GPU资源消耗69。
  2. 推理阶段

    通过TensorRT将训练好的模型转换为高度优化的推理引擎。TensorRT利用CUDA执行底层计算,同时重构网络结构(如合并冗余层)和降低计算精度(如INT8量化),实现比cuDNN更高效的推理,

 

### 安装 TensorRT 的前提条件 为了成功安装 TensorRT,在 Ubuntu 20.04 上需先完成 CUDA 10.1 cuDNN 7.6.5 的安装[^1]。确认这些组件已正确部署对于后续操作至关重要。 ### 准备工作 确保系统已经更新至最新状态: ```bash sudo apt update && sudo apt upgrade -y ``` ### 下载并安装 NVIDIA 驱动程序 如果尚未安装适合 GPU 的驱动程序,则需要下载对应版本的 NVIDIA 显卡驱动,并按照官方指导完成安装。这一步骤不在本指南范围内,建议查阅NVIDIA官方网站获取具体说明。 ### 获取 TensorRT 软件包 访问[NVIDIA Developer](https://developer.nvidia.com/tensorrt)页面注册账号后可以找到适用于不同平台CUDA版本的TensorRT软件包。选择与当前环境匹配的版本进行下载。 针对Ubuntu 20.04 LTS以及CUDA 10.1组合,推荐使用通过`.deb`文件形式发布的稳定版TensorRT库来简化安装流程。 ### 执行安装命令 假设选择了 `.deb` 文件作为分发介质,可以通过如下方式执行本地安装: ```bash # 替换下面路径为你实际保存.deb文件的位置 cd ~/Downloads/ sudo dpkg -i tensorrt*.deb ``` 上述命令会自动解析依赖关系并将必要的资源添加到系统的环境中去[^2]。 ### 设置环境变量 为了让编译器其他工具能够识别新加入的库位置,编辑 `~/.bashrc` 或者 `/etc/profile.d/nvidia.sh` 添加以下内容: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu export PATH=/usr/bin:$PATH source ~/.bashrc # 应用更改 ``` 重启终端使设置生效。 ### 测试安装成果 最后验证是否能正常调用TensorRT API函数,可以从Python交互模式尝试导入模块来进行简单测试: ```python import tensorflow as tf print(tf.__version__) from tensorflow.python.compiler.tensorrt import trt_convert as trt print(trt.is_tensorrt_enabled()) ``` 这段脚本不仅检验了 TensorFlow 对 TensorRT 支持情况,同时也间接证明了整个集成过程的成功与否。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值