CUDA专题14—解锁GPU极致性能:CUDA图的结构设计与创建全攻略

1. CUDA 图

CUDA 图提出了一种新的工作提交模型。在CUDA中,图是由一系列操作(如内核启动)组成,并通过依赖关系连接,这些操作的定义与执行是分开的。这样,图可以定义一次,然后重复启动。将图的定义与执行分开可以实现许多优化:首先,与流相比,CPU的启动开销减少,因为大部分设置工作提前完成;其次,将整个工作流呈现给CUDA,使得某些优化成为可能,这些优化在流的逐步工作提交机制中可能无法实现。

为了理解通过图可以实现的优化,考虑一下在流中发生的情况:当你将一个内核放入流时,主机驱动程序执行一系列操作来准备内核在GPU上的执行。这些操作是启动和执行内核所必需的开销,每次发出内核时都必须支付这些开销。对于执行时间较短的GPU内核,这些开销可能占整体端到端执行时间的一个重要比例。

使用图提交工作的过程分为三个阶段:定义、实例化和执行。

在定义阶段,程序创建图中操作的描述以及它们之间的依赖关系。

实例化阶段捕获图模板的快照,验证它,并执行大部分设置和初始化工作,目的是最小化启动时需要做的工作。结果实例称为可执行图。

可执行图可以像任何其他CUDA工作一样启动到流中。它可以被启动多次,而无需重复实例化。

1.1. 图结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI专题精讲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值