cuda-trt 学习

2023-05-16

https://github.com/jinmin527/learning-cuda-trt

learning-cuda-trt

  • A large number of cuda/tensorrt cases
  • 在这个project中,提供大量的cuda和tensorrt学习案例
  • cuda驱动api
  • cuda运行时api
  • tensorRT基础入门
    • 基本的tensorRT学习
    • 插件、onnx解析器
  • tensorRT高阶应用
    • 导出onnx,前后处理
    • 具体项目为案例,掌握如何处理复杂情况

这是一个学习cuda、tensorrt的源代码案例项目

  1. 大量案例,从基础的cuda驱动api、运行时api到tensorrt的基础入门、tensorrt的高级进阶
  2. 模型的导出、模型的前后处理等等,多线程的封装等等
  3. 希望能够帮助你进一步掌握tensorRT

使用方法-自行配置环境

  1. 案例均使用makefile作为编译工具
    • 在其中以${@CUDA_HOME}此类带有@符号表示为特殊变量
    • 替换此类特殊变量为你系统真实环境,即可顺利使用
  2. 大部分时候,配置完毕后,可以通过make run实现编译运行

使用方法-自动配置环境

  1. 要求linux-ubuntu16.04以上系统,并配有GPU和显卡驱动大于495最佳
  2. 安装python包,pip install trtpy -U -i https://pypi.org/simple
  3. 配置快捷方式,echo alias trtpy=\"python -m trtpy\" >> ~/.bashrc
  4. 应用快捷方式:source ~/.bashrc
  5. 配置key:trtpy set-key sxaikiwik
  6. 获取并配置环境:trtpy get-env --cuda=11
    • 目前仅支持10和11,如果驱动版本不适配,会提示找不到适配的版本
  7. 自动改变配置变量:trtpy prep-vars .,把当前目录下的所有变量都自行替换
  8. 即可运行make run

