学习Cuda和Tensorrt的系列
文章平均质量分 79
从cuda到tensor的使用方法
Attention is all you
关于博客任何问题尽管询问,交流也可以。技术就是在碰撞中不断累计的。
展开
-
从0实现->训练pytorch模型->转onnx->tensorrt模型序列化->Tensorrt推理
TensorRT模型序列化的作用主要是将训练好的深度学习模型(通常是以ONNX或其他格式保存的)转换为一个能够在TensorRT中运行的优化后的引擎(engine)。在将PyTorch的.pth模型转换为TensorRT的.plan或.trt模型之前,先将其转换为ONNX(Open Neural Network Exchange)格式的主要目的是为了实现模型在不同深度学习框架之间的互操作性和可移植性。head部分是一个单独的线性层,用于将backbone输出的特征转换为最终的预测值。原创 2024-05-19 10:30:00 · 931 阅读 · 0 评论 -
cuda runtime-stream
CUDA流:一系列将在GPU上按照顺序执行的操作。可以将一个流看做是GPU上的一个任务,不同任务可以并行执行。如下图所示,利用三个流,同一个流上的任务顺序执行,不同流上的任务可以同时执行,从而实现并发操作。// cuda runtime 头文件。原创 2023-09-09 14:58:10 · 146 阅读 · 0 评论 -
cuda runtime-GPU内存模型和数据拷贝
CUDA Driver 是与 GPU 沟通的驱动级别底层 API,对 Driver API 的理解,有利于理解后续的 Runtime API。CUDA Driver 随显卡驱动发布,需要与 cudatoolkit 分开看,CUDA Driver 对应于 cuda.h 和 libcuda.so。Driver API 主要知识点是 Context 的管理机制 以及 CUDA 系列接口的开发习惯(错误检查方法),还有内存模型。原创 2023-07-30 17:44:48 · 381 阅读 · 0 评论 -
cuda runtime-hellocuda
cuda runtime是以cuda为基准开发的运行时库cuda runtime所使用的CUcontext是基于cuDevicePrimaryCtxRetain函数获取的即,cuDevicePrimaryCtxRetain会为每个设备关联一个context,通过cuDevicePrimaryCtxRetain函数可以获取到而context初始化的时机是懒加载模式,即当你调用一个runtime api时,会触发创建动作也因此,避免了cu驱动级别的init和destroy操作。使得api的调用更加容易。原创 2023-07-28 17:18:56 · 100 阅读 · 0 评论 -
cuda driver和runtime
Runtime是建立在Driver上的, 它里面的接口实际都可以拆解为Driver的接口。CUDA driver相比runtime需要做显式的device初始化, 以及context、module的管理, 这些概念在runtime中是不存在, 也是不希望用户关心的。CUDA的接口分三个层次: CUDA Library, CUDA Runtime 和CUDA Driver. 而我们的程序可以在任意一个层次上调用CUDA.层次最高的Library自不必多言,诸如cudnn等。原创 2023-07-28 16:48:35 · 402 阅读 · 0 评论 -
cuda driver-内存分配
统一内存统一内存是CUDA中的一种内存管理模型,它将主机(CPU)和设备(GPU)的内存合并为一个统一的内存地址空间。通过使用统一内存,应用程序可以透明地访问主机和设备上的内存,无需手动进行数据迁移。CUDA运行时系统会自动管理数据的迁移和同步,以实现高效的数据访问。线性内存分配线性内存分配是指将连续的内存地址用于存储数据的方式。在CUDA中,线性内存分配通常用于在设备上分配连续的内存空间,以便进行高效的数据访问。原创 2023-07-28 16:26:47 · 224 阅读 · 0 评论 -
cuda driver-上下文管理
CUcontext是CUDA(Compute Unified Device Architecture)中的一个概念,用于管理和跟踪与GPU设备的交互。它代表了一个CUDA上下文,即一个应用程序与GPU之间的通信环境。原创 2023-07-28 13:02:55 · 395 阅读 · 1 评论 -
cuda driver-接口和错误检查
CUDA Driver 是与 GPU 沟通的驱动级别底层 API,对 Driver API 的理解,有利于理解后续的 Runtime API。CUDA Driver 随显卡驱动发布,需要与 cudatoolkit 分开看,CUDA Driver 对应于 cuda.h 和 libcuda.so。Driver API 主要知识点是 Context 的管理机制 以及 CUDA 系列接口的开发习惯(错误检查方法),还有内存模型。原创 2023-07-28 12:30:04 · 243 阅读 · 1 评论