CUDA
文章平均质量分 97
cuda 教程系列,实现零基础到灵活应用的越阶,教程内容涵盖环境构建、核索引、多内存性能优化、流及大量实列应用与源码配备,大致内容如下:
1.指针知识与环境搭建
2.cuda原理与核函数实战
3.性能优化与流应用
4.经典算子实列实战
5.基于cuda部署yolo系列实战
6.实战示列均附源码
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
tangjunjun-owen
从事人工智能行业,已从事工业检测行业、智慧交通行业、智慧城市行业,已有如下经验:
ARM/jetson部署、NVIDIA性能优化、道路感知2D、单目3D、点云3D、目标跟踪、lidar/radar/vison多传感融合、中间件ROS2开发、相机标定、工业2D检测/分类/分割、数据增强、attention、transformer、模型压缩加速
计算机技能:C++、Python、cuda、tensorrt、ros2
展开
-
cuda系列详细教程-花絮
随着人工智能的发展与人才的内卷,很多企业已将深度学习算法的C++部署能力作为基本技能之一。面对诸多arm相关且资源有限的设备,往往想更好的提速,满足更高时效性,必将更多类似矩阵相关运算交给CUDA处理。同时,面对市场诸多教程与诸多博客岑子不起的教程或高昂教程费用,使读者(特别是小白)容易迷糊,无法快速入手CUDA编程,实现工程化。因此,我将结合我的工程实战经验,我将在本专栏实现CUDA系列教程,帮助读者(或小白)实现CUDA工程化,掌握CUDA编程能力。原创 2023-10-07 22:30:32 · 283 阅读 · 0 评论 -
第一章 CUDA指针预备篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。CUDA依赖指针,本篇需掌握相关指针内容,为CUDA编程提供依据。指针定义:指针是一个值为内存地址的变量或者数据对象。指针变量的值是地址。原创 2023-07-24 22:25:30 · 389 阅读 · 0 评论 -
第二章 CUDA原理篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。欲速则不达,工程化编程也需理解其工作本质,本篇带领读者了解CUDA工作原理等知识。1.主机(Host):将CPU及系统的内存(内存条)称为主机。2.设备(Device):将GPU及GPU本身的显示内存称为设备。原创 2023-07-24 22:50:46 · 318 阅读 · 0 评论 -
第三章 CUDA编译器环境配置篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。每个人都有自己喜欢的编译器,我不能将其一一列举。为此,我将以我喜欢visual studio2019作为cuda的编译器,此编译器功能较多,特别是debug模式,能更好帮助cuda开发。本节将介绍visual studio2019编译器配置cuda环境。原创 2023-08-01 22:11:55 · 558 阅读 · 0 评论 -
第四章 kernel函数基础篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。本章开始,我们正式进入编程环节。本章介绍cuda编程基础,host或device端如何调用函数,重点说明global、device与host限定词的使用。原创 2023-08-06 21:45:48 · 533 阅读 · 0 评论 -
第五章 kernel索引(index)篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。在上章节中,我们已使用了核函数global方法,但cuda编程并非如此简单,而往往多数读者会被grid block thread等相关问题难住。恰巧这些问题也会伴随kernel函数始终,也是kernel函数最为重要且核心部分(我个人认为)。原创 2023-08-09 22:16:20 · 361 阅读 · 1 评论 -
第六章 kenel矩阵计算实战篇(上篇)
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。到此为止,之前章节已让我们大致熟悉cuda相关理论与cuda函数运作原理,特别是kernel函数的线程index计算规则。为此,本节我们将正式使用cuda编写基本矩阵运算,主要涉及矩阵加法与乘法,而矩阵减法与除法与本节介绍的方法相似,将不在作为教程。原创 2023-08-12 15:33:50 · 316 阅读 · 0 评论 -
第六章 kenel矩阵计算实战篇(下篇)
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。到此为止,之前章节已让我们大致熟悉cuda相关理论与cuda函数运作原理,特别是kernel函数的线程index计算规则。为此,本节我们将正式使用cuda编写基本矩阵运算,主要涉及矩阵加法与乘法,而矩阵减法与除法与本节介绍的方法相似,将不在作为教程。原创 2023-08-12 15:50:57 · 303 阅读 · 0 评论 -
第七章 kenel实战强化篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。我相信通过以上学习,已能基本掌握kernel函数的编写,并基本掌握了kernel函数的计算规则。然,有些我们为了巩固以上基础,也为了说明kernel一些额外编码变体。为此,本节我们将通过例子实战kernel的应用。原创 2023-08-12 17:09:16 · 367 阅读 · 0 评论 -
第八章 CUDA内存应用与性能优化篇(上篇)
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。以上章节中,我们已经比较熟练掌握如何使用cuda编写自己想要的计算逻辑,已能成功编写cuda代码了。那么,另外一个重要问题值得我们关注,如何优化其性能,使其工程部署能加速运行了。而这种性能优化与cuda内存密切相关。为此,我们在本节中介绍cuda内存相关内容,并附其源码。原创 2023-08-13 13:59:07 · 1203 阅读 · 0 评论 -
第八章 CUDA内存应用与性能优化篇(中篇)
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。以上章节中,我们已经比较熟练掌握如何使用cuda编写自己想要的计算逻辑,已能成功编写cuda代码了。那么,另外一个重要问题值得我们关注,如何优化其性能,使其工程部署能加速运行了。而这种性能优化与cuda内存密切相关。为此,我们在本节中介绍cuda内存相关内容,并附其源码。原创 2023-08-13 18:35:17 · 827 阅读 · 0 评论 -
第八章 CUDA内存应用与性能优化篇(下篇)
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。以上章节中,我们已经比较熟练掌握如何使用cuda编写自己想要的计算逻辑,已能成功编写cuda代码了。那么,另外一个重要问题值得我们关注,如何优化其性能,使其工程部署能加速运行了。而这种性能优化与cuda内存密切相关。为此,我们在本节中介绍cuda内存相关内容,并附其源码。原创 2023-08-13 22:31:07 · 600 阅读 · 0 评论 -
第九章 CUDA原子(atomic)实战篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。在本章节中,我们将介绍特殊操作-原子操作(atomic),分为计算原子操作与位相关原子操作。该操作弥补cuda核函数并行对同一内存修改而导致错误结果。另外,介于后面yolo的cuda处理需要使用原子相关操作,特别是按条件筛选保留或处理对应位置的数据。原创 2023-08-22 12:14:30 · 557 阅读 · 0 评论 -
第十章 CUDA流(stream)实战篇
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。之前章节教程,我们已可编写自己设定的核函数代码,亦可从内存使用方面优化cuda编程性能。而本章节继续介绍另一种途径优化cuda性能,该途径为流stream的应用。它代表着一系列的指令的执行队列,表示GPU操作队列,按照先后顺序而依次执行。也可使用多个流并行执行多个任务。原创 2023-08-23 12:09:02 · 887 阅读 · 0 评论 -
第十一章 CUDA的NMS算子实战篇(下篇)
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。学到这里,想必已掌握cuda编程精髓,基本可熟练使用cuda编写自己逻辑的算子。然,从事人工智能行业,更多企业需要我们使用cuda实现模型部署的速度提升,则如何将深度学习相关处理使用cuda加速实现是一个核心问题。我们将使用cuda编码金典算子-NMS。原创 2023-08-28 23:04:10 · 1221 阅读 · 3 评论 -
第十一章 CUDA的NMS算子实战篇(上篇)
学习我的教程专栏,你将绝对能实现CUDA工程化,实现环境安装、index计算、kernel核函数编程、内存优化与steam性能优化、原子操作、nms的cuda算子、yolov5的cuda部署等内容,并开源教程源码。学到这里,想必已掌握cuda编程精髓,基本可熟练使用cuda编写自己逻辑的算子。然,从事人工智能行业,更多企业需要我们使用cuda实现模型部署的速度提升,则如何将深度学习相关处理使用cuda加速实现是一个核心问题。我们将使用cuda编码金典算子-NMS。原创 2023-08-27 21:47:58 · 508 阅读 · 0 评论 -
第十二章 YOLO的部署实战篇(上篇)
我将带领大家如何使用cuda部署yolov5的算法,也会涉及到tensorrt相关内容,介于我不太清楚各位现有技术能力,我将介绍基于tensorrt的yolov5模型部署,也会涉及到一些tensorrt相关知识,主要分为三个部分内容,内容一基于onnx的yolov5部署的tensorrt介绍,内容二基于cpu部署onnx的yolov5模型介绍,主要介绍如何使用C++构建前后处理逻辑,内容三``基于cuda部署的yolov5模型介绍``,主要介绍如何使用cuda构建前后处理逻辑及device端内部处理过程。原创 2023-09-03 17:35:55 · 475 阅读 · 0 评论 -
第十二章 YOLO的部署实战篇(下篇)
我将带领大家如何使用cuda部署yolov5的算法,也会涉及到tensorrt相关内容,介于我不太清楚各位现有技术能力,我将介绍基于tensorrt的yolov5模型部署,也会涉及到一些tensorrt相关知识,主要分为三个部分内容,内容一基于onnx的yolov5部署的tensorrt介绍,内容二基于cpu部署onnx的yolov5模型介绍,主要介绍如何使用C++构建前后处理逻辑,内容三``基于cuda部署的yolov5模型介绍``,主要介绍如何使用cuda构建前后处理逻辑及device端内部处理过程。原创 2023-09-04 22:22:08 · 2186 阅读 · 0 评论 -
第十三章 基于CUDA的YOLO部署实战篇
我将带领大家如何使用cuda部署yolov5的算法,也会涉及到tensorrt相关内容,介于我不太清楚各位现有技术能力,我将介绍基于tensorrt的yolov5模型部署,也会涉及到一些tensorrt相关知识,主要分为三个部分内容,内容一基于onnx的yolov5部署的tensorrt介绍,内容二基于cpu部署onnx的yolov5模型介绍,主要介绍如何使用C++构建前后处理逻辑,内容三``基于cuda部署的yolov5模型介绍``,主要介绍如何使用cuda构建前后处理逻辑及device端内部处理过程。原创 2023-09-09 18:53:47 · 393 阅读 · 0 评论 -
YOLOV8的tensorrt部署详解(目标检测模型-cpp)
基于读者需求,我写了一篇YOLOV8的tensorrt部署内容,我将会使用2篇文章介绍,其一基于onnx转tensorrt的cpp部署内容,其二也是基于onnx转tensorrt的cuda部署内容。本文是基于cpp的tensorrt部署内容,该部分内容包含yolov8的环境安装、基于目标检测yolov8的训练与推理内容、onnx格式转换与格式说明、yolov8的onnx转engine方法和代码解读、yolov8部署tensorrt代码解读。原创 2023-10-27 23:20:00 · 421 阅读 · 0 评论 -
YOLOV8的tensorrt部署详解(目标检测模型-CUDA)
基于读者需求,我写了一篇YOLOV8的tensorrt部署内容,我将会使用2篇文章介绍,其一基于onnx转tensorrt的cpp部署内容,其二也是基于onnx转tensorrt的cuda部署内容。本文是基于cuda的tensorrt部署内容,主要内容介绍yolov8整个cuda部署函数代码及解读所有cuda编写的代码含义,并附源码与相关图示。注:本文代码修改我的yolov5的cuda部署版本!!!yolo.h: yolo模型需要参数或函数utils.h:tensorrt需要使用的一些结构。原创 2023-10-28 21:53:54 · 422 阅读 · 0 评论