Reference

  • TensorRT的B站视频讲解:https://www.bilibili.com/video/BV1Xw411f7FW
  • 官方的视频讲解:https://www.bilibili.com/video/BV15Y4y1W73E
  • trtpy前期介绍文档:https://zhuanlan.zhihu.com/p/462980738
  • 本源代码对应配套的视频教程讲解(腾讯课堂):https://ke.qq.com/course/4993141
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cuda-trt 学习 的相关文章

  • CUDA错误:在python中使用并行时初始化错误

    我的代码使用 CUDA 但运行速度仍然很慢 因此 我将其更改为使用 python 中的多处理 pool map 并行运行 但我有CUDA ERROR initialization error 这是函数 def step M self ite
  • 将 GPUJPEG 项目移植到 Windows

    我目前正在尝试移植 GPUJPEG 在 Sourceforge 上 http sourceforge net projects gpujpeg 库 基于 CUDA 从 Unix 到 Windows 现在我被卡住了 我不知道发生了什么或为什么
  • 使用 CUDA __device__ 函数时出现链接器错误 2005 和 1169(多重定义的符号)(默认情况下应内联)

    这个问题与以下问题有很大关系 A 如何将CUDA代码分成多个文件 https stackoverflow com questions 2090974 how to separate cuda code into multiple files
  • 用于类型比较的 Boost 静态断言

    以下问题给我编译器错误 我不知道如何正确编写它 struct FalseType enum value false struct TrueType enum value true template
  • cudaMallocManaged() 返回“不支持的操作”

    在 CUDA 6 0 中尝试托管内存给了我operation not supported打电话时cudaMallocManaged include cuda runtime h include
  • 寻找 CUDA 中的最大值

    我正在尝试在 CUDA 中编写代码来查找最大值 对于给定的一组数字 假设您有 20 个数字 并且内核在 2 个块 每块 5 个线程 上运行 现在假设 10 个线程同时比较前 10 个值 并且thread 2找到最大值 因此线程 2 正在更新
  • 同时使用 2 个 GPU 调用 cudaMalloc 时性能较差

    我有一个应用程序 可以在用户系统上的 GPU 之间分配处理负载 基本上 每个 GPU 都有一个 CPU 线程来启动一个GPU处理间隔当由主应用程序线程定期触发时 考虑以下图像 使用 NVIDIA 的 CUDA 分析器工具生成 作为示例GPU
  • CUDA素数生成

    当数据大小增加超过 260k 时 我的 CUDA 程序停止工作 它不打印任何内容 有人能告诉我为什么会发生这种情况吗 这是我的第一个 CUDA 程序 如果我想要更大的素数 如何在 CUDA 上使用大于 long long int 的数据类型
  • 如何在 Visual Studio 2010 中设置 CUDA 编译器标志?

    经过坚持不懈的得到error identifier atomicAdd is undefined 我找到了编译的解决方案 arch sm 20旗帜 但是如何在 VS 2010 中传递这个编译器标志呢 我已经尝试过如下Project gt P
  • 无法在 CUDA 中执行设备内核

    我正在尝试在全局内核中调用设备内核 我的全局内核是矩阵乘法 我的设备内核正在查找乘积矩阵每列中的最大值和索引 以下是代码 device void MaxFunction float Pd float max int x threadIdx
  • cuda中有模板化的数学函数吗? [复制]

    这个问题在这里已经有答案了 我一直在寻找 cuda 中的模板化数学函数 但似乎找不到 在普通的 C 中 如果我调用std sqrt它是模板化的 并且将根据参数是浮点数还是双精度数执行不同的版本 我想要这样的 CUDA 设备代码 我的内核将真
  • 使用 CUDA 进行逐元素向量乘法

    我已经在 CUDA 中构建了一个基本内核来执行逐元素两个复向量的向量 向量乘法 内核代码插入如下 multiplyElementwise 它工作正常 但由于我注意到其他看似简单的操作 如缩放向量 在 CUBLAS 或 CULA 等库中进行了
  • CUDA 矩阵加法时序,按行与按行比较按栏目

    我目前正在学习 CUDA 并正在做一些练习 其中之一是实现以 3 种不同方式添加矩阵的内核 每个元素 1 个线程 每行 1 个线程和每列 1 个线程 矩阵是方阵 并被实现为一维向量 我只需用以下命令对其进行索引 A N row col 直觉
  • 如何在cmake中添加cuda源代码的定义

    我使用的是 Visual Studio 2013 Windows 10 CMake 3 5 1 一切都可以使用标准 C 正确编译 例如 CMakeLists txt project Test add definitions D WINDOW
  • cudaSetDevice() 对 CUDA 设备的上下文堆栈有何作用?

    假设我有一个与设备关联的活动 CUDA 上下文i 我现在打电话cudaSetDevice i 会发生什么 Nothing 主上下文取代了堆栈顶部 主上下文被压入堆栈 事实上 这似乎是不一致的 我编写了这个程序 在具有单个设备的机器上运行 i
  • 有没有一种有效的方法来优化我的序列化代码?

    这个问题缺乏细节 因此 我决定创建另一个问题而不是编辑这个问题 新问题在这里 我可以并行化我的代码吗 还是不值得 https stackoverflow com questions 17937438 can i parallelize my
  • 如何为 CUDA 内核选择网格和块尺寸?

    这是一个关于如何确定CUDA网格 块和线程大小的问题 这是对已发布问题的附加问题here https stackoverflow com a 5643838 1292251 通过此链接 talonmies 的答案包含一个代码片段 见下文 我
  • 将 nvidia 运行时添加到 docker 运行时

    我正在运行虚拟机GCP配备特斯拉 GPU 并尝试部署一个PyTorch基于应用程序使用 GPU 加速 我想让 docker 使用这个 GPU 可以从容器访问它 我设法在主机上安装了所有驱动程序 并且该应用程序在那里运行良好 但是当我尝试在
  • CUDA 中指令重放的其他原因

    这是我从 nvprof CUDA 5 5 获得的输出 Invocations Metric Name Metric Description Min Max Avg Device Tesla K40c 0 Kernel MyKernel do
  • cuda-gdb 错误消息

    我尝试使用 cuda gdb 调试我的 CUDA 应用程序 但遇到了一些奇怪的错误 我设置了选项 g G O0构建我的应用程序 我可以在没有 cuda gdb 的情况下运行我的程序 但没有得到正确的结果 因此我决定使用 cuda gdb 但

