做社交网站要注册哪类商标,外贸公司是什么类型的企业,在哪里找做网站的,网站开发有哪些流程图cuda、cuDNN、tensorRT的使用场景
1. CUDA#xff08;Compute Unified Device Architecture#xff09;
作用#xff1a;
GPU 通用计算#xff1a;CUDA 是 NVIDIA 的并行计算平台和编程模型#xff0c;允许开发者直接利用 GPU 的并行计算能力#xff0c;加速通用计算任…cuda、cuDNN、tensorRT的使用场景
1. CUDACompute Unified Device Architecture
作用
GPU 通用计算CUDA 是 NVIDIA 的并行计算平台和编程模型允许开发者直接利用 GPU 的并行计算能力加速通用计算任务如科学计算、图像处理、深度学习等。硬件抽象层提供 API 和工具链如编译器、调试器让开发者能够编写运行在 NVIDIA GPU 上的代码。
使用场景
深度学习训练与推理为深度学习框架如 TensorFlow、PyTorch提供底层 GPU 加速支持。高性能计算HPC加速物理模拟、分子动力学、金融建模等计算密集型任务。图形渲染与游戏开发支持 GPU 加速的图形渲染和实时计算。
核心特点
支持 C/C、Python 等语言的 GPU 编程。提供多线程并行计算能力显著提升计算效率。 2. cuDNNCUDA Deep Neural Network Library
作用
深度学习专用加速库cuDNN 是 NVIDIA 针对深度学习优化的 GPU 加速库专注于加速神经网络的核心操作如卷积、池化、归一化、激活函数等。框架集成主流深度学习框架如 TensorFlow、PyTorch、MXNet依赖 cuDNN 实现高效的 GPU 加速。
使用场景
训练深度学习模型在模型训练阶段cuDNN 加速卷积、循环神经网络RNN等操作。推理加速在模型推理阶段优化计算性能。
核心特点
高度优化的算法实现比直接使用 CUDA 实现更快。支持自动选择最优算法如根据输入尺寸选择最快的卷积算法。与 CUDA 紧密集成需配合 CUDA 使用。 3. TensorRTTensor Runtime
作用
推理优化引擎TensorRT 是 NVIDIA 的高性能深度学习推理Inference优化器和运行时引擎专注于将训练好的模型部署到生产环境。模型压缩与加速通过层融合Layer Fusion、精度校准INT8/FP16、内核自动调优等技术显著降低模型延迟、提高吞吐量。
使用场景
生产环境部署在边缘设备如 Jetson 系列、云端服务器或数据中心部署训练好的模型。低延迟推理适用于实时应用如自动驾驶、视频分析、语音识别。资源受限环境通过量化INT8减少模型内存占用和计算量。
核心特点
支持模型格式转换如 ONNX、TensorFlow、PyTorch → TensorRT 引擎。动态张量形状Dynamic Tensor Shape支持适用于可变输入尺寸。跨平台部署支持 Windows/Linux/Jetson 等。 三者的关系与协作流程 训练阶段 使用 CUDA 提供 GPU 计算能力。依赖 cuDNN 加速深度学习框架的核心操作如卷积。框架示例PyTorch CUDA cuDNN 训练 ResNet 模型。 推理阶段 使用 TensorRT 对训练好的模型进行优化如 FP16/INT8 量化、层融合。最终生成轻量化的 TensorRT 引擎在部署时显著提升推理速度。示例将训练好的 YOLOv5 模型转换为 TensorRT 引擎部署到 NVIDIA Jetson 边缘设备。 总结对比
工具定位主要场景依赖关系CUDAGPU 通用计算平台所有 GPU 加速任务无cuDNN深度学习专用加速库训练和推理依赖 CUDATensorRT推理优化引擎生产环境部署依赖 CUDA 和 cuDNN 注意事项
版本兼容性CUDA、cuDNN、TensorRT 和深度学习框架如 PyTorch需版本匹配。硬件限制仅支持 NVIDIA GPU如 RTX 系列、Tesla 系列、Jetson 系列。
通过合理使用 CUDA、cuDNN 和 TensorRT可以显著提升深度学习模型的训练效率和推理性能。
安装cuda、cuDNN、tensorRT
环境WSL-Ubuntu20.04 参考资料
https://blog.csdn.net/JineD/article/details/131201121https://blog.csdn.net/qq_43515934/article/details/123897435https://zhuanlan.zhihu.com/p/615053337https://blog.csdn.net/weixin_45628358/article/details/130408132CUDA Toolkit DocumentationCUDA on WSL User GuideNVIDIA cuDNN DocumentationNVIDIA Deep Learning TensorRT DocumentationNVIDIA TensorRT Documentation阿木实验室SpireCV安装脚本DeepSeek
一些概念
安装CUDA即安装nvidia-cuda-toolkit只要Windows中安装好了NVIDIA显卡驱动在WSL中可以直接使用该驱动最新的NVIDIA Windows GPU驱动程序将完全支持WSL所以不要在WSL-Ubuntu20.04上安装任何的NVIDIA显卡驱动以免造成覆盖问题请不要apt install nvidia-cuda-toolkit因为nvidia-cuda-toolkit 包含了一个显卡驱动CUDA 加速运算科学计算、图形运算 训练、推理过程中均可使用cuDNN 加速DNN的运算 被TensorFlow、PyTorch、OpenCV等深度学习框架、模块调用 训练、推理过程中均可使用TensorRT优化深度学习网络的推理 被TensorFlow、PyTorch、OpenCV等深度学习框架、模块调用 只在推理过程中使用Cuda版本切换 如果机器上安装了多个版本的cuda则会在/usr/local/中存在多个cuda-xx的文件夹如下 其中/usr/local/cuda文件夹是个软链接链接到目前的cuda版本目录所以如果要切换版本的话只需要将原来cuda软链删除重新建立指向另一个cuda-xx目录即可。安装cuda的系统要求、硬件条件、编程语言要求、内核要求等、系统版本要求、编译器版本要求请查阅Pre-installation ActionsGPG、GPG public keyGPGGNU Privacy Guard是一个用于加密、签名和验证文件的开源加密工具。它可以帮助用户保护他们的数据免受未经授权的访问和篡改。您可以使用GPG来加密和签名电子邮件、文件和文本消息以确保它们的安全性和完整性。
安装 CUDA
安装 CUDA 即安装 CUDA Toolkit 0安装前的准备工作 确认WSL中可以正常访问GPUnvidia-smi 1卸载WSL中为Ubuntu安装的显卡驱动 一旦在Windows 上安装了NVIDIA GPU驱动程序CUDA就可以在WSL2中以libcuda.so的形式使用。因此不要在WSL 2中安装任何NVIDIA显卡驱动否则会造成驱动覆盖问题假如安装了要卸载掉并重启wsl2 sudo apt-get remove --purge nvidia*
sudo reboot2卸载旧的 CUDA 卸载掉可能存在的旧 CUDA -Toolkit以进行正确版本 CUDA 的安装 sudo apt-get --purge remove *cuda* *cublas* *cufft* *cufile* *curand* \*cusolver* *cusparse* *gds-tools* *npp* *nvjpeg* nsight* *nvvm*
sudo apt-get autoremove3删除旧的 GPG keyGPG 秘钥用于从CUDA仓库中下载文件的身份认证7fa2af80是旧的key目前CUDA repository最新的key是3bf863cc推荐使用cuda-keyring来安装最新的key sudo apt-key del 7fa2af80 4查看显卡驱动版本 nvidia-smi 也可以在windows中的NVIDIA控制面板中查看 二当前安装的显卡驱动支持哪些版本的cuda 查看方法Table 2 CUDA Toolkit and Minimum Required Driver Version for CUDA Minor Version Compatibility. 注意CUDA驱动程序是向后兼容的例如CUDA 11.6.x 要求显卡驱动版本 450.80.02假如你的显卡驱动版本是 536.67的话那么你的显卡驱动同样可以兼容 CUDA 11.6.x.三要选择与其他软件包互相兼容的cuda版本。 例如你的程序使用了TensorRT包那么在选择CUDA 版本时要考虑与TensorRT的相互兼容或在选择TensorRT版本时要考虑与CUDA 版本的相互兼容 5在 WSL-Ubuntu 中安装 CUDA-Toolkit 安装Linux默认的CUDA-Toolkit时总是附带安装一个显卡驱动因此不能使用这种方式给WSL2-Ubuntu安装CUDA-Toolkit。为了避免显卡驱动覆盖问题应该使用下面的方式为WSL2-Ubuntu安装CUDA-Toolkit 5.1从CUDA Toolkit Archive中选择一个合适的cuda版本以cuda11.6为例 5.2安装类型选择 wsl-ubuntu 5.3在bash中执行安装命令(任选一种安装方式推荐使用Network方式)# Network 方式安装
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
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/7fa2af80.pub
sudo add-apt-repository deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /
sudo apt-get update
sudo apt-get -y install cuda
# Local方式安装
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
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda6查看是否安装成功先重启一下wsl # 先重启一下wsl
dpkg -l cuda7安装完成可以删除掉.deb文件以释放存储空间 sudo rm cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.debCUDA默认安装路径为 /usr/local/cuda/ 或/usr/cuda/
安装 cuDNN 0准备工作 安装显卡驱动在WSL中不需要这步安装CUDA Toolkit在上一节中已安装安装Zlibsudo apt-get install zlib1g1下载和已安装的CUDA相兼容的cuDNN安装文件cuDNN Archive. 2选择一个符合您环境的安装方法tar文件安装适用于所有Linux平台Deb文件安装适用于Debian 11、Ubuntu 18.04、Ubuntu 20.04和22.04RPM文件安装适用于RHEL7、RHEL8和RHEL9包管理工具(如apt)安装方式适合联网条件下安装。 3以apt-get安装方式为例为wsl2-Ubuntu安装 cuDNN v8.4.1 sudo apt-get install libcudnn88.4.1.*-1cuda11.6 sudo apt-get install libcudnn8-dev8.4.1.*-1cuda11.6 sudo apt-get install libcudnn8-samples8.4.1.*-1cuda11.6 4验证安装是否成功 查看cudnn_version.h或cudnn.h 如果出现版本号则安装成功 cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
或者
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A
如果cudnn_version.h文件不存在就搜索一下安装路径可能有出入
sudo find / -name cudnn_version.h
或查找文件cudnn.h参考文献 官网cuDNN installation Guide on Linux 博客https://blog.csdn.net/qq_43515934/article/details/123897435
安装TensorRT
1下载 查看与已安装的CUDA Toolkit、cuDNN版本相互兼容的TensorRT版本并下载安装文件以deb安装方式为例。2安装tensorrt以TensorRT 8.4 EA、cuda11.6.0、cuDNN8.4.1为例sudo dpkg -i nv-tensorrt-repo-ubuntu2004-cuda11.6-trt8.4.0.6-ea-20220212_1-1_amd64.deb3添加第三方仓库秘钥sudo apt-key add /var/nv-tensorrt-repo-ubuntu2004-cuda11.6-trt8.4.0.6-ea-20220212/*.pub
#或
sudo cp /var/nv-tensorrt-repo-ubuntu2004-cuda11.6-trt8.4.0.6-ea-20220212/*.gpg /usr/share/keyrings/4更新软件源要保证运行后无错误提示sudo apt-get update5安装tensorrt的依赖 TensorRT 提供三种安装模式完整安装、lean runtime 安装、dispatch runtime安装根据具体需要来进行安装了解更多请参考TensorRT Documentation。 以完整安装为例sudo apt-get install tensorrt -y
python3 -m pip install numpy
sudo apt-get install python3-libnvinfer-dev6验证是否安装成功dpkg-query -W tensorrt显示如 tensorrt 8.6.1.x-1cuda12.0 则表明安装成功7安装完毕后可以删除安装文件 *.deb 以释放空间。参考文献 NVIDIA Deep Learning TensorRT Documentation 阿木实验室SpireCV安装脚本
卸载
卸载CUDA# To remove CUDA Toolkit:
sudo apt-get --purge remove *cuda* *cublas* *cufft* *cufile* *curand* \*cusolver* *cusparse* *gds-tools* *npp* *nvjpeg* nsight* *nvvm*
# To remove NVIDIA Drivers:
sudo apt-get --purge remove *nvidia* libxnvctrl*
# To clean up the uninstall:
sudo apt-get autoremove卸载cuDNN sudo apt-get --purge remove *cuDNN*sudo apt-get autoremove卸载TensorRT Uninstalling TensorRT
Troubleshooting 1 the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80 Hit:4 https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64 InRelease 原因key不正确 解决办法找到该源为它重新配置一个正确的key无效的源就删掉 2W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64 InRelease: The following signatures couldnt be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC E: The repository https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64 InRelease is not signed. 原因缺少公钥 解决办法https://blog.csdn.net/A15130402745/article/details/131643433 https://keyserver.ubuntu.com/ 3Version 8.4.1-1cuda11.6 for libcudnn8 was not found 解决办法sudo apt-get install libcudnn88.4.1.*-1cuda11.6 4安装libcudnn8-samples出现Version 8.4.1.*-1cuda11.6 for libcudnn8-samples was not found 解决办法sudo apt-get install libcudnn8-samples 5Processing triggers for libc-bin (2.31-0ubuntu9.14) ... /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link 在安装完cuda或tensorRT后出现该问题。 解决办法重新建立软连接它们正确的关系应该是libcuda.so - libcuda.so.1 - libcuda.so.1.1。步骤 在windows Powershell中 cd C:\Windows\System32\lxss\lib
rm libcuda.so
rm libcuda.so.1在wsl中 cd /usr/lib/wsl/lib/
ln -s libcuda.so.1.1 libcuda.so.1
ln -s libcuda.so.1.1 libcuda.so6export: bad variable name 待解决… 点赞、收藏、关注哟