首页 > 编程语言 >TensorRT源码编译

TensorRT源码编译

时间:2023-07-05 18:22:58浏览次数:62  
标签:10.2 TensorRT 编译 源码 cuda https nvidia com

目录

1.参考资料

tensorrt编译 https://zhuanlan.zhihu.com/p/346307138
tensorrt相关指南 https://zhuanlan.zhihu.com/p/382728131
使用 TensorRT 加速深度学习推理 https://developer.nvidia.com/zh-cn/blog/speeding-up-deep-learning-inference-using-tensorrt/

2.源码编译

2.1.下载TensorRT

直接从官网获取 https://developer.nvidia.com/tensorrt

这里给出下载的目录,可自行按需选择
tensorrt download
https://developer.nvidia.com/nvidia-tensorrt-download
https://developer.nvidia.com/nvidia-tensorrt-8x-download

这里我们使用8.2.2.1
https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.2.2.1/tars/tensorrt-8.2.2.1.linux.x86_64-gnu.cuda-10.2.cudnn8.2.tar.gz
解压

tar -zxvf tensorrt-8.2.2.1.http://linux.x86_64-gnu.cuda-10.2.cudnn8.2.tar.gz -C ./
mv TensorRT-8.2.1.8/ /TensorRT

2.2.TensorRT OSS编译

github: https://github.com/NVIDIA/TensorRT/tree/release/8.2
OSS 是 Open Source Software的缩写,该存储库包含 NVIDIA TensorRT 的开源软件 (OSS) 组件。 其中包括 TensorRT plugins和parsers(Caffe 和 ONNX)的源代码,以及演示 TensorRT 平台的用法和功能的示例应用程序。 这些开源软件组件是 TensorRT 通用版 (GA) 版本的子集,包括了一些扩展和bug修复

2.2.1.clone指定分支

git clone -b release/8.2 https://github.com/nvidia/TensorRT TensorRT
cd TensorRT
git submodule update --init --recursive

2.2.2.环境依赖

生成编译容器 https://github.com/NVIDIA/TensorRT/tree/release/8.2#setting-up-the-build-environment
准备与2.1下载TensorRT GA相同的资源依赖,包括
cuda-10.2 + cuDNN-8.2 (安装方式见附1、附2)
其余版本详见 https://github.com/NVIDIA/TensorRT/tree/release/8.2#prerequisites
这里注意TensorRT在2.1已经下载完成

export TRT_LIBPATH=/TensorRT/

2.2.3.编译

mkdir build && cd build
cmake .. -DTRT_LIB_DIR=/TensorRT/lib/ -DTRT_INC_DIR=/TensorRT/include -DCUDA_VERSION=10.2
# cmake CMAKE_CUDA_COMPILER="/usr/local/cuda/bin/nvcc"  .. -DTRT_LIB_DIR=/TensorRT/lib/ -DTRT_INC_DIR=/TensorRT/include -DCUDA_VERSION=10.2
make nvinfer_plugin -j$(nproc)
# make -j$(nproc)

1.安装指定版本的cuda toolkit

https://developer.nvidia.com/cuda-toolkit
https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=8&target_type=rpmlocal
使用rpc安装

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-rhel8-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel8-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm
sudo dnf clean all
sudo dnf -y module install nvidia-driver:latest-dkms
#sudo dnf -y install cuda
sudo dnf -y install cuda-10.2.89-1 --nogpgcheck #加上 --nogpgcheck,即可绕过GPG验证成功安装

使用runfile安装

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run

注意:补丁
使用TensorRT version >= 7.2时,cuda10.2中可能有cublas报错,安装补丁可解决,下载:
https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=rpmlocal

2.安装指定版本的cudnn

cudnn入口:https://developer.nvidia.com/cudnn
所有版本:https://developer.nvidia.com/rdp/cudnn-archive
8.2版本:https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.2.4/10.2_20210831/cudnn-10.2-linux-x64-v8.2.4.15.tgz

标签:10.2,TensorRT,编译,源码,cuda,https,nvidia,com
From: https://www.cnblogs.com/gnivor/p/17529500.html