随机推荐

  • Java web 中使用 log4j 将日志记录数据库

    环境参数 xff1a jdk 1 8 idea 2019 2 mysql 8 x 一 创建项目 参考链接 Intellij Idea 创建JavaWeb项目入门用IDEA将普通Web项目转Maven项目添加log4j的依赖 span cla
  • [ Excel ] 分表从总表查询对应数据 vlookup 函数

    vlookup适用于分表从总表中查询数据 参数 xff1a vlookup xff08 根据哪列去查 主键 xff0c 查询范围 总表 xff0c 需要的数据在查询范围的第几列 正整数序列 xff0c 0 xff09 61 VLOOKUP
  • Shiro升级到1.7.x

    升级步骤 原先的代码没有作修改 xff0c 只是在pom xml文件中引入了新的依赖依赖下载地址 xff1a Maven库需要引入的依赖如下 xff1a shiro span class token operator span core s
  • [ STK ](十一)STK 中搭建铱星星座

    文章目录 一 搭建完成的铱星星座3D 视图2D视图 二 铱星是什么三 搭建步骤 一 搭建完成的铱星星座 3D 视图 2D视图 二 铱星是什么 铱星系统是美国摩托罗拉公司设计的全球移动通信系统 它的天上部分是运行在7条轨道上的卫星 xff0c
  • Spring 中使用 SpringTask 实现定时任务

    文章目录 SpringBoot 中使用一 启动类添加注解二 编辑定时任务处理类三 运行项目 SpringMVC 中使用常用 96 cron 96 表达式参考链接 SpringBoot 中使用 一 启动类添加注解 64 EnableSched
  • Jacoco 计算单元测试代码覆盖率

    文章目录 实现步骤一 创建一个 96 maven 96 项目二 引入 96 Jacoco 96 的依赖三 增加 96 Jacoco maven plugin 96 相关配置四 编辑一段代码用于测试五 编写测试方法六 执行单元测试并计算代码覆
  • Junit5 快速上手使用 计算单元测试代码覆盖率

    文章目录 实现步骤一 创建一个 96 maven 96 项目二 引入 96 Junit 96 的依赖三 编辑一段代码用于测试四 编写测试方法五 执行单元测试六 计算覆盖率七 完整实现代码 实现步骤 一 创建一个maven 项目 不选择模板
  • [ STK ](十二)【代码优化】与 Matlab 互联通信,计算可见性矩阵,距离矩阵

    上文 STK xff08 十 xff09 算法优化 与 Matlab 互联通信 xff0c 获取卫星间可见性数据 xff0c 计算可见性矩阵 xff0c 距离矩阵 前言 测试中发现有之前没考虑到的情况 xff0c 做了修改结果矩阵的上三角与
  • [ Cesium ] 安装及启动

    一 安装 node https nodejs org en download 二 下载 Cesium 通过 npm 安装 xff0c 后边下载依赖的时候报错了 xff0c 所以直接下载发行包 直接下载压缩包就行 https cesium c
  • [ Cesium ] 根据卫星位置,建立实时动态连线

    实现思路 通过加载 czml 文件 xff0c 生成卫星获取卫星实体的位置 xff0c 建立连线监听卫星位置 xff0c 若发生变化 xff0c 则刷新连线 问题解决 连线动态变化 setInterval 可以监听每一帧画面或者说当启动场景
  • Markdown编辑器中对图片居中和调整大小的方法

    图片居中 博主本人在写了200余篇垃圾博文后逐渐发现 xff0c 插入的图片还是居中看起来比较美观 Markdown编辑器中对图片进行编辑的方法有很多 xff0c 最简单的方法如下 xff1a 此处添加图片描述 此处添加图片URL地址 pi
  • [ Cesium ] 根据 TLE 生成 czml 的三种方式

    文章目录 一 使用 python tle2czml 库生成二 手动爬虫三 使用 python requests 库获取四 备注 一 使用 python tle2czml 库生成 span class token keyword import
  • [ Hbase ] 单机独立安装

    文章目录 下载 Hbase安装 Hbase启动 HbaseJava API 连接 下载 Hbase http apache mirror cdnetworks com hbase span class token builtin class
  • [ Spark ] java.lang.NoSuchMethodError: com.google.common.hash.Funnels.stringFunnel

    文章目录 问题解决两种方式一 初始化 spark 时 xff0c 设置优先使用 jar 包中的依赖二 使用 shade 插件 参考链接 问题 相关环境参数 spark version xff1a 2 1 0 scala version xf
  • [ Neo4j ] Docker 安装与 Python 操作

    文章目录 安装运行Python 操作简单示例 安装 使用 docker 安装 Neo4j拉取最新的 Neo4j 镜像 docker pull neo4j 运行 运行 Neo4j 容器 docker run it d p span class
  • Windows和Linux之间如何传递数据|两台Linux之间如何传递数据

    摘要 xff1a 我们租用了一台服务器 xff0c 然后我们想要把我们写的项目上传到自己的Linux服务器中 xff0c 那么我们应该怎么上传呢 xff1f 如果我们想要从服务器中下载一些资料 xff0c 那么又该如何进行呢 xff1f 看
  • mac M1使用goland无法进行调试

    首先查看go的版本查看是否是arm版本的eg xff1a go version go version go1 16 13 darwin arm64 然后查看你的goland版本是否是Apple Sillicon版本 下载apple版本的go
  • 忘了自己是从哪里下载的源码?查看git clone的历史

    有时候忘记自己是从哪个地方下载的源码了 xff0c 这时候可以进入git clone的文件夹根目录 xff0c 在该处打开终端并输入 span class token function git span reflog date span c
  • 【详细步骤】Ubuntu18.04开启SSH服务,使用MobaXterm客户端进行远程登录

    熟悉linux的小伙伴 xff0c 都或多或少会接触到ssh服务 使用MobaXterm远程登录Ubuntu那感觉 xff0c 真是太 爽了 本人推荐此方法原因如下 xff1a 1 颜控 xff0c Ubuntu原生界面太丑 2 方便 xf
  • cuda-trt 学习

    https github com jinmin527 learning cuda trt learning cuda trt A large number of cuda tensorrt cases在这个project中 xff0c 提供