3.1.cuda运行API-概述

目录

    • 前言
    • 1. Runtime API概述
    • 总结

前言

杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。

本次课程学习精简 CUDA 教程-Runtime API 概述

课程大纲可看下面的思维导图

在这里插入图片描述

1. Runtime API概述

对于 Runtime API 你需要知道:

  1. 对于 runtime API,与 driver 最大区别是懒加载
  2. 即,第一个 runtime API 调用时,会进行 cuInit 初始化,避免驱动 api 的初始化窘境
  3. 即,第一个需要 context 的 API 调用时,会进行 context 关联并创建 context 和设置当前 context,调用 cuDevicePrimaryCtxRetain 实现
  4. 绝大部分 api 需要 context,例如查询当前显卡名称、参数、内存分配、释放等

Runtime API 所处位置如下图所示

在这里插入图片描述

图1-1 Runtime API位置

对于 Runtime API 你还需要知道:

  1. CUDA Runtime 是封装了 CUDA Driver 的高级别更友好的 API
  2. 使用 cuDevicePrimaryCtxRetain 为每个设备设置 context,不再手工管理 context,并且不提供直接管理 context 的 API(可 Driver API 管理,通常不需要)
  3. 可以更友好的执行核函数,.cpp 可以与 .cu 文件无缝对接
  4. 对应 cuda_runtime.h 和 libcudart.so
  5. runtime api 随 cuda toolkit 发布
  6. 主要知识点是核函数的使用、线程束布局、内存模型、流的使用
  7. 主要实现归纳求和、仿射变换、矩阵乘法、模型后处理,就可以解决绝大部分问题

总结

本次课程是关于 Runtime API 的概述,它是 Driver API 更高级的封装,可自动管理 context 的创建,对于 Runtime API 我们需要知道核函数、线程束、内存模型以及流的使用。而案例方面需要掌握仿射变换、模型预处理、模型后处理部分。
内存模型以及流的使用。而案例方面需要掌握仿射变换、模型预处理、模型后处理部分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/12897.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【编程的多线程学习-前章】什么是进程,PCB进程控制块抽象,cup分配,内存分配,虚拟地址,进程的通信,进程的意义

什么是进程 什么是进程/任务(Process/Task)进程就是一个运行起来的程序PCB 进程控制块抽象(PCB Process Control Block)pcb就是一个进程PCB具体包含的信息 CPU 分配 —— 进程调度(Process Scheduling)内存分配 —— 内存管理&…

简单的手机记事本app怎么查看提醒列表?

很多人平时都有随手记事的习惯,在记录事情的时候使用手机上的记事本app是一个不错的选择。有的记事本功能比较完善,不但能记事还能设置提醒,当有多条提醒内容存在时,简单的手机记事本app怎么查看提醒列表呢?以iPhone手…

数据结构--线索二叉树找前驱后继

数据结构–线索二叉树找前驱后继 中序线索二叉树找中序后继 在中序线索二叉树中找到指定结点*p的 中序后继 \color{red}中序后继 中序后继next ①若p->rtag 1,则next p->rchild ②若p->rtag 0 中序遍历――左根右 左根(左根右) 左根((左根右)根右) next …

基于matlab使用多类掩码区域的卷积神经网络对人和汽车的各个实例进行分段(附源码)

一、前言 此示例展示了如何使用基于多类掩码区域的卷积神经网络 (R-CNN) 对人和汽车的各个实例进行分段。实例分割是一种计算机视觉技术,您可以在其中检测和定位对象,同时为每个检测到的实例生成分割图。 此示例首先演示如何使用…

分治法求最近点对问题

目录 蛮力法 分治法 探究分治规模小于一定程度时采用暴力解法 蛮力法 算法思想 蛮力法,顾名思义,即穷举所有点与点之间的距离,两层循环暴力找出最近点对。算法执行可视化如图1所示,word文档GIF静态显示,附件已含动…

阿里版ChatGPT——通义千问,开箱初体验

所有行业、所有应用、所有服务都值得基于新型人工智能技术重做一遍,在带来创造性客户体验的同时,生产范式、工作范式、生活范式也将发生变化。——阿里集团董事会主席兼CEO 张勇 2023阿里云峰会上,通义千问大语言模型对外发布,宣称…

JAVA环境变量配置步骤及测试(JDK的下载 安装 环境配置教程)

目录 一:JDK的下载、安装和配置 JDK 压缩包版的安装 JDK 安装版的安装 二:环境变量配置步骤 三:测试 四、Eclipse安装 已对此文进行更新,请到新文发布地址:https://rej177.blog.csdn.net/article/details/131565…

SpringBoot通过获取请求参数或者Headers上的特殊标识实现i18n国际化

实现效果 我们大部分都是把i18n的标识放在Headers上面;而把标识放在参数上的话比较少,放参数上的话一般是在使用a标签下载某些文件不好配置请求头的时候才使用上 配置在Headers上面: 配置在params上面: 配置代码: /**…

ChatGPT Prompting开发实战(一)

第7章 ChatGPT Prompting开发实战 7.1 Prompting在LangChain框架中的应用 本节跟大家讲提示工程(Prompt Engineering),主要基于工业级的源码以及具体的项目,无论是工程人员,还是不具有技术背景的人员,大家多少都听说过提示词,或者频繁使用过,简单而言,当我们使用OpenA…

CleanMyMac X4.13中文版mac电脑优化加速工具

CleanMyMac X 可以卸掉系统的额外负担 让您的电脑明显提速 不要再因为运行缓慢的 Mac 而拖慢您的效率。CleanMyMac X已经正式发布,作为最新的系统清理和应用管理软件,可以让用户一键智能化清理Mac电脑,自动扫描Mac上的所有文件,包…

谈谈mysql——主从模式下的同步方式及半同步、MGR的部署方式

MySQL的复制模式 异步复制 MySQL的复制方式默认是异步的,主从复制涉及三个线程 master I/O master I/O线程负责写入Binlog,并将执行结果返给客户端,至于Binlog有没有被IO线程读取,读取后有没有重放,重放有没有成功&…

数据库之表的创建及数据类型

目录 创建表 简单语法: 固定格式: 案例 数据类型 文本类型 文本型 字符串型 二进制文本 枚举型 集合型 数字类型 整数型 浮点型 Date类型 DATE()日期 DATETIME() 日期和时间的组合 TIMESTAMP() 时间戳 TIME() 时间 YEAR() 2 位或 4 位…