当前位置: 首页 > news >正文

jetpack5.0.2 已经安装了 cudnn 和 tensorrt

在平台 jetson Xavier NX 中想使用 cudnn 和 tensorrt。然后自己下载了相应包并解压,拷贝,编译

安装 cudnn

1.下载对应包文件,例如:cudnn-linux-sbsa-8.4.1.50_cuda11.6-archive.tar.xz
2.解压,移动到解压目录,再拷贝。如下:

sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp -P lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

3.安装完成

安装 tensorrt

1.下载对应包文件,例如:TensorRT-8.4.2.4.Ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz
2.解压,进入解压目录,再进入sample中随便找一个工程进行make
3.安装完成

问题:tensorrt 下任意一个工程make ,报错,错误如下:

Could not initialize cudnn, please check cudnn installation.
buildSerializedNetwork::636] Error Code 2: Internal Error (Assertion engine != nullptr failed. )

前面还有一点,我忘记了。
根据这两个问题检索,网友说:

  1. cuda 与 cudnn 版本不兼容
  2. 显卡内存不足

这两个问题我也尝试解决但任然没有头绪。
第二天早上,我再次检索,发现Nvidia开发者网站发布了一篇文章 Jetson Software Roadmap for 2H-2021 and 2022 ,根据该文中工作人员说:

JetPack 4.6 is our next production release, currently scheduled for July 2021. It will bring updates to the CUDA, cuDNN, and TensorRT compute stack as well as a feature-rich BSP update with L4T 32.6 based on Ubuntu 18.04. New capabilities will be included for over the air (OTA) software updates, security, bootloader, multimedia, camera, and cloud-native technologies.

我就瞬间诧异了,JetPack 4.6 就直接包含了 CUDA, cuDNN, TensorRT。文中还说 JetPack 4.6 是对以前的资源进行更新,增加。那 JetPack 5.0.2 那也应该是这样的。

然后我在根目录下去寻找 cudnn头文件和库文件

sudo find . -name cudnn*.h
sudo find . -name libcudnn*.so*

发现有多个版本的 cudnn!!!!!!!!!!
啊,这不就是 检索答案 中说的 cuda 与 cudnn 版本不兼容 问题嘛,
一个是 JetPack 5.0.2 刷系统时自带的,一个是我自己安装的。瞬间我明白了,我不是多此一举嘛!!!

然后我删除掉了我自己安装的 cudnn

sudo rm /usr/local/cuda/include/cudnn*.h -rf
sudo rm /usr/local/cuda/lib64/libcudnn* -rf

然后再 /usr/src/tensorrt/samples/sampleDynamicReshape 这个目录下编译该代码,再在 /usr/src/tensorrt/bin 这个目录下执行 sample_dynamic_reshape 。该程序顺利执行!!!

问题其实就在于自己多此一举,导致系统存在多个 cudnn 版本。

附上安装 cudnn 和 tensorrt 的链接
Installing cuDNN on Linux
TensorRT Tar File Installation

http://www.lryc.cn/news/128481.html

相关文章:

  • 我的编程语言学习笔记
  • 一个DW的计算
  • java.net.BindException Address already in use: NET_Bind解决
  • JMM内存模型之happens-before阐述
  • 大数据课程I2——Kafka的架构
  • vscode如何汉化
  • matlab保存图片
  • 产业园区数字孪生3d可视化全景展示方案
  • centos7 jupyter notebook 安装自动补全插件
  • 【算法——双指针】LeetCode 202 快乐数
  • AndroidManifest清单文件中,Activity的screenOrientation属性详解
  • Qt+Pyhton实现麒麟V10系统下word文档读写功能
  • TCP/IP 下的计算机网络江湖
  • 智能家居(4)---火灾报警线程封装
  • C#语音播报问题之 无法嵌入互操作类型SpVoiceClass,请改用适用的窗口
  • C语言实例_获取文件MD5值
  • Win11环境下 Unity个人版无法激活
  • C++:模拟实现list及迭代器类模板优化方法
  • k8s整合istio配置gateway入口、配置集群内部服务调用管理
  • 工程监测振弦采集仪采集到的数据如何进行分析和处理
  • (三)行为模式:2、命令模式(Command Pattern)(C++示例)
  • 微信小程序 蓝牙设备连接,控制开关灯
  • Python 矢量数据库和矢量索引:构建 LLM 应用程序
  • -Webkit-Box 在 Safari 中出现的兼容性问题
  • 后端项目打包上传服务器记录
  • ubuntu部署haproxy
  • vue利用 sortable 完成表格拖拽
  • CNN简介3
  • 新能源电动车充电桩控制主板安全特点
  • 公路桥梁有哪些安全隐患?