相关文章

  • 关于调试gmsh源码过程中产生的gmsh.dll和gmsh.pdb文件无法匹配,进而导致无法载入pdb文
    省流版由于ALL_BUILD会将对应于gmsh.exe的调试文件gmsh.pdb附在对应于gmsh.dll的调试文件gmsh.pdb文件,进而导致gmsh.pdb无法和gmsh.dll文件进行版本匹配,进而导致无法载入,进而导致无法调试gmsh源码;解决办法:将对应于gmsh.exe的gmsh.pdb改为其他任意命名即可;或者仅仅生成gms......
  • 解决Flutter编译一直显示Running Gradle task 'assembleDebug'
    该问题由Gradle的Maven仓库在国外访问受限引起,使用阿里云的镜像仓库地址替代解决1.修改FlutteSDK目录下的Flutter打包配置文件flutter.gradle一般位于flutter\packages\flutter_tools\gradle\flutter.gradle1buildscript{repositories{//google()......
  • 直播源码开发,文字垂直滚动、纵向走马灯
    直播源码开发,文字垂直滚动、纵向走马灯方法一、使用系统控件ViewFlipper方式:布局文件: <ViewFlipper    android:id="@+id/view_flipper"    android:layout_width="300dp"    android:layout_height="35dp"    android:layout_centerInParen......
  • 直播商城源码,加载网页、html文件显示加载进度
    直播商城源码,加载网页、html文件显示加载进度新建加载WebViewActivity新建WebViewActivity加载网页html文件 classWebViewActivity:AppCompatActivity(){     overridefunonCreate(savedInstanceState:Bundle?){    super.onCreate(savedInstanceSta......
  • 我坚定的认为,这个源码肯定是有 BUG 的!
    你好呀,我是歪歪。上周我不是发了《我试图给你分享一种自适应的负载均衡。》这篇文章嘛,里面一种叫做“自适应负载均衡”的负载均衡策略,核心思路就是从多个服务提供者中随机选择两个出来,然后继续选择两者中“负载”最小的那个节点。前几天有读者看了文章后找到我,提出了两个问题。......
  • vscode 连接 wsl2 下 linux 配置纯 clang 编译调试环境
    安装clang和lldb本人为ArchLinux,执行命令sudopacman-Sclanglldbvscode插件vscode安装clangd和codelldb(调试用)插件,其中codelldb插件建议手动安装,官方下载连接:codelldb-linux.vsix。下载好后移进文件夹中,用vscode打开,右键该文件安装扩展即可。配置文......
  • 语音直播源码知识分享:探索新的沟通方式
     语音直播是一种借助在线平台或应用程序进行实时语音传输的形式,它在互联网发展的背景下逐渐兴起,并受到越来越多人的关注和喜爱。 随着互联网的快速发展和社交媒体的普及,传统文字、图像的沟通方式已经无法满足人们日益增长的交流需求。在这个背景下,语音直播作为一种创新的沟通......
  • 客服系统机器人源码-微信专属个人助理可对接GPT
    我们大家都见过很多微信机器人,对接了GPT以后效果非常好,可以作为微信群里的助理,帮助我们回答各种问题 现在我来分享一下微信机器人的源码,该源码是golang开发,可以实现模拟个人微信桌面版登录,监听到微信的各种消息。下面就是完整代码packagemainimport("fmt""gi......
  • 编译安装openGauss并用GDB进行调试
    编译安装openGauss并用GDB进行调试惜月夜于2021-06-2818:15:07发布1810收藏2分类专栏:openGauss文章标签:数据库版权openGauss专栏收录该内容1篇文章0订阅订阅专栏编译安装openGauss并用GDB进行调试关于编译opengauss,然后怎么去调试它,不知道花了多长时间.本来想着用......
  • SpringBoot源码初学者(一):SpringBoot功能扩展接口的使用与源码分析
     在长期的源码学习中,我一直没有找到一个讲解SpringBoot源码的文章,适合刚开始阅读源码的新手,包括我之前的写的一些文章,说实话SpringBoot的源码的确不适合新手,跳转多、结构复杂混乱,很容易迷乱其中。长时间的学习当中,也总结出这些文章的部分问题:没有说明用法,直接讲解源码,其实很......