6.30.图形管理

本节介绍CUDA运行时应用程序编程接口的图形管理功能。

功能

__主机__cuda错误_t cuda设备获取图形内存属性(整数 装置,cudaGraphMemAttributeType(cudaGraph内存属性类型) 属性,无效* 价值)
查询与图形相关的异步分配属性。
__主机__cuda错误_t cuda设备图形MemTrim(整数 装置)
释放缓存在指定设备上的未使用内存,以便与图形一起返回到操作系统。
__主机__cuda错误_t cuda设备集图形内存属性(整数 装置,cudaGraphMemAttributeType(cudaGraph内存属性类型) 属性,无效* 价值)
设置与图形相关的异步分配属性。
__设备__cuda图形执行_t cudaGetCurrentGraphExec(获取当前图形执行)(无效)
获取当前运行的设备图形id。
__主机__cuda错误_t cudaGraphAddChildGraph节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cuda图形_t childGraph(子图形))
创建子图形节点并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddDependencies(cudaGraph添加依赖项)(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,大小_t num依赖项)
将依存边添加到图形中。
__主机__cuda错误_t cuda图形添加依赖项_v2(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,常量cuda图形边缘数据* 边缘数据,大小_t num依赖项)
将依存边添加到图形中。(12.3+).
__主机__cuda错误_t cudaGraphAddEmpty节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项)
创建一个空节点并将其添加到图形中。
__主机__cuda错误_t cudaGraph添加事件记录节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cuda事件_t 事件)
创建事件记录节点并将其添加到图形中。
__主机__cuda错误_t cudaGraph添加事件等待节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cuda事件_t 事件)
创建事件等待节点并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddExternalSemaphores信号节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cuda外部信号机信号节点参数* 节点参数)
创建外部信号量信号节点并将其添加到图形中。
__主机__cuda错误_t cudaGraph添加外部信号等待节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 节点参数)
创建外部信号量等待节点并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddHostNode(cudaGraph添加主机节点)(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cuda主机节点参数* pNodeParams(节点参数))
创建主机执行节点并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddKernel节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaKernel节点参数* pNodeParams(节点参数))
创建内核执行节点并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddMemAlloc节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cudaMemAllocNode参数* 节点参数)
创建分配节点并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddMemFree节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,无效* 数字功率变换器)
创建无内存节点并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddMemcpy节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaMemcpy3D参数* pCopyParams(复制参数))
创建一个memcpy节点并将其添加到图形中。
__主机__cuda错误_t cudaGraph添加成员节点1D(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,无效* 数据传输系统,常量void* src公司,大小_t 计数,cuda内存类型 友善的)
创建一个1D内存节点并将其添加到图形中。
__主机__cuda错误_t cudaGraph从符号添加成员节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,无效* 数据传输系统,常量void* 符号,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
创建要从设备上的符号复制的memcpy节点,并将其添加到图形中。
__主机__cuda错误_t cuda图形添加成员节点到符号(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量void* 符号,常量void* src公司,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
创建一个memcpy节点以复制到设备上的符号,并将其添加到图形中。
__主机__cuda错误_t cudaGraphAddMemset节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaMemset参数* p成员集参数)
创建一个memset节点并将其添加到图形中。
__主机__cuda错误_t cuda图形添加节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
将任意类型的节点添加到图形中。
__主机__cuda错误_t cudaGraph添加节点_v2(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,常量cuda图形边缘数据* 依赖性数据,大小_t num依赖项,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
将任意类型的节点添加到图形中(12.3+)。
__主机__cuda错误_t cudaGraphChildGraphNodeGetGraph(cudaGraph子图形节点获取图形)(cuda图形节点_t 节点,cuda图形_t* pGraph(图形))
获取子图形节点的嵌入图形的句柄。
__主机__cuda错误_t cuda图形克隆(cuda图形_t* pGraphClone(图形克隆),cuda图形_t 原始图形)
克隆图形。
__主机__cuda错误_t cuda图形条件句柄创建(cuda图形条件句柄* p手柄_出,cuda图形_t 图表,无符号int 默认启动值=0,无符号int 旗帜=0)
创建条件句柄。
__主机__cuda错误_t cuda图形创建(cuda图形_t* pGraph(图形),无符号int 旗帜)
创建图形。
__主机__cuda错误_t cuda图形调试点打印(cuda图形_t 图表,常量字符* 路径,无符号int 旗帜)
编写一个描述图形结构的DOT文件。
__主机__cuda错误_t cuda图形销毁(cuda图形_t 图表)
销毁图形。
__主机__cuda错误_t cudaGraphDestroy节点(cuda图形节点_t 节点)
从图形中删除节点。
__主机__cuda错误_t cudaGraph事件记录节点获取事件(cuda图形节点_t 节点,cuda事件_t* 事件_输出)
返回与事件记录节点关联的事件。
__主机__cuda错误_t cudaGraphEventRecordNodeSet事件(cuda图形节点_t 节点,cuda事件_t 事件)
设置事件记录节点的事件。
__主机__cuda错误_t cudaGraphEventWaitNodeGetEvent(cudaGraph事件等待节点获取事件)(cuda图形节点_t 节点,cuda事件_t* 事件_输出)
返回与事件等待节点关联的事件。
__主机__cuda错误_t cudaGraphEventWaitNodeSet事件(cuda图形节点_t 节点,cuda事件_t 事件)
设置事件等待节点的事件。
__主机__cuda错误_t cudaGraphExecChildGraphNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,cuda图形_t childGraph(子图形))
更新给定graphExec中的子图形节点中的节点参数。
__主机__cuda错误_t cudaGraphExec破坏(cuda图形执行_t graphExec(图形执行))
销毁可执行图形。
__主机__cuda错误_t cudaGraphExecEventRecordNodeSet事件(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,cuda事件_t 事件)
设置给定graphExec中事件记录节点的事件。
__主机__cuda错误_t cudaGraphExecEventWaitNodeSet事件(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,cuda事件_t 事件)
设置给定graphExec中事件等待节点的事件。
__主机__cuda错误_t cudaGraphExecExternalSemaphores信号节点设置参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,常量cuda外部信号机信号节点参数* 节点参数)
设置给定graphExec中外部信号量信号节点的参数。
__主机__cuda错误_t cudaGraphExecExternalSemaphoresWaitNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,常量cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 节点参数)
设置给定graphExec中外部信号量等待节点的参数。
__主机__cuda错误_t cudaGraphExecGetFlags(cudaGraph执行获取标记)(cuda图形执行_t graphExec(图形执行),unsigned long long* 旗帜)
查询可执行图的实例化标志。
__主机__cuda错误_t cudaGraphExecHostNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cuda主机节点参数* pNodeParams(节点参数))
设置给定graphExec中主机节点的参数。
__主机__cuda错误_t cudaGraphExecKernelNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cudaKernel节点参数* pNodeParams(节点参数))
设置给定graphExec中内核节点的参数。
__主机__cuda错误_t cudaGraphExecMemcpyNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cudaMemcpy3D参数* pNodeParams(节点参数))
设置给定graphExec中memcpy节点的参数。
__主机__cuda错误_t cudaGraphExecMemcpyNodeSet参数1D(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,无效* 数据传输系统,常量void* src公司,大小_t 计数,cuda内存类型 友善的)
设置给定graphExec中memcpy节点的参数,以执行一维复制。
__主机__cuda错误_t cudaGraphExecMemcpyNodeSet参数源符号(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,无效* 数据传输系统,常量void* 符号,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置给定graphExec中要从设备上的符号复制的memcpy节点的参数。
__主机__cuda错误_t cudaGraphExecMemcpyNodeSet参数到符号(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量void* 符号,常量void* src公司,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置给定graphExec中memcpy节点的参数,以复制到设备上的符号。
__主机__cuda错误_t cudaGraphExecMemsetNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cudaMemset参数* pNodeParams(节点参数))
设置给定graphExec中memset节点的参数。
__主机__cuda错误_t cudaGraphExecNodeSet参数(cuda图形执行_t graphExec(图形执行),cuda图形节点_t 节点,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
更新实例化图中的图节点参数。
__主机__cuda错误_t cudaGraphExec更新(cuda图形执行_t hGraphExec公司,cuda图形_t h图形,cudaGraphExecUpdateResultInfo(cudaGraph执行更新结果信息)* 结果信息)
检查是否可以使用图形更新可执行图形,如果可能,请执行更新。
__主机__cuda错误_t cudaGraphExternal信号节点获取参数(cuda图形节点_t h节点,cuda外部信号机信号节点参数* 参数_out)
返回外部信号量信号节点的参数。
__主机__cuda错误_t cudaGraphExternalSemaphores信号节点设置参数(cuda图形节点_t h节点,常量cuda外部信号机信号节点参数* 节点参数)
设置外部信号灯信号节点的参数。
__主机__cuda错误_t cuda图形外部信号量WaitNodeGetParams(cuda图形节点_t h节点,cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 参数_out)
返回外部信号量等待节点的参数。
__主机__cuda错误_t cudaGraphExternalSemaphoresWaitNodeSet参数(cuda图形节点_t h节点,常量cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 节点参数)
设置外部信号灯等待节点的参数。
__主机__cuda错误_t cuda图形获取边缘(cuda图形_t 图表,cuda图形节点_t* ,cuda图形节点_t* ,大小_t* numEdges数)
返回图形的依赖边。
__主机__cuda错误_t cudaGraphGetEdges_v2(cuda图形_t 图表,cuda图形节点_t* ,cuda图形节点_t* ,cuda图形边缘数据* 边缘数据,大小_t* numEdges数)
返回图形的依赖边(12.3+)。
__主机__cuda错误_t cuda图形获取节点(cuda图形_t 图表,cuda图形节点_t* 节点,大小_t* num个节点)
返回图形的节点。
__主机__cuda错误_t cuda图形获取根节点(cuda图形_t 图表,cuda图形节点_t* pRootNodes(根节点),大小_t* pNumRootNodes(根节点数))
返回图形的根节点。
__主机__cuda错误_t cudaGraphHostNodeGetParams(cudaGraph主机节点获取参数)(cuda图形节点_t 节点,cuda主机节点参数* pNodeParams(节点参数))
返回主机节点的参数。
__主机__cuda错误_t cudaGraphHostNodeSet参数(cuda图形节点_t 节点,常量cuda主机节点参数* pNodeParams(节点参数))
设置主机节点的参数。
__主机__cuda错误_t cudaGraph实例化(cuda图形执行_t* pGraphExec(图形执行),cuda图形_t 图表,无符号长-长 旗帜=0)
从图形创建可执行图形。
__主机__cuda错误_t 带有标志的cudaGraphInstantiate(cuda图形执行_t* pGraphExec(图形执行),cuda图形_t 图表,无符号长-长 旗帜=0)
从图形创建可执行图形。
__主机__cuda错误_t 带有参数的cudaGraphInstantiate(cuda图形执行_t* pGraphExec(图形执行),cuda图形_t 图表,cudaGraphInstantiateParams(cudaGraph实例化参数)* 实例化参数)
从图形创建可执行图形。
__主机__cuda错误_t cudaGraphKernelNodeCopyAttributes(cudaGraph内核节点副本属性)(cuda图形节点_t hSrc公司,cuda图形节点_t 总部)
将属性从源节点复制到目标节点。
__主机__cuda错误_t cudaGraphKernelNodeGetAttribute(cudaGraph内核节点获取属性)(cuda图形节点_t h节点,cudaKernelNodeAttrID 属性,cudaKernel节点属性值* value_out(输出值))
查询节点属性。
__主机__cuda错误_t cudaGraphKernelNodeGetParams(cudaGraph内核节点获取参数)(cuda图形节点_t 节点,cudaKernel节点参数* pNodeParams(节点参数))
返回内核节点的参数。
__主机__cuda错误_t cudaGraphKernelNodeSet属性(cuda图形节点_t h节点,cudaKernelNodeAttrID 属性,常量cudaKernelNodeAttrValue* 价值)
设置节点属性。
__设备__cuda错误_t cudaGraphKernelNodeSet已启用(cuda图形设备节点_t 节点,布尔 使可能)
启用或禁用给定的内核节点。
__设备__cuda错误_t cudaGraphKernelNodeSetGridDim(cuda图形设备节点_t 节点,尺寸3 网格尺寸)
更新给定内核节点的网格维度。
模板<类型名T>__设备__cuda错误_t cudaGraphKernelNodeSet参数(cuda图形设备节点_t 节点,大小_t 抵消,常数T& 价值)
更新给定内核节点的内核参数。
__设备__cuda错误_t cudaGraphKernelNodeSet参数(cuda图形设备节点_t 节点,大小_t 抵消,常量void* 价值,大小_t 大小)
更新给定内核节点的内核参数。
__主机__cuda错误_t cudaGraphKernelNodeSet参数(cuda图形节点_t 节点,常量cudaKernel节点参数* pNodeParams(节点参数))
设置内核节点的参数。
__设备__cuda错误_t cudaGraphKernelNodeUpdates应用(常数cudaGraphKernelNode更新* 更新,大小_t 更新计数)
批处理应用多个内核节点更新。
__主机____设备__cuda错误_t cudaGraph启动(cuda图形执行_t graphExec(图形执行),cudaStream_t 流动)
在流中启动可执行图形。
__主机__cuda错误_t cudaGraphMemAllocNode获取参数(cuda图形节点_t 节点,cudaMemAllocNode参数* 参数_out)
返回内存分配节点的参数。
__主机__cuda错误_t cudaGraphMemFreeNode获取参数(cuda图形节点_t 节点,无效* dptr_输出)
返回无内存节点的参数。
__主机__cuda错误_t cudaGraphMemcpyNode获取参数(cuda图形节点_t 节点,cudaMemcpy3D参数* pNodeParams(节点参数))
返回memcpy节点的参数。
__主机__cuda错误_t cudaGraphMemcpyNodeSet参数(cuda图形节点_t 节点,常量cudaMemcpy3D参数* pNodeParams(节点参数))
设置memcpy节点的参数。
__主机__cuda错误_t cudaGraphMemcpyNodeSet参数1D(cuda图形节点_t 节点,无效* 数据传输系统,常量void* src公司,大小_t 计数,cuda内存类型 友善的)
设置memcpy节点的参数以执行一维复制。
__主机__cuda错误_t cuda图形内存节点集参数FromSymbol(cuda图形节点_t 节点,无效* 数据传输系统,常量void* 符号,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置要从设备上的符号复制的memcpy节点参数。
__主机__cuda错误_t cudaGraphMemcpyNodeSet参数到符号(cuda图形节点_t 节点,常量void* 符号,常量void* src公司,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置memcpy节点的参数以复制到设备上的符号。
__主机__cuda错误_t cudaGraphMemsetNode获取参数(cuda图形节点_t 节点,cudaMemset参数* pNodeParams(节点参数))
返回memset节点的参数。
__主机__cuda错误_t cudaGraphMemsetNodeSet参数(cuda图形节点_t 节点,常量cudaMemset参数* pNodeParams(节点参数))
设置memset节点的参数。
__主机__cuda错误_t cudaGraphNodeFindInClone(cudaGraph节点查找克隆)(cuda图形节点_t* p节点,cuda图形节点_t 原始节点,cuda图形_t 克隆图形)
查找节点的克隆版本。
__主机__cuda错误_t cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项)(cuda图形节点_t 节点,cuda图形节点_t* p依赖项,大小_t* pNum依赖项)
返回节点的依赖项。
__主机__cuda错误_t cudaGraphNodeGetDependencies_v2(cuda图形节点_t 节点,cuda图形节点_t* p依赖项,cuda图形边缘数据* 边缘数据,大小_t* pNum依赖项)
返回节点的依赖项(12.3+)。
__主机__cuda错误_t cudaGraphNode获取从属节点(cuda图形节点_t 节点,cuda图形节点_t* pDependentNodes相关节点,大小_t* pNumDependentNodes(相关节点数))
返回节点的从属节点。
__主机__cuda错误_t cudaGraphNodeGetDependentNodes_v2(cuda图形节点_t 节点,cuda图形节点_t* pDependentNodes相关节点,cuda图形边缘数据* 边缘数据,大小_t* pNumDependentNodes(相关节点数))
返回节点的从属节点(12.3+)。
__主机__cuda错误_t cudaGraphNode已启用(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,无符号int* 已启用)
查询给定graphExec中的节点是否已启用。
__主机__cuda错误_t cuda图形节点获取类型(cuda图形节点_t 节点,cudaGraphNodeType(cudaGraph节点类型)** p类型)
返回节点的类型。
__主机__cuda错误_t cudaGraphNodeSet已启用(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,无符号int 已启用)
启用或禁用给定graphExec中的指定节点。
__主机__cuda错误_t cudaGraphNodeSet参数(cuda图形节点_t 节点,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
更新图形节点的参数。
__主机__cuda错误_t cudaGraphRelease用户对象(cuda图形_t 图表,cuda用户对象_t 对象,无符号int 计数=1)
从图形中释放用户对象引用。
__主机__cuda错误_t cudaGraphRemoveDependencies(cudaGraph移除依赖项)(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,大小_t num依赖项)
从图形中删除依赖关系边。
__主机__cuda错误_t cudaGraphRemoveDependencies_v2(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,常量cuda图形边缘数据* 边缘数据,大小_t num依赖项)
从图形中移除依存边。(12.3+).
__主机__cuda错误_t cudaGraphRetainUser对象(cuda图形_t 图表,cuda用户对象_t 对象,无符号int 计数=1,无符号int 旗帜=0)
从图形中保留对用户对象的引用。
__设备__空隙cuda图形设置条件(cuda图形条件句柄 手柄,无符号int 价值)
设置与条件节点关联的条件值。
__主机__cuda错误_t cudaGraph上传(cuda图形执行_t graphExec(图形执行),cudaStream_t 流动)
在流中上载可执行图形。
__主机__cuda错误_t cuda用户对象创建(cuda用户对象_t* 对象_输出,无效* 脉冲重复频率,cuda主机Fn_t 破坏,无符号int 初始参考计数,无符号int 旗帜)
创建用户对象。
__主机__cuda错误_t cuda用户对象释放(cuda用户对象_t 对象,无符号int 计数=1)
释放对用户对象的引用。
__主机__cuda错误_t cuda用户对象保留(cuda用户对象_t 对象,无符号int 计数=1)
保留对用户对象的引用。

功能

__主机__cuda错误_tcudaDeviceGetGraphMemAttribute(int 装置,cudaGraphMemAttributeType(cudaGraph内存属性类型) 属性,无效* 价值)
查询与图形相关的异步分配属性。
参数
装置
-指定查询的范围
属性
-要获取的属性
价值
-检索到的值
描述

有效属性包括:

注:

另请参见:

cuda设备集图形内存属性,cudaGraphAddMemAlloc节点,cudaGraphAddMemFree节点,cuda设备图形MemTrim,cudaMalloc异步,cuda自由异步

__主机__cuda错误_tcudaDeviceGraphMemTrim(整数 装置)
释放缓存在指定设备上的未使用内存,以便与图形一起返回到操作系统。
参数
装置
-应为其释放缓存内存的设备。
描述

当前正在执行或计划执行的图未使用的块被释放回操作系统。

注:

另请参见:

cudaGraphAddMemAlloc节点,cudaGraphAddMemFree节点,cuda设备获取图形内存属性,cuda设备集图形内存属性,cudaMalloc异步,cuda自由异步

__主机__cuda错误_tcudaDeviceSetGraphMemAttribute(int 装置,cudaGraphMemAttributeType(cudaGraph内存属性类型) 属性,无效* 价值)
设置与图形相关的异步分配属性。
参数
装置
-指定查询的范围
属性
-要获取的属性
价值
-指向要设置的值的指针
描述

有效属性包括:

注:

另请参见:

cuda设备获取图形内存属性,cudaGraphAddMemAlloc节点,cudaGraphAddMemFree节点,cuda设备图形MemTrim,cudaMalloc异步,cuda自由异步

__设备__cuda图形执行_tcudaGetCurrentGraphExec(无效)[内联]
获取当前运行的设备图形id。
退换商品

返回当前设备图id,如果调用位于设备图之外,则返回0。

描述

获取当前运行的设备图形id。

另请参见:

cudaGraph启动

__主机__cuda错误_tcudaGraphAddChildGraph节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cuda图形_t childGraph(子图形))
创建子图形节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
childGraph(子图形)
-要克隆到此节点的图形
描述

创建执行嵌入图形的新节点,并将其添加到图表具有num依赖项通过指定的依赖项p依赖项。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

如果h图形包含分配节点或空闲节点,则此调用将返回错误。

节点执行嵌入的子图。子图形在此调用中被克隆。

注:

另请参见:

cuda图形添加节点,cudaGraphChildGraphNodeGetGraph(cudaGraph子图形节点获取图形),cuda图形创建,cudaGraphDestroy节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemcpy节点,cudaGraphAddMemset节点,cuda图形克隆

__主机__cuda错误_tcudaGraphAddDependencies(cudaGraph添加依赖项)(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,大小_t num依赖项)
将依存边添加到图形中。
参数
图表
-向其中添加依赖项的图形
-提供依赖项的节点数组
-从属节点阵列
num依赖项
-要添加的依赖项数
描述

要添加的依赖项的数量由定义num依赖项中的元素p来自p收件人在相应的索引处定义依赖项。中的每个节点p来自p收件人必须属于图表.

如果num依赖项是0,元素在p来自p收件人将被忽略。指定现有依赖项将返回错误。

注:

另请参见:

cudaGraphRemoveDependencies(cudaGraph移除依赖项),cuda图形获取边缘,cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcudaGraphAddDependencies_v2(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,常量cuda图形边缘数据* 边缘数据,大小_t num依赖项)
将依存边添加到图形中。(12.3+).
参数
图表
-向其中添加依赖项的图形
-提供依赖项的节点数组
-从属节点阵列
边缘数据
-可选的边缘数据数组。如果为NULL,则假定为默认(零)边缘数据。
num依赖项
-要添加的依赖项数
描述

要添加的依赖项的数量由定义num依赖项中的元素p来自p收件人在相应的索引处定义依赖项。中的每个节点p来自p收件人必须属于图表.

如果num依赖项是0,元素在p来自p收件人将被忽略。指定现有依赖项将返回错误。

注:

另请参见:

cudaGraphRemoveDependencies(cudaGraph移除依赖项),cuda图形获取边缘,cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcudaGraphAddEmpty节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项)
创建一个空节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
描述

创建不执行任何操作的新节点,并将其添加到图表具有num依赖项通过指定的依赖项p依赖项。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

空节点在执行过程中不执行任何操作,但可用于传递排序。例如,分阶段执行图中有两组n个节点,它们之间有一个屏障,可以用一个空节点和2*n个依赖边表示,而不是没有空节点和n^2依赖边。

注:

另请参见:

cuda图形添加节点,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraph添加事件记录节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cuda事件_t 事件)
创建事件记录节点并将其添加到图形中。
参数
pGraph节点
图表
p依赖项
num依赖项
-依赖项数量
事件
-节点的事件
描述

创建新的事件记录节点并将其添加到h图形具有num依赖项通过指定的依赖项依赖关系和中指定的事件事件。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。依赖关系可能没有任何重复条目。新节点的句柄将返回phGraph节点.

图表的每次启动都会记录事件捕获节点依赖项的执行。

这些节点不能在循环或条件中使用。

注:

另请参见:

cuda图形添加节点,cudaGraph添加事件等待节点,带有标志的cuda事件记录,cudaStream等待事件,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraph添加事件等待节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cuda事件_t 事件)
创建事件等待节点并将其添加到图形中。
参数
pGraph节点
图表
p依赖项
num依赖项
-依赖项数量
事件
-节点的事件
描述

创建新的事件等待节点并将其添加到h图形具有num依赖项通过指定的依赖项依赖关系和中指定的事件事件。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。依赖关系可能没有任何重复条目。新节点的句柄将返回phGraph节点.

图形节点将等待中捕获的所有工作事件。请参阅cu事件记录()获取事件捕获内容的详细信息。如果适用,将在设备上高效执行同步。事件可能来自与发射流不同的上下文或设备。

这些节点不能在循环或条件中使用。

注:

另请参见:

cuda图形添加节点,cudaGraph添加事件记录节点,带有标志的cuda事件记录,cudaStream等待事件,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraphAddExternalSemaphores信号节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cuda外部信号机信号节点参数* 节点参数)
创建外部信号量信号节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
节点参数
-节点的参数
描述

创建一个新的外部信号量信号节点并将其添加到图表具有num依赖项通过指定的依赖项依赖关系和中指定的参数节点参数。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。依赖关系可能没有任何重复条目。新节点的句柄将返回pGraph节点.

启动节点时,对一组外部分配的信号量对象执行信号操作。操作将在完成所有节点的依赖项后发生。

注:

另请参见:

cuda图形添加节点,cudaGraphExternal信号节点获取参数,cudaGraphExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraph添加外部信号等待节点,cudaImportExternal信号量,cuda信号外部信号异步,cudaWaitExternal信号异步,cuda图形创建,cudaGraphDestroy节点,cudaGraph添加事件记录节点,cudaGraph添加事件等待节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraph添加外部信号等待节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 节点参数)
创建外部信号量等待节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
节点参数
-节点的参数
描述

创建一个新的外部信号量等待节点并将其添加到图表具有num依赖项通过指定的依赖项依赖关系和中指定的参数节点参数。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。依赖关系可能没有任何重复条目。新节点的句柄将返回pGraph节点.

启动节点时,对一组外部分配的信号量对象执行等待操作。节点的依赖项等待操作完成后才会启动。

注:

另请参见:

cuda图形添加节点,cuda图形外部信号量WaitNodeGetParams,cudaGraphExternalSemaphoresWaitNodeSet参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphAddExternalSemaphores信号节点,cudaImportExternal信号量,cuda信号外部信号异步,cudaWaitExternal信号异步,cuda图形创建,cudaGraphDestroy节点,cudaGraph添加事件记录节点,cudaGraph添加事件等待节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcuda图形添加主机节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cuda主机节点参数* pNodeParams(节点参数))
创建主机执行节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
pNodeParams(节点参数)
-主机节点的参数
描述

创建新的CPU执行节点并将其添加到图表具有num依赖项通过指定的依赖项p依赖项和中指定的参数pNodeParams(节点参数)。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

启动图形时,节点将调用指定的CPU功能。带有预Volta的MPS不支持主机节点GPU。

注:

另请参见:

cuda图形添加节点,cuda启动主机功能,cudaGraphHostNodeGetParams(cudaGraph主机节点获取参数),cudaGraphHostNodeSet参数,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraphAddKernel节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaKernel节点参数* pNodeParams(节点参数))
创建内核执行节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
pNodeParams(节点参数)
-GPU执行节点的参数
描述

创建一个新的内核执行节点并将其添加到图表具有num依赖项通过指定的依赖项p依赖项和中指定的参数pNodeParams(节点参数)。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

这个cudaKernel节点参数结构定义为:

结构cudaKernel节点参数{空隙*函数调光3网格尺寸调光3块Dim无符号整型共享内存字节空隙**内核参数空隙**额外的};

启动图时,节点将调用内核函数在上(网格尺寸。x个x个网格尺寸。x个网格尺寸。z(z))方块网格。每个块包含(块尺寸。x个x个块尺寸。x个块尺寸。z(z))线程。

共享内存设置每个线程块可用的动态共享内存量。

内核参数到函数可以通过以下两种方式之一指定:

1) 可以通过指定内核参数内核参数。如果内核有N个参数,则内核参数需要是N个指针的数组。每个指针,来自内核参数[0]至内核参数[N-1],指向将从中复制实际参数的内存区域。内核参数的数量和它们的偏移量和大小不需要指定,因为这些信息是直接从内核映像中检索的。

2) 应用程序还可以将内核参数打包到通过传入的单个缓冲区中额外的这给应用程序带来了负担,需要知道每个内核参数的大小以及缓冲区内的对齐/填充。这个额外的参数的存在允许此函数接受其他不太常用的参数。额外的指定额外设置的名称及其相应值的列表。每个额外的设置名称都会立即跟随通过相应的值。列表必须以NULL或CU_LAUNCH_PARAM_END结尾。

错误cuda错误无效值如果内核参数同时指定了内核参数额外的(即两者内核参数额外的非空)。

这个内核参数额外的数组及其指向的参数值在此调用期间被复制。

注:

使用图形启动的内核不得使用纹理和曲面引用。通过任何纹理或表面进行阅读或书写引用是未定义的行为。此限制不适用于纹理和曲面对象。

注:

另请参见:

cuda图形添加节点,cudaLaunchKernel,cudaGraphKernelNodeGetParams(cudaGraph内核节点获取参数),cudaGraphKernelNodeSet参数,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraphAddMemAlloc节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cudaMemAllocNode参数* 节点参数)
创建分配节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
节点参数
-节点的参数
描述

创建新的分配节点并将其添加到图表具有num依赖项通过指定的依赖项p依赖项和中指定的参数节点参数。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

什么时候?cudaGraphAddMemAlloc节点创建一个分配节点,它返回中的分配地址节点参数.dptr。分配的地址在实例化和启动期间保持不变。

如果在同一个图中释放了分配,可以使用cudaGraphAddMemFree节点,可以通过在分配节点之后但在自由节点之前排序的节点访问分配。这些分配不能在所属图之外释放,并且在所属图形中只能释放一次。

如果分配没有在同一个图中释放,那么它不仅可以被图中排序的节点访问在分配节点之后,也可以在图的执行之后但在分配之前按流操作排序释放。

未在同一图形中释放的分配可以通过以下方式释放:

  • 将分配传递给cudaMemFreeAsync或cudaMemFere;

  • 启动一个带有该分配的空闲节点的图;

  • 指定cudaGraphInstantiateFlag自动释放启动在实例化期间,这使得每次启动的行为就像它为每个未解冻的分配调用cudaMemFreeAsync一样。

在拥有的图和另一个图中都不可能释放分配。如果在同一时间释放分配图中,不能将空闲节点添加到另一个图中。如果在另一个图中释放了分配,则空闲节点将无法再添加到所属图形中。

以下限制适用于包含分配和/或内存空闲节点的图形:

  • 无法删除图形的节点和边。

  • 图形不能在子节点中使用。

  • 在任何时间点都只能存在一个图的实例化。

  • 无法克隆图形。

注:

另请参见:

cuda图形添加节点,cudaGraphAddMemFree节点,cudaGraphMemAllocNode获取参数,cuda设备图形MemTrim,cuda设备获取图形内存属性,cuda设备集图形内存属性,cudaMalloc异步,cuda自由异步,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraph添加事件记录节点,cudaGraph添加事件等待节点,cudaGraphAddExternalSemaphores信号节点,cudaGraph添加外部信号等待节点,cudaGraphAddKernel节点,cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraphAddMemFree节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,无效* 数字功率变换器)
创建无内存节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
数字功率变换器
-要释放的内存地址
描述

创建新的无内存节点并将其添加到图表具有num依赖项通过指定的依赖项p依赖项和中指定的地址数字功率变换器。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

cudaGraphAddMemFree节点将返回cuda错误无效值如果用户试图释放:

  • 在同一个图中分配两次。

  • 分配节点未返回的地址。

  • 无效的地址。

以下限制适用于包含分配和/或内存空闲节点的图形:

  • 无法删除图形的节点和边。

  • 图形不能在子节点中使用。

  • 在任何时间点都只能存在一个图的实例化。

  • 无法克隆图形。

注:

另请参见:

cuda图形添加节点,cudaGraphAddMemAlloc节点,cudaGraphMemFreeNode获取参数,cuda设备图形MemTrim,cuda设备获取图形内存属性,cuda设备集图形内存属性,cudaMalloc异步,cuda自由异步,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraph添加事件记录节点,cudaGraph添加事件等待节点,cudaGraphAddExternalSemaphores信号节点,cudaGraph添加外部信号等待节点,cudaGraphAddKernel节点,cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraphAddMemcpy节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaMemcpy3D参数* pCopyParams(复制参数))
创建一个memcpy节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
pCopyParams(复制参数)
-内存副本的参数
描述

创建一个新的memcpy节点并将其添加到图表具有num依赖项通过指定的依赖项p依赖项。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

启动图形时,节点将执行以下描述的memcpypCopyParams(复制参数)。请参阅cudaMemcpy3D()有关结构及其限制的描述。

如果系统包含至少一个设备,Memcpy节点对受管内存有一些额外的限制设备属性的值为零cudaDevAttrConcurrentManagedAccess.

注:

另请参见:

cuda图形添加节点,cudaMemcpy3D,cuda图形添加成员节点到符号,cudaGraph从符号添加成员节点,cudaGraph添加成员节点1D,cudaGraphMemcpyNode获取参数,cudaGraphMemcpyNodeSet参数,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraph添加成员节点1D(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,无效* 数据传输系统,常量void* src公司,大小_t 计数,cuda内存类型 友善的)
创建一个1D内存节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
数据传输系统
-目标存储器地址
src公司
-源存储器地址
计数
-要复制的大小(字节)
友善的
-转让类型
描述

创建新的1D成员节点并将其添加到图表具有num依赖项通过指定的依赖项p依赖项。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

启动图形时,节点将复制计数指向的内存区域中的字节src公司指向的内存区域数据传输系统,其中友善的指定复制的方向,并且必须是cuda成员主机到主机,cudaMemcpy主机到设备,cudaMemcpy设备到主机,cuda内存设备到设备,或cuda内存默认值.超车cuda内存默认值建议使用,在这种情况下,将从指针值推断传输类型。然而,cuda内存默认值仅允许在支持统一虚拟寻址的系统上使用。使用dst和src指针启动memcpy节点与复制方向不匹配会导致未定义的行为。

如果系统包含至少一个设备,Memcpy节点对受管内存有一些额外的限制设备属性的值为零cudaDevAttrConcurrentManagedAccess.

注:

另请参见:

cudaMemcpy公司,cudaGraphAddMemcpy节点,cudaGraphMemcpyNode获取参数,cudaGraphMemcpyNodeSet参数,cudaGraphMemcpyNodeSet参数1D,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraph从符号添加成员节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,无效* 数据传输系统,常量void* 符号,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
创建要从设备上的符号复制的memcpy节点,并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
数据传输系统
-目标存储器地址
符号
-设备符号地址
计数
-要复制的大小(字节)
抵消
-从符号开始的偏移量(字节)
友善的
-转让类型
描述

创建要从中复制的新memcpy节点符号并将其添加到图表具有num依赖项通过指定的依赖项p依赖项。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

启动图形时,节点将复制计数指向的内存区域中的字节抵消从符号开始的字节符号指向的内存区域数据传输系统。内存区域不能重叠。符号是驻留在全局或常量内存空间中的变量。友善的可以是任意一种cudaMemcpy设备到主机,cuda内存设备到设备,或cuda内存默认值.超车cuda内存默认值建议使用,在这种情况下,将从指针值推断传输类型。然而,cuda内存默认值仅允许在支持统一虚拟寻址的系统上使用。

如果系统包含至少一个设备,Memcpy节点对受管内存有一些额外的限制设备属性的值为零cudaDevAttrConcurrentManagedAccess.

注:

另请参见:

cudaMemcpyFromSymbol(来自符号),cudaGraphAddMemcpy节点,cuda图形添加成员节点到符号,cudaGraphMemcpyNode获取参数,cudaGraphMemcpyNodeSet参数,cuda图形内存节点集参数FromSymbol,cudaGraphMemcpyNodeSet参数到符号,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemset节点

__主机__cuda错误_tcuda图形添加成员节点到符号(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量void* 符号,常量void* src公司,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
创建一个memcpy节点以复制到设备上的符号,并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
符号
-设备符号地址
src公司
-源存储器地址
计数
-要复制的大小(字节)
抵消
-从符号开始的偏移量(字节)
友善的
-转让类型
描述

创建要复制到的新memcpy节点符号并将其添加到图表具有num依赖项通过指定的依赖项p依赖项。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

启动图形时,节点将复制计数指向的内存区域中的字节src公司指向的内存区域抵消从符号开始的字节符号。内存区域不能重叠。符号是驻留在全局或常量内存空间中的变量。友善的可以是任意一种cudaMemcpy主机到设备,cuda内存设备到设备,或cuda内存默认值.超车cuda内存默认值建议使用,在这种情况下,将从指针值推断传输类型。然而,cuda内存默认值仅允许在支持统一虚拟寻址的系统上使用。

如果系统包含至少一个设备,Memcpy节点对受管内存有一些额外的限制设备属性的值为零cudaDevAttrConcurrentManagedAccess.

注:

另请参见:

cudaMemcpyTo符号,cudaGraphAddMemcpy节点,cudaGraph从符号添加成员节点,cudaGraphMemcpyNode获取参数,cudaGraphMemcpyNodeSet参数,cudaGraphMemcpyNodeSet参数到符号,cuda图形内存节点集参数FromSymbol,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemset节点

__主机__cuda错误_tcuda图形添加内存集节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,常量cudaMemset参数* p成员集参数)
创建一个memset节点并将其添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
p成员集参数
-内存集的参数
描述

创建新的memset节点并将其添加到图表具有num依赖项通过指定的依赖项p依赖项。有可能num依赖项为0,在这种情况下,节点将被放置在图的根处。p依赖项可能没有任何重复条目。新节点的句柄将返回pGraph节点.

元素大小必须为1、2或4个字节。启动图形时,节点将执行以下描述的memsetp成员集参数.

注:

另请参见:

cuda图形添加节点,cudaMemset2D,cudaGraphMemsetNode获取参数,cudaGraphMemsetNodeSet参数,cuda图形创建,cudaGraphDestroy节点,cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemcpy节点

__主机__cuda错误_tcuda图形添加节点(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,大小_t num依赖项,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
将任意类型的节点添加到图形中。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
num依赖项
-依赖项数量
节点参数
-节点规格
描述

在中创建新节点图表由描述节点参数具有num依赖项通过指定的依赖项p依赖项.num依赖项可能为0。p依赖项可能为null,如果num依赖项为0。p依赖项可能没有任何重复条目。

节点参数是一个标记的联盟。节点类型应在类型字段和相应联合成员中的类型特定参数。所有未使用的字节—即,保留0并且所有超过使用的联合成员的字节必须设置为零。建议使用大括号初始化或memset以确保所有字节都已初始化。

注意,对于某些节点类型,节点参数可能包含在调用期间修改的“out参数”,例如节点参数->alloc.dptr.

新节点的句柄将返回phGraph节点.

注:

另请参见:

cuda图形创建,cudaGraphNodeSet参数,cudaGraphExecNodeSet参数

__主机__cuda错误_tcudaGraph添加节点_v2(cuda图形节点_t* pGraph节点,cuda图形_t 图表,常量cuda图形节点_t* p依赖项,常量cuda图形边缘数据* 依赖性数据,大小_t num依赖项,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
将任意类型的节点添加到图形中(12.3+)。
参数
pGraph节点
-返回新创建的节点
图表
-要向其中添加节点的图形
p依赖项
-节点的依赖项
依赖性数据
-依赖项的可选边数据。如果为NULL,则假定所有依赖项的数据都为默认值(置零)。
num依赖项
-依赖项数量
节点参数
-节点规格
描述

在中创建新节点图表由描述节点参数具有num依赖项通过指定的依赖项p依赖项.num依赖项可能为0。p依赖项可能为null,如果num依赖项为0。p依赖项可能没有任何重复条目。

节点参数是一个标记的联盟。节点类型应在类型字段和相应联合成员中的类型特定参数。所有未使用的字节—即,保留0并且所有超过使用的联合成员的字节必须设置为零。建议使用大括号初始化或memset以确保所有字节都已初始化。

注意,对于某些节点类型,节点参数可能包含在调用期间修改的“out参数”,例如节点参数->alloc.dptr.

新节点的句柄将返回phGraph节点.

注:

另请参见:

cuda图形创建,cudaGraphNodeSet参数,cudaGraphExecNodeSet参数

__主机__cuda错误_tcudaGraphChildGraphNodeGetGraph(cudaGraph子图形节点获取图形)(cuda图形节点_t 节点,cuda图形_t* pGraph(图形))
获取子图形节点的嵌入图形的句柄。
参数
节点
-用于获取嵌入图形的节点
pGraph(图形)
-存储图形句柄的位置
描述

获取子图形节点中嵌入图形的句柄。此调用不会克隆图形。对图形的更改将是反映在节点中,节点保留图形的所有权。

无法将分配节点和空闲节点添加到返回的图形中。尝试这样做将返回错误。

注:

另请参见:

cudaGraphAddChildGraph节点,cudaGraphNodeFindInClone(cudaGraph节点查找克隆)

__主机__cuda错误_tcuda图形克隆(cuda图形_t* pGraphClone(图形克隆),cuda图形_t 原始图形)
克隆图形。
参数
pGraphClone(图形克隆)
-返回新创建的克隆图形
原始图形
-要克隆的图形
描述

此函数创建原始图形并将其返回pGraphClone(图形克隆)。所有参数都会复制到克隆的图形中。调用后可以修改原始图形,而不会影响克隆。

原始图形中的子图形节点递归复制到克隆中。

注:

另请参见:

cuda图形创建,cudaGraphNodeFindInClone(cudaGraph节点查找克隆)

__主机__cuda错误_tcuda图形条件句柄创建(cuda图形条件句柄* p手柄_出,cuda图形_t 图表,无符号int 默认启动值=0,无符号int 旗帜=0)
创建条件句柄。
参数
p手柄_出
-用于将句柄返回给调用方的指针。
图表
默认启动值
-条件变量的可选初始值。
旗帜
-当前必须为cudaGraphCondAssignDefault或0。
描述

创建与关联的条件句柄h图形.

条件句柄必须与此图中的条件节点或其子节点之一相关联。

与条件节点无关的句柄可能会导致图形实例化失败。

注:

另请参见:

cuGraph添加节点,

__主机__cuda错误_tcuda图形创建(cuda图形_t* pGraph(图形),无符号int 旗帜)
创建图形。
参数
pGraph(图形)
-返回新创建的图形
旗帜
-图形创建标志,必须为0
描述

创建一个空图,该图通过pGraph(图形).

注:

另请参见:

cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemcpy节点,cudaGraphAddMemset节点,cudaGraph实例化,cuda图形销毁,cuda图形获取节点,cuda图形获取根节点,cuda图形获取边缘,cuda图形克隆

__主机__cuda错误_tcuda图形调试点打印(cuda图形_t 图表,常量字符* 路径,无符号int 旗帜)
编写一个描述图形结构的DOT文件。
参数
图表
-用于创建DOT文件的图形
路径
-将DOT文件写入的路径
旗帜
-cudaGraphDebugDotFlags中的标志,用于指定要写入的其他节点信息
描述

使用提供的图表,写入路径图形的DOT格式描述。默认情况下,这包括图形拓扑、节点类型、节点id、内核名称以及memcpy方向。旗帜可以指定写入关于每个节点类型的更详细信息,例如参数值、内核属性、节点和函数句柄。

__主机__cuda错误_tcuda图形销毁(cuda图形_t 图表)
销毁图形。
参数
图表
-要销毁的图形
描述

销毁指定的图形图表,以及它的所有节点。

注:

另请参见:

cuda图形创建

__主机__cuda错误_tcudaGraphDestroy节点(cuda图形节点_t 节点)
从图形中删除节点。
参数
节点
-要删除的节点
描述

删除节点从其图表中。此操作还可以切断其他节点对节点反之亦然。

无法从包含分配节点或空闲节点的图中删除依赖项。任何尝试都将返回错误。

注:

另请参见:

cudaGraphAddChildGraph节点,cudaGraphAddEmpty节点,cudaGraphAddKernel节点,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphAddMemcpy节点,cudaGraphAddMemset节点

__主机__cuda错误_tcudaGraph事件记录节点获取事件(cuda图形节点_t 节点,cuda事件_t* 事件_输出)
返回与事件记录节点关联的事件。
参数
节点
事件_输出
-返回事件的指针
描述

返回事件记录节点的事件h节点在里面事件_输出.

注:

另请参见:

cudaGraph添加事件记录节点,cudaGraphEventRecordNodeSet事件,cudaGraphEventWaitNodeGetEvent(cudaGraph事件等待节点获取事件),带有标志的cuda事件记录,cudaStream等待事件

__主机__cuda错误_tcudaGraphEventRecordNodeSet事件(cuda图形节点_t 节点,cuda事件_t 事件)
设置事件记录节点的事件。
参数
节点
事件
-要使用的事件
描述

设置事件记录节点的事件h节点事件.

注:

另请参见:

cudaGraphNodeSet参数,cudaGraph添加事件记录节点,cudaGraph事件记录节点获取事件,cudaGraphEventWaitNodeSet事件,带有标志的cuda事件记录,cudaStream等待事件

__主机__cuda错误_tcuda图形事件等待节点获取事件(cuda图形节点_t 节点,cuda事件_t* 事件_输出)
返回与事件等待节点关联的事件。
参数
节点
事件_输出
-返回事件的指针
描述

返回事件等待节点的事件h节点在里面事件_输出.

注:

另请参见:

cudaGraph添加事件等待节点,cudaGraphEventWaitNodeSet事件,cudaGraph事件记录节点获取事件,带有标志的cuda事件记录,cudaStream等待事件

__主机__cuda错误_tcudaGraphEventWaitNodeSet事件(cuda图形节点_t 节点,cuda事件_t 事件)
设置事件等待节点的事件。
参数
节点
事件
-要使用的事件
描述

设置事件等待节点的事件h节点事件.

注:

另请参见:

cudaGraphNodeSet参数,cudaGraph添加事件等待节点,cudaGraphEventWaitNodeGetEvent(cudaGraph事件等待节点获取事件),cudaGraphEventRecordNodeSet事件,带有标志的cuda事件记录,cudaStream等待事件

__主机__cuda错误_tcudaGraphExecChildGraphNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,cuda图形_t childGraph(子图形))
更新给定graphExec中的子图形节点中的节点参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-用于实例化graphExec的图中的主机节点
childGraph(子图形)
-提供更新参数的图形
描述

更新由表示的工作节点在里面hGraphExec公司就像中包含的节点一样节点的图形中包含的参数childGraph的节点。节点必须保留在用于实例化的图中hGraphExec公司。更改了与的边节点被忽略。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

的拓扑结构childGraph(子图形)以及节点插入顺序必须与中包含的图形的顺序匹配节点。请参阅cudaGraphExecUpdate()获取实例化图中可以更新的内容的限制列表。更新是递归的,因此子图节点包含在顶级子图中的也将更新。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraphAddChildGraph节点,cudaGraphChildGraphNodeGetGraph(cudaGraph子图形节点获取图形),cudaGraphExecKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExec销毁(cuda图形执行_t graphExec(图形执行))
销毁可执行图形。
参数
graphExec(图形执行)
-要销毁的可执行图形
描述

销毁指定的可执行图形graphExec(图形执行).

注:

另请参见:

cudaGraph实例化,cudaGraph上传,cudaGraph启动

__主机__cuda错误_tcudaGraphExecEventRecordNodeSet事件(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,cuda事件_t 事件)
设置给定graphExec中事件记录节点的事件。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
h节点
-实例化graphExec的图形中的事件记录节点
事件
-要使用的更新事件
描述

设置可执行图形中事件记录节点的事件hGraphExec公司。节点由相应的节点标识h节点在非执行图中,从中实例化可执行图。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。h节点也不会被此调用修改。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraph添加事件记录节点,cudaGraph事件记录节点获取事件,cudaGraphEventWaitNodeSet事件,带有标志的cuda事件记录,cudaStream等待事件,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecEventWaitNodeSet事件(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,cuda事件_t 事件)
设置给定graphExec中事件等待节点的事件。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
h节点
-实例化graphExec的图中的事件等待节点
事件
-要使用的更新事件
描述

设置可执行图形中事件等待节点的事件hGraphExec公司。节点由相应的节点标识h节点在非执行图中,从中实例化可执行图。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。h节点也不会被此调用修改。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraph添加事件等待节点,cudaGraphEventWaitNodeGetEvent(cudaGraph事件等待节点获取事件),cudaGraphEventRecordNodeSet事件,带有标志的cuda事件记录,cudaStream等待事件,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecExternalSemaphores信号节点设置参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,常量cuda外部信号机信号节点参数* 节点参数)
设置给定graphExec中外部信号量信号节点的参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
h节点
-实例化graphExec的图中的信号量信号节点
节点参数
-更新要设置的参数
描述

设置可执行图中外部信号量信号节点的参数hGraphExec公司。节点由相应的节点标识h节点在非执行图中,从中实例化可执行图。

h节点不能从原始图形中删除。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。h节点也不会被此调用修改。

改变节点参数->numExtSems不支持。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraphAddExternalSemaphores信号节点,cudaImportExternal信号量,cuda信号外部信号异步,cudaWaitExternal信号异步,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecExternalSemaphoresWaitNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,常量cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 节点参数)
设置给定graphExec中外部信号量等待节点的参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
h节点
-实例化graphExec的图中的信号量等待节点
节点参数
-更新要设置的参数
描述

设置可执行图中外部信号量等待节点的参数hGraphExec公司。节点由相应的节点标识h节点在非执行图中,从中实例化可执行图。

h节点不能从原始图形中删除。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。h节点也不会被此调用修改。

改变节点参数->numExtSems不支持。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraph添加外部信号等待节点,cudaImportExternal信号量,cuda信号外部信号异步,cudaWaitExternal信号异步,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecGetFlags(cudaGraph执行获取标记)(cuda图形执行_t graphExec(图形执行),unsigned long long* 旗帜)
查询可执行图的实例化标志。
参数
graphExec(图形执行)
-要查询的可执行图形
旗帜
-返回实例化标志
描述

返回传递给给定可执行图实例化的标志。cudaGraphInstantiateFlagUpload(cudaGraph实例化标志上传)将不会由此API返回,因为它不会影响生成的可执行图形。

注:

另请参见:

cudaGraph实例化,带有标志的cudaGraphInstantiate,带有参数的cudaGraphInstantiate

__主机__cuda错误_tcudaGraphExec主机节点设置参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cuda主机节点参数* pNodeParams(节点参数))
设置给定graphExec中主机节点的参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-用于实例化graphExec的图中的主机节点
pNodeParams(节点参数)
-更新要设置的参数
描述

更新由表示的工作节点在里面hGraphExec公司好像节点已包含pNodeParams(节点参数)在实例化时。节点必须保留在用于实例化的图中hGraphExec公司。更改了与的边节点被忽略。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphHostNodeSet参数,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecKernelNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cudaKernel节点参数* pNodeParams(节点参数))
设置给定graphExec中内核节点的参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-实例化graphExec的图中的内核节点
pNodeParams(节点参数)
-更新要设置的参数
描述

设置可执行图中内核节点的参数hGraphExec公司。节点由相应的节点标识节点在非执行图中,从中实例化可执行图。

节点不能从原始图形中删除。全部节点参数字段可能会更改,但以下限制适用于函数更新:

  • 功能的所属设备无法更改。

  • 功能最初不使用CUDA动态并行的节点不能更新为使用CDP的功能

  • 如果节点的函数最初没有进行设备端更新调用,则无法将其更新为使设备端更新的函数更新调用。

  • 如果hGraphExec公司未为设备启动实例化,该节点的功能最初不使用设备端cudaGraphLaunch()无法更新为使用设备端的函数cudaGraphLaunch()除非节点与实例化时包含此类调用的节点位于同一设备上。如果没有这样的电话在实例化时,根本无法执行这些更新。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

如果节点是一个设备可更新的内核节点hGraphExec公司将覆盖以前的任何设备端更新。此外,在它正在从设备更新,这将导致未定义的行为。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraphAddKernel节点,cudaGraphKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecMemcpyNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cudaMemcpy3D参数* pNodeParams(节点参数))
设置给定graphExec中memcpy节点的参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-用于实例化graphExec的图中的Memcpy节点
pNodeParams(节点参数)
-更新要设置的参数
描述

更新由表示的工作节点在里面hGraphExec公司好像节点已包含pNodeParams(节点参数)在实例化时。节点必须保留在用于实例化的图中hGraphExec公司。更改了与的边节点被忽略。

中的源和目标内存pNodeParams(节点参数)必须从与原始源和目标内存相同的上下文中分配。实例化时间存储器操作数和内存操作数pNodeParams(节点参数)必须是一维的。不支持零长度操作。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

退换商品cuda错误无效值如果内存操作数的映射发生了更改,或者原始或新内存操作数是多维的。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraphAddMemcpy节点,cudaGraphMemcpyNodeSet参数,cudaGraphExecMemcpyNodeSet参数到符号,cudaGraphExecMemcpyNodeSet参数源符号,cudaGraphExecMemcpyNodeSet参数1D,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecMemcpyNodeSet参数1D(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,无效* 数据传输系统,常量void* src公司,大小_t 计数,cuda内存类型 友善的)
设置给定graphExec中memcpy节点的参数,以执行一维复制。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-用于实例化graphExec的图中的Memcpy节点
数据传输系统
-目标存储器地址
src公司
-源存储器地址
计数
-要复制的大小(字节)
友善的
-转让类型
描述

更新由表示的工作节点在里面hGraphExec公司好像节点在实例化时包含了给定的参数。节点必须保留在用于实例化的图中hGraphExec公司。更改了与的边节点被忽略。

src公司数据传输系统必须从与原始源和目标内存相同的上下文中分配。实例化时间内存操作数必须是一维的。不支持零长度操作。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

退换商品cuda错误无效值如果内存操作数的映射发生了更改,或者原始内存操作数是多维的。

注:

另请参见:

cudaGraphAddMemcpy节点,cudaGraph添加成员节点1D,cudaGraphMemcpyNodeSet参数,cudaGraphMemcpyNodeSet参数1D,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecMemcpyNodeSet参数源符号(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,无效* 数据传输系统,常量void* 符号,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置给定graphExec中要从设备上的符号复制的memcpy节点的参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-用于实例化graphExec的图中的Memcpy节点
数据传输系统
-目标存储器地址
符号
-设备符号地址
计数
-要复制的大小(字节)
抵消
-从符号开始的偏移量(字节)
友善的
-转让类型
描述

更新由表示的工作节点在里面hGraphExec公司好像节点在实例化时包含了给定的参数。节点必须保留在用于实例化的图中hGraphExec公司。更改了与的边节点被忽略。

符号数据传输系统必须从与原始源和目标内存相同的上下文中分配。实例化时间内存操作数必须是一维的。不支持零长度操作。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

退换商品cuda错误无效值如果内存操作数的映射发生了更改,或者原始内存操作数是多维的。

注:

另请参见:

cudaGraphAddMemcpy节点,cudaGraph从符号添加成员节点,cudaGraphMemcpyNodeSet参数,cuda图形内存节点集参数FromSymbol,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemcpyNodeSet参数到符号,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecMemcpyNodeSet参数到符号(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量void* 符号,常量void* src公司,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置给定graphExec中memcpy节点的参数,以复制到设备上的符号。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-用于实例化graphExec的图中的Memcpy节点
符号
-设备符号地址
src公司
-源存储器地址
计数
-要复制的大小(字节)
抵消
-从符号开始的偏移量(字节)
友善的
-转让类型
描述

更新由表示的工作节点在里面hGraphExec公司好像节点在实例化时包含了给定的参数。节点必须保留在用于实例化的图中hGraphExec公司。更改了与的边节点被忽略。

src公司符号必须从与原始源和目标内存相同的上下文中分配。实例化时间内存操作数必须是一维的。不支持零长度操作。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

退换商品cuda错误无效值如果内存操作数的映射发生了更改,或者原始内存操作数是多维的。

注:

另请参见:

cudaGraphAddMemcpy节点,cuda图形添加成员节点到符号,cudaGraphMemcpyNodeSet参数,cudaGraphMemcpyNodeSet参数到符号,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecMemcpyNodeSet参数源符号,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemsetNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExecMemsetNodeSet参数(cuda图形执行_t hGraphExec公司,cuda图形节点_t 节点,常量cudaMemset参数* pNodeParams(节点参数))
设置给定graphExec中memset节点的参数。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
节点
-用于实例化graphExec的图中的Memset节点
pNodeParams(节点参数)
-更新要设置的参数
描述

更新由表示的工作节点在里面hGraphExec公司好像节点已包含pNodeParams(节点参数)在实例化时。节点必须保留在用于实例化的图中hGraphExec公司。更改了与的边节点被忽略。

中的目标内存pNodeParams(节点参数)必须从与原始目标内存相同的上下文中分配。实例化时间内存操作数和中的内存操作数pNodeParams(节点参数)必须是一维的。不支持零长度操作。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。节点也不会被此调用修改。

如果内存操作数的映射已更改,或者原始或新内存操作数是多维的,则返回cudaErrorInvalidValue。

注:

另请参见:

cudaGraphExecNodeSet参数,cudaGraphAddMemset节点,cudaGraphMemsetNodeSet参数,cudaGraphExecKernelNodeSet参数,cudaGraphExecMemcpyNodeSet参数,cudaGraphExecHostNodeSet参数,cudaGraphExecChildGraphNodeSet参数,cudaGraphExecEventRecordNodeSet事件,cudaGraphExecEventWaitNodeSet事件,cudaGraphExecExternalSemaphores信号节点设置参数,cudaGraphExecExternalSemaphoresWaitNodeSet参数,cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExec节点设置参数(cuda图形执行_t graphExec(图形执行),cuda图形节点_t 节点,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
更新实例化图中的图节点参数。
参数
graphExec(图形执行)
-要在其中更新指定节点的可执行图
节点
-实例化graphExec的图中的对应节点
节点参数
-更新要设置的参数
描述

设置可执行图形中节点的参数graphExec(图形执行)。节点由相应的节点标识节点在实例化可执行图的不可执行图中。节点不能从原始图形中删除。

这些修改只影响未来的发布graphExec(图形执行)。已排队或正在启动graphExec(图形执行)不受此呼叫的影响。节点也不会被此调用修改。

允许对可执行图上的参数进行以下更改:

节点类型

允许的更改

内核

请参见cudaGraphExecKernelNodeSet参数

会员

在相同上下文中分配的一维副本的地址;看见cudaGraphExecMemcpyNodeSet参数

清零

如果在同一上下文中分配,则为一维成员集提供地址;看见cudaGraphExecMemsetNodeSet参数

主办

无限制

子图

拓扑必须匹配,限制递归应用;看见cudaGraphExec更新

事件等待

无限制

事件记录

无限制

外部信号灯信号

无法更改信号量操作的数量

外部信号灯等待

无法更改信号量操作的数量

内存分配

不支持API

无内存

不支持API

注:

另请参见:

cuda图形添加节点,cudaGraphNodeSet参数cudaGraphExec更新,cudaGraph实例化

__主机__cuda错误_tcudaGraphExec更新(cuda图形执行_t hGraphExec公司,cuda图形_t h图形,cudaGraphExecUpdateResultInfo(cudaGraph执行更新结果信息)* 结果信息)
检查是否可以使用图形更新可执行图形,如果可能,请执行更新。
参数
hGraphExec公司
要更新的实例化图
h图形
包含更新参数的图形
结果信息
错误信息结构
描述

更新由指定的实例化图中的节点参数hGraphExec公司节点参数在拓扑相同的图中由指定h图形.

限制:

  • 内核节点:
    • 函数所属的上下文无法更改。

    • 功能最初不使用CUDA动态并行的节点不能更新为使用CDP的功能。

    • 如果节点的函数最初没有进行设备端更新调用,则无法将其更新为使设备端更新的函数更新调用。

    • 合作节点无法更新为非合作节点和vice-versa。

    • 如果图形是使用cudaGraphInstantiateFlagUseNodePriority实例化的,则优先级属性无法更改。平等在将最初请求的优先级值固定到设备支持的范围之前,对其进行检查。

    • 如果hGraphExec公司未为设备启动实例化,该节点的功能最初不使用设备端cudaGraphLaunch()无法更新为使用设备端的函数cudaGraphLaunch()除非节点与实例化时包含此类调用的节点位于同一设备上。如果没有这样的电话在实例化时,根本无法执行这些更新。

    • 两者都没有h图形也不是hGraphExec公司可能包含设备可更新的内核节点。

  • Memset和memcpy节点:
    • 分配/映射操作数的CUDA设备无法更改。

    • 源/目标内存必须从与原始源/目标存储器相同的上下文中分配。

    • 只能更改1D内存集。

  • 其他内存节点限制:
    • 不支持更改源或目标内存类型(即CU_MEMORYTYPE_DEVICE、CU_MEMOTYTYPE-ARRAY等)。

  • 条件节点:
    • 不支持更改节点参数。

    • 更改条件体图中节点的参数受上述规则的约束。

    • 条件句柄标志和默认值作为图形更新的一部分进行更新。

注意:API可能会在将来的版本中添加更多限制。应始终检查返回代码。

cudaGraphExecUpdate设置的结果成员结果信息在以下条件下cudaGraphExecUpdateErrorTopologyChanged:

  • 直接在中的节点数hGraphExec公司h图形不同,在这种情况下,resultInfo->errorNode被设置为NULL。

  • h图形具有的退出节点数超过h图形,在这种情况下,resultInfo->errorNode被设置为hGraph中的一个退出节点。

  • 中的节点h图形与中的节点具有不同数量的依赖项hGraphExec公司它与配对,在这种情况下,resultInfo->errorNode被设置为节点h图形.

  • 中的节点h图形具有与中配对节点的相应依赖项不匹配的依赖项hGraphExec公司.resultInfo->errorNode将从设置为节点h图形.resultInfo->errorFromNode将被设置为不匹配的依赖项。根据边缘顺序和当节点已经基于图中检查的其他边成对时,依赖项不匹配。

cudaGraphExecUpdate集合这个的结果成员结果信息收件人:

  • 如果传递的值无效,则返回cudaGraphExecUpdateError。

  • 如果图形拓扑发生更改,则为cudaGraphExecUpdateErrorTopologyChanged

  • cudaGraphExecUpdateErrorNodeTypeChanged如果节点类型发生更改,在这种情况下h错误节点_out从设置为节点h图形.

  • 如果内核节点的功能发生更改,则为cudaGraphExecUpdateErrorFunctionChanged(CUDA驱动程序<11.2)

  • cudaGraphExecUpdateErrorUnsupportedFunctionChange,如果内核的func字段以不支持的方式更改(请参阅上面的注释),在这种情况下h错误节点_out从设置为节点h图形

  • cudaGraphExecUpdateErrorParametersChanged如果节点的任何参数以不支持的方式更改,在这种情况下h错误节点_out从设置为节点h图形

  • cudaGraphExecUpdateErrorAttributesChanged如果节点的任何属性以不支持的方式更改,在这种情况下h错误节点_out从设置为节点h图形

  • cudaGraphExecUpdateErrorNotSupported,如果节点的某些内容不受支持,例如节点的类型或配置,其中案例h错误节点_out从设置为节点h图形

如果由于上面未列出的原因导致更新失败,则结果信息将设置为cudaGraphExecUpdateError。如果更新成功,则结果成员将设置为cudaGraphExecUpdateSuccess。

成功执行更新时,cudaGraphExecUpdate返回cudaSuccess。它返回cudaErrorGraphExecUpdateFailure如果因为包含违反实例化图特定约束的更改而未执行图形更新更新。

注:

另请参见:

cudaGraph实例化

__主机__cuda错误_tcuda图形外部信号量信号节点获取参数(cuda图形节点_t h节点,cuda外部信号机信号节点参数* 参数_out)
返回外部信号量信号节点的参数。
参数
h节点
-获取参数的节点
参数_out
-返回参数的指针
描述

返回外部信号量信号节点的参数h节点在里面参数_out. TheextSemArray(extSem数组)参数数组返回参数_out,由节点所有。此内存在节点被销毁或其参数被修改之前保持有效,并且应该不能直接修改。使用cudaGraphExternalSemaphores信号节点设置参数更新此节点的参数。

注:

另请参见:

cudaLaunchKernel,cudaGraphAddExternalSemaphores信号节点,cudaGraphExternalSemaphores信号节点设置参数,cudaGraph添加外部信号等待节点,cuda信号外部信号异步,cudaWaitExternal信号异步

__主机__cuda错误_tcudaGraphExternalSemaphores信号节点设置参数(cuda图形节点_t h节点,常量cuda外部信号机信号节点参数* 节点参数)
设置外部信号灯信号节点的参数。
参数
h节点
-用于设置参数的节点
节点参数
-要复制的参数
描述

设置外部信号灯信号节点的参数h节点节点参数.

注:

另请参见:

cudaGraphNodeSet参数,cudaGraphAddExternalSemaphores信号节点,cudaGraphExternalSemaphores信号节点设置参数,cudaGraph添加外部信号等待节点,cuda信号外部信号异步,cudaWaitExternal信号异步

__主机__cuda错误_tcudaGraphExternalSemaphores等待节点获取参数(cuda图形节点_t h节点,cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 参数_out)
返回外部信号量等待节点的参数。
参数
h节点
-获取参数的节点
参数_out
-返回参数的指针
描述

返回外部信号量等待节点的参数h节点在里面参数_out. TheextSemArray(extSem数组)参数数组返回参数_out,由节点所有。此内存在节点被销毁或其参数被修改之前保持有效,并且应该不能直接修改。使用cudaGraphExternalSemaphores信号节点设置参数更新此节点的参数。

注:

另请参见:

cudaLaunchKernel,cudaGraph添加外部信号等待节点,cudaGraphExternalSemaphoresWaitNodeSet参数,cudaGraph添加外部信号等待节点,cuda信号外部信号异步,cudaWaitExternal信号异步

__主机__cuda错误_tcudaGraphExternalSemaphoresWaitNodeSet参数(cuda图形节点_t h节点,常量cudaExternalSemaphoreWaitNodeParams(外部信号等待节点参数)* 节点参数)
设置外部信号灯等待节点的参数。
参数
h节点
-用于设置参数的节点
节点参数
-要复制的参数
描述

设置外部信号灯等待节点的参数h节点节点参数.

注:

另请参见:

cudaGraphNodeSet参数,cudaGraph添加外部信号等待节点,cudaGraphExternalSemaphoresWaitNodeSet参数,cudaGraph添加外部信号等待节点,cuda信号外部信号异步,cudaWaitExternal信号异步

__主机__cuda错误_tcuda图形获取边缘(cuda图形_t 图表,cuda图形节点_t* ,cuda图形节点_t* ,大小_t* numEdges数)
返回图形的依赖边。
参数
图表
-获取边的图形
-返回边端点的位置
-返回边端点的位置
numEdges数
-参见说明
描述

返回的列表图表的依赖边。边通过中的相应索引返回; 即,中的节点[i] 对中的节点具有依赖性[i] ●●●●。都可以为NULL,在这种情况下,此函数只返回numEdges数。否则,numEdges数将填写条目。如果numEdges数大于实际的边数将设置为NULL,实际返回的边数将写入numEdges数.

注:

另请参见:

cuda图形获取节点,cuda图形获取根节点,cudaGraphAddDependencies(cudaGraph添加依赖项),cudaGraphRemoveDependencies(cudaGraph移除依赖项),cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcudaGraphGetEdges_v2(cuda图形_t 图表,cuda图形节点_t* ,cuda图形节点_t* ,cuda图形边缘数据* 边缘数据,大小_t* numEdges数)
返回图形的依赖边(12.3+)。
参数
图表
-获取边的图形
-返回边端点的位置
-返回边端点的位置
边缘数据
-返回边缘数据的可选位置
numEdges数
-参见说明
描述

返回的列表图表的依赖边。边通过中的相应索引返回,边缘数据; 即,中的节点[i] 对中的节点具有依赖性[i] 使用数据边缘数据[i] ●●●●。都可以为NULL,在这种情况下,此函数只返回numEdges数。否则,numEdges数将填写条目。如果numEdges数大于实际的边数将设置为NULL,实际返回的边数将写入numEdges数.边缘数据可能仅为NULL,在这种情况下,边必须全部具有默认(零)边数据。尝试通过NULL进行有损查询边缘数据将导致cuda错误损失查询.如果边缘数据则为非NULL也必须如此。

注:

另请参见:

cuda图形获取节点,cuda图形获取根节点,cudaGraphAddDependencies(cudaGraph添加依赖项),cudaGraphRemoveDependencies(cudaGraph移除依赖项),cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcuda图形获取节点(cuda图形_t 图表,cuda图形节点_t* 节点,大小_t* num个节点)
返回图形的节点。
参数
图表
-要查询的图形
节点
-返回节点的指针
num个节点
-参见说明
描述

返回的列表图表的节点。节点可能为NULL,在这种情况下,此函数将返回num个节点。否则,num个节点将填写条目。如果num个节点高于节点的实际数量节点将设置为NULL,实际获得的节点数将返回num个节点.

注:

另请参见:

cuda图形创建,cuda图形获取根节点,cuda图形获取边缘,cuda图形节点获取类型,cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcuda图形获取根节点(cuda图形_t 图表,cuda图形节点_t* pRootNodes(根节点),大小_t* pNumRootNodes(根节点数))
返回图形的根节点。
参数
图表
-要查询的图形
pRootNodes(根节点)
-返回根节点的指针
pNumRootNodes(根节点数)
-参见说明
描述

返回的列表图表的根节点。pRootNodes(根节点)可能为NULL,在这种情况下,此函数将返回pNumRootNodes(根节点数)。否则,pNumRootNodes(根节点数)将填写条目。如果pNumRootNodes(根节点数)大于根节点的实际数量,则pRootNodes(根节点)将设置为NULL,实际获得的节点数将返回pNumRootNodes(根节点数).

注:

另请参见:

cuda图形创建,cuda图形获取节点,cuda图形获取边缘,cuda图形节点获取类型,cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcudaGraphHostNodeGetParams(cudaGraph主机节点获取参数)(cuda图形节点_t 节点,cuda主机节点参数* pNodeParams(节点参数))
返回主机节点的参数。
参数
节点
-获取参数的节点
pNodeParams(节点参数)
-返回参数的指针
描述

返回主机节点的参数节点在里面pNodeParams(节点参数).

注:

另请参见:

cuda启动主机功能,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphHostNodeSet参数

__主机__cuda错误_tcudaGraphHostNodeSet参数(cuda图形节点_t 节点,常量cuda主机节点参数* pNodeParams(节点参数))
设置主机节点的参数。
参数
节点
-用于设置参数的节点
pNodeParams(节点参数)
-要复制的参数
描述

设置主机节点的参数节点节点参数.

注:

另请参见:

cudaGraphNodeSet参数,cuda启动主机功能,cudaGraphAddHostNode(cudaGraph添加主机节点),cudaGraphHostNodeGetParams(cudaGraph主机节点获取参数)

__主机__cuda错误_tcudaGraph实例化(cuda图形执行_t* pGraphExec(图形执行),cuda图形_t 图表,无符号长-长 旗帜=0)
从图形创建可执行图形。
参数
pGraphExec(图形执行)
-返回实例化图形
图表
-要实例化的图形
旗帜
-控制实例化的标志。请参见CUgraph实例化标记.
描述

实例化图表作为可执行图形。该图针对以前没有的任何结构约束或节点内约束进行了验证已验证。如果实例化成功,则在中返回实例化图的句柄pGraphExec(图形执行).

这个旗帜参数控制实例化和后续图形启动的行为。有效标志为:

  • cudaGraphInstantiateFlagUseNode优先级,这导致图使用每个节点属性的优先级,而不是启动流的优先级执行期间。注意,优先级仅在内核节点上可用,并且在流期间从流优先级复制捕获。

如果图表包含任何分配或空闲节点,则该图一次最多可以存在一个可执行图。尝试在用销毁第一个可执行图之前实例化第二个可执行图形cudaGraphExec破坏将导致错误。如果图表包含任何设备可更新的内核节点。

为在设备上启动而实例化的图形具有其他限制,这些限制不适用于主机图形:

  • 图形的节点必须位于单个设备上。

  • 图形只能包含内核节点、memcpy节点、memset节点和子图形节点。

  • 图形不能为空,并且必须至少包含一个内核、memcpy或memset节点。操作特定限制是概述如下。

  • 内核节点:
    • 不允许使用CUDA动态并行性。

    • 只要不使用MPS,就允许合作发射。

  • Memcpy节点:
    • 仅允许涉及设备内存和/或固定设备映射主机内存的副本。

    • 不允许包含CUDA阵列的副本。

    • 两个操作数都必须可以从当前设备访问,并且当前设备必须与图表。

如果图表未实例化以在设备上启动,但包含调用设备端的内核cudaGraphLaunch()来自多个设备,这将导致错误。

注:

另请参见:

带有标志的cudaGraphInstantiate,cuda图形创建,cudaGraph上传,cudaGraph启动,cudaGraphExec破坏

__主机__cuda错误_t带有标志的cudaGraphInstantiate(cuda图形执行_t* pGraphExec(图形执行),cuda图形_t 图表,无符号长-长 旗帜=0)
从图形创建可执行图形。
参数
pGraphExec(图形执行)
-返回实例化图形
图表
-要实例化的图形
旗帜
-控制实例化的标志。请参见CUgraph实例化标记.
描述

实例化图表作为可执行图形。该图针对以前没有的任何结构约束或节点内约束进行了验证已验证。如果实例化成功,则在中返回实例化图的句柄pGraphExec(图形执行).

这个旗帜参数控制实例化和后续图形启动的行为。有效标志为:

  • cudaGraphInstantiateFlagUseNode优先级,这导致图使用每个节点属性的优先级,而不是启动流的优先级执行期间。注意,优先级仅在内核节点上可用,并且在流期间从流优先级复制捕获。

如果图表包含任何分配或空闲节点,则该图一次最多可以存在一个可执行图。尝试在用销毁第一个可执行图之前实例化第二个可执行图形cudaGraphExec破坏将导致错误。如果图表包含任何设备可更新的内核节点。

如果图表包含调用设备端的内核cudaGraphLaunch()来自多个设备,这将导致错误。

为在设备上启动而实例化的图形具有其他限制,这些限制不适用于主机图形:

  • 图形的节点必须位于单个设备上。

  • 图形只能包含内核节点、memcpy节点、memset节点和子图形节点。

  • 图形不能为空,并且必须至少包含一个内核、memcpy或memset节点。操作特定限制是概述如下。

  • 内核节点:
    • 不允许使用CUDA动态并行性。

    • 只要不使用MPS,就允许合作发射。

  • Memcpy节点:
    • 仅允许涉及设备内存和/或固定设备映射主机内存的副本。

    • 不允许包含CUDA阵列的副本。

    • 两个操作数都必须可以从当前设备访问,并且当前设备必须与图表。

注:

另请参见:

cudaGraph实例化,cuda图形创建,cudaGraph上传,cudaGraph启动,cudaGraphExec破坏

__主机__cuda错误_t带有参数的cudaGraphInstantiate(cuda图形执行_t* pGraphExec(图形执行),cuda图形_t 图表,cudaGraphInstantiateParams(cudaGraph实例化参数)* 实例化参数)
从图形创建可执行图形。
参数
pGraphExec(图形执行)
-返回实例化图形
图表
-要实例化的图形
实例化参数
-实例化参数
描述

实例化图表根据实例化参数结构。对于之前未验证的任何结构约束或节点内约束,将对该图进行验证。如果实例化成功,则在中返回实例化图的句柄pGraphExec(图形执行).

实例化参数控制实例化和后续图形启动的行为,以及在错误事件。cudaGraphInstantiateParams(cudaGraph实例化参数)定义为:

typedef结构{无符号长长标志;cudaStream_tuploadStream;cuda图形节点_terrNode_out;cudaGraphInstantiateResult(cudaGraph实例化结果)结果输出;}cudaGraphInstantiateParams(cudaGraph实例化参数)

这个旗帜字段控制实例化和后续图形启动的行为。有效标志为:

  • cudaGraphInstantiateFlagUseNode优先级,这导致图使用每个节点属性的优先级,而不是启动流的优先级执行期间。注意,优先级仅在内核节点上可用,并且在流期间从流优先级复制捕获。

如果图表包含任何分配或空闲节点,则该图一次最多可以存在一个可执行图。尝试在用销毁第一个可执行图之前实例化第二个可执行图形cudaGraphExec破坏将导致错误。如果图表包含任何设备可更新的内核节点。

如果图表包含调用设备端的内核cudaGraphLaunch()来自多个设备,这将导致错误。

为在设备上启动而实例化的图形具有其他限制,这些限制不适用于主机图形:

  • 图形的节点必须位于单个设备上。

  • 图形只能包含内核节点、memcpy节点、memset节点和子图形节点。

  • 图形不能为空,并且必须至少包含一个内核、memcpy或memset节点。操作特定限制是概述如下。

  • 内核节点:
    • 不允许使用CUDA动态并行性。

    • 只要不使用MPS,就允许合作发射。

  • Memcpy节点:
    • 仅允许涉及设备内存和/或固定设备映射主机内存的副本。

    • 不允许包含CUDA阵列的副本。

    • 两个操作数都必须可以从当前设备访问,并且当前设备必须与图表。

如果出现错误结果输出(_O)错误节点输出(_O)字段将包含有关错误性质的更多信息。可能的错误报告包括:

  • cudaGraphInstantiate错误如果传递了无效值,或者发生了函数返回值所描述的意外错误。错误节点输出(_O)将设置为NULL。

  • cudaGraphInstantiateInvalid结构,如果图形结构无效。错误节点输出(_O)将设置为一个有问题的节点。

  • 不支持cudaGraphInstantiateNode操作,如果图形是为设备启动实例化的,但包含不受支持的节点类型的节点或执行以下操作的节点不支持的操作,例如在内核节点中使用CUDA动态并行。错误节点输出(_O)将设置为此节点。

  • 不支持cudaGraphInstantiateMultipleDevices,如果为设备启动实例化了图形,但节点的设备与另一个节点的设备不同。此错误也可能如果没有为设备启动实例化图形,并且它包含调用设备端的内核,则返回cudaGraphLaunch()来自多个设备。错误节点输出(_O)将设置为此节点。

如果实例化成功,结果输出(_O)将设置为cudaGraphInstantiate成功、和hErrNode_out(错误节点_输出)将设置为NULL。

注:

另请参见:

cuda图形创建,cudaGraph实例化,带有标志的cudaGraphInstantiate,cudaGraphExec破坏

__主机__cuda错误_tcudaGraphKernelNodeCopyAttributes(cudaGraph内核节点副本属性)(cuda图形节点_t hSrc公司,cuda图形节点_t 总部)
将属性从源节点复制到目标节点。
退换商品

cuda成功,cudaErrorInvalidContext(库达错误无效上下文)

描述

从源节点复制属性src公司到目标节点数据传输系统。两个节点必须具有相同的上下文。

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

cudaAccessPolicy窗口

__主机__cuda错误_tcudaGraphKernelNodeGetAttribute(cudaGraph内核节点获取属性)(cuda图形节点_t h节点,cudaKernelNodeAttrID 属性,cudaKernel节点属性值* value_out(输出值))
查询节点属性。
参数
h节点
属性
value_out(输出值)
描述

查询属性属性来自节点h节点并将其存储在的相应成员中value_out(输出值).

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

cudaAccessPolicy窗口

__主机__cuda错误_tcudaGraphKernelNodeGetParams(cudaGraph内核节点获取参数)(cuda图形节点_t 节点,cudaKernel节点参数* pNodeParams(节点参数))
返回内核节点的参数。
参数
节点
-获取参数的节点
pNodeParams(节点参数)
-返回参数的指针
描述

返回内核节点的参数节点在里面pNodeParams(节点参数). The内核参数额外的中返回的数组pNodeParams(节点参数)以及它所指向的参数值都归节点所有。此内存在节点被销毁之前保持有效或其参数被修改,不应直接修改。使用cudaGraphKernelNodeSet参数更新此节点的参数。

参数将包含以下内容之一内核参数额外的,根据节点上最近设置的是哪一个。

注:

另请参见:

cudaLaunchKernel,cudaGraphAddKernel节点,cudaGraphKernelNodeSet参数

__主机__cuda错误_tcudaGraphKernelNodeSet属性(cuda图形节点_t h节点,cudaKernelNodeAttrID 属性,常量cudaKernelNodeAttrValue* 价值)
设置节点属性。
参数
h节点
属性
价值
描述

设置属性属性在节点上h节点从的相应属性价值.

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

cudaAccessPolicy窗口

__设备__cuda错误_tcudaGraphKernelNodeSet已启用(cuda图形设备节点_t 节点,布尔 使可能)
启用或禁用给定的内核节点。
参数
节点
-要更新的节点
使可能
-是启用还是禁用节点
退换商品

cuda成功,cudaErrorInvalidValue

描述

启用或禁用节点基于使可能.如果使可能为true时,将启用节点;如果为false,则节点将被禁用。禁用的节点将在执行期间充当NOP。节点必须是设备可更新的,并且必须与调用内核位于同一设备上。

如果为节点的直接依赖项调用此函数,并且该依赖项配置为程序依赖项启动,则必须通过__threadfence()调用内存围栏,然后通过cudaTrigger程序启动完成()以确保更新在启动之前对该从属节点可见。

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

cudaGraphKernelNodeSet参数,cudaGraphKernelNodeSetGridDim,cudaGraphKernelNodeUpdates应用

__设备__cuda错误_tcudaGraphKernelNodeSetGridDim(cuda图形设备节点_t 节点,尺寸3 网格尺寸)
更新给定内核节点的网格维度。
参数
节点
-要更新的节点
网格尺寸
-要设置的网格尺寸
退换商品

cuda成功,cudaErrorInvalidValue

描述

设置的栅格尺寸节点网格尺寸.节点必须是设备可更新的,并且必须与调用内核位于同一设备上。

如果为节点的直接依赖项调用此函数,并且该依赖项配置为程序依赖项启动,则必须通过__threadfence()调用内存围栏,然后通过cudaTrigger程序启动完成()以确保更新在启动之前对该从属节点可见。

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

cudaGraphKernelNodeSet参数,cudaGraphKernelNodeSet已启用,cudaGraphKernelNodeUpdates应用

模板<类型名T>

__设备__cuda错误_tcudaGraphKernelNodeSet参数(cuda图形设备节点_t 节点,大小_t 抵消,常数T& 价值)[内联]
更新给定内核节点的内核参数。
参数
节点
-要更新的节点
抵消
-进行更新时参数的偏移量
价值
-要写入的参数值
退换商品

cuda成功,cudaErrorInvalidValue

描述

更新的内核参数节点抵消价值.节点必须是设备可更新的,并且必须与调用内核位于同一设备上。

如果为节点的直接依赖项调用此函数,并且该依赖项配置为程序依赖项启动,则必须通过__threadfence()调用内存围栏,然后通过cudaTrigger程序启动完成()以确保更新在启动之前对该从属节点可见。

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

etblGraphKernelNodeSetEnabled、etblGraph内核节点SetGridDim、etblgraphKernel节点更新应用

__设备__cuda错误_tcudaGraphKernelNodeSet参数(cuda图形设备节点_t 节点,大小_t 抵消,常量void* 价值,大小_t 大小)
更新给定内核节点的内核参数。
参数
节点
-要更新的节点
抵消
-进行更新时参数的偏移量
价值
-包含要写入的参数的缓冲区
大小
-要更新的字节大小
退换商品

cuda成功,cudaErrorInvalidValue

描述

更新大小的内核参数中的字节节点抵消内容价值.节点必须是设备可更新的,并且必须与调用内核位于同一设备上。

如果为节点的直接依赖项调用此函数,并且该依赖项配置为程序依赖项启动,则必须通过__threadfence()调用内存围栏,然后通过cudaTrigger程序启动完成()以确保更新在启动之前对该从属节点可见。

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

cudaGraphKernelNodeSet已启用,cudaGraphKernelNodeSetGridDim,cudaGraphKernelNodeUpdates应用

__主机__cuda错误_tcudaGraphKernelNodeSet参数(cuda图形节点_t 节点,常量cudaKernel节点参数* pNodeParams(节点参数))
设置内核节点的参数。
参数
节点
-用于设置参数的节点
pNodeParams(节点参数)
-要复制的参数
描述

设置内核节点的参数节点pNodeParams(节点参数).

注:

另请参见:

cudaGraphNodeSet参数,cudaLaunchKernel,cudaGraphAddKernel节点,cudaGraphKernelNodeGetParams(cudaGraph内核节点获取参数)

__设备__cuda错误_tcudaGraphKernelNodeUpdatesApply(常量cudaGraphKernelNode更新* 更新,大小_t 更新计数)
批处理应用多个内核节点更新。
参数
更新
-要应用的更新
更新计数
-要应用的更新数
退换商品

cuda成功,cudaErrorInvalidValue

描述

Batch根据中提供的信息应用一个或多个内核节点更新更新.更新计数指定要应用的更新数。中的每个条目更新必须指定要更新的节点、要应用的更新类型以及该类型更新的参数。请参阅文档对于cudaGraphKernelNode更新了解更多详细信息。

如果为节点的直接依赖项调用此函数,并且该依赖项配置为程序依赖项启动,则必须通过__threadfence()调用内存围栏,然后通过cudaTrigger程序启动完成()以确保更新在启动之前对该从属节点可见。

注:

请注意,此函数还可能返回以前异步启动的错误代码。

另请参见:

cudaGraphKernelNodeSet参数,cudaGraphKernelNodeSet已启用,cudaGraphKernelNodeSetGridDim

__主机____设备__cuda错误_tcudaGraph启动(cuda图形执行_t graphExec(图形执行),cudaStream_t 流动)
在流中启动可执行图形。
参数
graphExec(图形执行)
-要启动的可执行图形
流动
-启动图形的流
描述

执行graphExec(图形执行)在里面流动。只有一个实例graphExec(图形执行)可能一次执行。每次发布都是在中任何之前的工作之后进行的流动以及之前发布的graphExec(图形执行)。要同时执行一个图,必须多次将其实例化为多个可执行图。

如果由创建的任何分配graphExec(图形执行)保持未馈送状态(从上一次发射开始),以及graphExec(图形执行)未使用实例化cudaGraphInstantiateFlag自动释放启动,启动将失败cuda错误无效值.

注:

另请参见:

cudaGraph实例化,cudaGraph上传,cudaGraphExec破坏

__主机__cuda错误_tcudaGraphMemAllocNode获取参数(cuda图形节点_t 节点,cudaMemAllocNode参数* 参数_out)
返回内存分配节点的参数。
参数
节点
-获取参数的节点
参数_out
-返回参数的指针
描述

返回内存分配节点的参数h节点在里面参数_out. ThepoolProps(池属性)访问描述返回参数_out,由节点所有。此内存将一直有效,直到节点被销毁。不能修改返回的参数。

注:

另请参见:

cudaGraphAddMemAlloc节点,cudaGraphMemFreeNode获取参数

__主机__cuda错误_tcudaGraphMemFreeNode获取参数(cuda图形节点_t 节点,无效* dptr_输出)
返回无内存节点的参数。
参数
节点
-获取参数的节点
dptr_输出
-返回设备地址的指针
描述

返回无内存节点的地址h节点在里面dptr_输出.

注:

另请参见:

cudaGraphAddMemFree节点,cudaGraphMemFreeNode获取参数

__主机__cuda错误_tcudaGraphMemcpyNode获取参数(cuda图形节点_t 节点,cudaMemcpy3D参数* pNodeParams(节点参数))
返回memcpy节点的参数。
参数
节点
-获取参数的节点
pNodeParams(节点参数)
-返回参数的指针
描述

返回memcpy节点的参数节点在里面pNodeParams(节点参数).

注:

另请参见:

cudaMemcpy3D,cudaGraphAddMemcpy节点,cudaGraphMemcpyNodeSet参数

__主机__cuda错误_tcuda图形内存节点集参数(cuda图形节点_t 节点,常量cudaMemcpy3D参数* pNodeParams(节点参数))
设置memcpy节点的参数。
参数
节点
-用于设置参数的节点
pNodeParams(节点参数)
-要复制的参数
描述

设置memcpy节点的参数节点pNodeParams(节点参数).

注:

另请参见:

cudaGraphNodeSet参数,cudaMemcpy3D,cudaGraphMemcpyNodeSet参数到符号,cuda图形内存节点集参数FromSymbol,cudaGraphMemcpyNodeSet参数1D,cudaGraphAddMemcpy节点,cudaGraphMemcpyNode获取参数

__主机__cuda错误_tcudaGraphMemcpyNodeSet参数1D(cuda图形节点_t 节点,无效* 数据传输系统,常量void* src公司,大小_t 计数,cuda内存类型 友善的)
设置memcpy节点的参数以执行一维复制。
参数
节点
-用于设置参数的节点
数据传输系统
-目标存储器地址
src公司
-源存储器地址
计数
-要复制的大小(字节)
友善的
-转让类型
描述

设置memcpy节点的参数节点到所提供参数描述的副本。

启动图形时,节点将复制计数指向的内存区域中的字节src公司指向的内存区域数据传输系统,其中友善的指定复制的方向,并且必须是cuda成员主机到主机,cudaMemcpy主机到设备,cudaMemcpy设备到主机,cuda内存设备到设备,或cuda内存默认值.超车cuda内存默认值建议使用,在这种情况下,将从指针值推断传输类型。然而,cuda内存默认值仅允许在支持统一虚拟寻址的系统上使用。使用dst和src指针启动memcpy节点与复制方向不匹配会导致未定义的行为。

注:

另请参见:

cudaMemcpy公司,cudaGraphMemcpyNodeSet参数,cudaGraphAddMemcpy节点,cudaGraphMemcpyNode获取参数

__主机__cuda错误_tcudaGraphMemcpyNodeSet参数来自符号(cuda图形节点_t 节点,无效* 数据传输系统,常量void* 符号,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置要从设备上的符号复制的memcpy节点参数。
参数
节点
-用于设置参数的节点
数据传输系统
-目标存储器地址
符号
-设备符号地址
计数
-要复制的大小(字节)
抵消
-从符号开始的偏移量(字节)
友善的
-转让类型
描述

设置memcpy节点的参数节点到所提供参数描述的副本。

启动图形时,节点将复制计数指向的内存区域中的字节抵消从符号开始的字节符号指向的内存区域数据传输系统。内存区域不能重叠。符号是驻留在全局或常量内存空间中的变量。友善的可以是任意一种cudaMemcpy设备到主机,cuda内存设备到设备,或cuda内存默认值.超车cuda内存默认值建议使用,在这种情况下,将从指针值推断传输类型。然而,cuda内存默认值仅允许在支持统一虚拟寻址的系统上使用。

注:

另请参见:

cudaMemcpyFromSymbol(来自符号),cudaGraphMemcpyNodeSet参数,cudaGraphMemcpyNodeSet参数到符号,cudaGraphAddMemcpy节点,cudaGraphMemcpyNode获取参数

__主机__cuda错误_tcudaGraphMemcpyNodeSet参数到符号(cuda图形节点_t 节点,常量void* 符号,常量void* src公司,大小_t 计数,大小_t 抵消,cuda内存类型 友善的)
设置memcpy节点的参数以复制到设备上的符号。
参数
节点
-用于设置参数的节点
符号
-设备符号地址
src公司
-源存储器地址
计数
-要复制的大小(字节)
抵消
-从符号开始的偏移量(字节)
友善的
-转让类型
描述

设置memcpy节点的参数节点到所提供参数描述的副本。

启动图形时,节点将复制计数指向的内存区域中的字节src公司指向的内存区域抵消从符号开始的字节符号。内存区域不能重叠。符号是驻留在全局或常量内存空间中的变量。友善的可以是任意一种cudaMemcpy主机到设备,cuda内存设备到设备,或cuda内存默认值.超车cuda内存默认值建议使用,在这种情况下,将从指针值推断传输类型。然而,cuda内存默认值仅允许在支持统一虚拟寻址的系统上使用。

注:

另请参见:

cudaMemcpyTo符号,cudaGraphMemcpyNodeSet参数,cuda图形内存节点集参数FromSymbol,cudaGraphAddMemcpy节点,cudaGraphMemcpyNode获取参数

__主机__cuda错误_tcudaGraphMemsetNode获取参数(cuda图形节点_t 节点,cudaMemset参数* pNodeParams(节点参数))
返回memset节点的参数。
参数
节点
-获取参数的节点
pNodeParams(节点参数)
-返回参数的指针
描述

返回memset节点的参数节点在里面pNodeParams(节点参数).

注:

另请参见:

cudaMemset2D,cudaGraphAddMemset节点,cudaGraphMemsetNodeSet参数

__主机__cuda错误_tcuda图形内存集节点集参数(cuda图形节点_t 节点,常量cudaMemset参数* pNodeParams(节点参数))
设置memset节点的参数。
参数
节点
-用于设置参数的节点
pNodeParams(节点参数)
-要复制的参数
描述

设置memset节点的参数节点pNodeParams(节点参数).

注:

另请参见:

cudaGraphNodeSet参数,cudaMemset2D,cudaGraphAddMemset节点,cudaGraphMemsetNode获取参数

__主机__cuda错误_tcudaGraphNodeFindInClone(cudaGraph节点查找克隆)(cuda图形节点_t* p节点,cuda图形节点_t 原始节点,cuda图形_t 克隆图形)
查找节点的克隆版本。
参数
p节点
-返回克隆节点的句柄
原始节点
-原始节点的句柄
克隆图形
-要查询的克隆图
描述

此函数返回中的节点克隆图形对应于原始节点在原始图形中。

克隆图形必须从中克隆原始图形通过cuda图形克隆.原始节点一定是进去了原始图形在呼叫时cuda图形克隆,以及中相应的克隆节点克隆图形一定没有被删除。然后通过返回克隆的节点pClonedNode(克隆节点).

注:

另请参见:

cuda图形克隆

__主机__cuda错误_tcudaGraphNodeGetDependencies(cudaGraph节点获取依赖项)(cuda图形节点_t 节点,cuda图形节点_t* p依赖项,大小_t* pNum依赖项)
返回节点的依赖项。
参数
节点
-要查询的节点
p依赖项
-返回依赖项的指针
pNum依赖项
-参见说明
描述

返回的列表节点的依赖关系。p依赖项可能为NULL,在这种情况下,此函数将返回pNum依赖项。否则,pNum依赖项将填写条目。如果pNum依赖项大于依赖项的实际数量,则p依赖项将设置为NULL,实际获得的节点数将返回pNum依赖项.

注:

另请参见:

cudaGraphNode获取从属节点,cuda图形获取节点,cuda图形获取根节点,cuda图形获取边缘,cudaGraphAddDependencies(cudaGraph添加依赖项),cudaGraphRemoveDependencies(cudaGraph移除依赖项)

__主机__cuda错误_tcudaGraphNodeGetDependencies_v2(cuda图形节点_t 节点,cuda图形节点_t* p依赖项,cuda图形边缘数据* 边缘数据,大小_t* pNum依赖项)
返回节点的依赖项(12.3+)。
参数
节点
-要查询的节点
p依赖项
-返回依赖项的指针
边缘数据
-为每个依赖项返回边缘数据的可选数组
pNum依赖项
-参见说明
描述

返回的列表节点的依赖关系。p依赖项可能为NULL,在这种情况下,此函数将返回pNum依赖项。否则,pNum依赖项将填写条目。如果pNum依赖项大于依赖项的实际数量,则p依赖项将设置为NULL,实际获得的节点数将返回pNum依赖项.

请注意,如果边具有非零(非默认)边数据并且边缘数据为NULL,此API将返回cuda错误损失查询.如果边缘数据为非NULL,则p依赖项也必须如此。

注:

另请参见:

cudaGraphNode获取从属节点,cuda图形获取节点,cuda图形获取根节点,cuda图形获取边缘,cudaGraphAddDependencies(cudaGraph添加依赖项),cudaGraphRemoveDependencies(cudaGraph移除依赖项)

__主机__cuda错误_tcudaGraphNode获取从属节点(cuda图形节点_t 节点,cuda图形节点_t* pDependentNodes相关节点,大小_t* pNumDependentNodes(相关节点数))
返回节点的从属节点。
参数
节点
-要查询的节点
pDependentNodes相关节点
-返回依赖节点的指针
pNumDependentNodes(相关节点数)
-参见说明
描述

返回的列表节点的依赖节点。pDependentNodes相关节点可能为NULL,在这种情况下,此函数将返回pNumDependentNodes(相关节点数)。否则,pNumDependentNodes(相关节点数)将填写条目。如果pNumDependentNodes(相关节点数)大于依赖节点的实际数量,则pDependentNodes相关节点将设置为NULL,实际获得的节点数将返回pNumDependentNodes(相关节点数).

注:

另请参见:

cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cuda图形获取节点,cuda图形获取根节点,cuda图形获取边缘,cudaGraphAddDependencies(cudaGraph添加依赖项),cudaGraphRemoveDependencies(cudaGraph移除依赖项)

__主机__cuda错误_tcudaGraphNodeGetDependentNodes_v2(cuda图形节点_t 节点,cuda图形节点_t* pDependentNodes相关节点,cuda图形边缘数据* 边缘数据,大小_t* pNumDependentNodes(相关节点数))
返回节点的从属节点(12.3+)。
参数
节点
-要查询的节点
pDependentNodes相关节点
-返回依赖节点的指针
边缘数据
-返回从属节点边缘数据的可选指针
pNumDependentNodes(相关节点数)
-参见说明
描述

返回的列表节点的依赖节点。pDependentNodes相关节点可能为NULL,在这种情况下,此函数将返回pNumDependentNodes(相关节点数)。否则,pNumDependentNodes(相关节点数)将填写条目。如果pNumDependentNodes(相关节点数)大于依赖节点的实际数量,则pDependentNodes相关节点将设置为NULL,实际获得的节点数将返回pNumDependentNodes(相关节点数).

请注意,如果边具有非零(非默认)边数据并且边缘数据为NULL,此API将返回cuda错误损失查询.如果边缘数据为非NULL,则pDependentNodes相关节点也必须如此。

注:

另请参见:

cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cuda图形获取节点,cuda图形获取根节点,cuda图形获取边缘,cudaGraphAddDependencies(cudaGraph添加依赖项),cudaGraphRemoveDependencies(cudaGraph移除依赖项)

__主机__cuda错误_tcudaGraphNode已启用(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,无符号int* 已启用)
查询给定graphExec中的节点是否已启用。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
h节点
-实例化graphExec的图中的节点
已启用
-返回节点启用状态的位置
描述

将isEnabled设置为1,如果h节点已启用,或0,如果h节点已禁用。

节点由相应的节点标识h节点在非执行图中,从中实例化可执行图。

h节点不能从原始图形中删除。

注:

目前只支持内核、memset和memcpy节点。

注:

另请参见:

cudaGraphNodeSet已启用,cudaGraphExec更新,cudaGraph实例化cudaGraph启动

__主机__cuda错误_tcuda图形节点获取类型(cuda图形节点_t 节点,cudaGraphNodeType(cudaGraph节点类型)** p类型)
返回节点的类型。
参数
节点
-要查询的节点
p类型
-返回节点类型的指针
描述

返回的节点类型节点在里面p类型.

注:

另请参见:

cuda图形获取节点,cuda图形获取根节点,cudaGraphChildGraphNodeGetGraph(cudaGraph子图形节点获取图形),cudaGraphKernelNodeGetParams(cudaGraph内核节点获取参数),cudaGraphKernelNodeSet参数,cudaGraphHostNodeGetParams(cudaGraph主机节点获取参数),cudaGraphHostNodeSet参数,cudaGraphMemcpyNode获取参数,cudaGraphMemcpyNodeSet参数,cudaGraphMemsetNode获取参数,cudaGraphMemsetNodeSet参数

__主机__cuda错误_tcudaGraphNodeSet已启用(cuda图形执行_t hGraphExec公司,cuda图形节点_t h节点,无符号int 已启用)
启用或禁用给定graphExec中的指定节点。
参数
hGraphExec公司
-要在其中设置指定节点的可执行图
h节点
-实例化graphExec的图中的节点
已启用
-如果!=,则启用节点0,否则节点被禁用
描述

集合h节点启用或禁用。在重新启用之前,禁用的节点在功能上等同于空节点。现有的禁用/启用节点不会影响节点参数。

节点由相应的节点标识h节点在非执行图中,从中实例化可执行图。

h节点不能从原始图形中删除。

这些修改只影响未来的发布hGraphExec公司。已排队或正在启动hGraphExec公司不受此呼叫的影响。h节点也不会被此调用修改。

注:

目前只支持内核、memset和memcpy节点。

注:

另请参见:

cudaGraphNode已启用,cudaGraphExec更新,cudaGraph实例化cudaGraph启动

__主机__cuda错误_tcudaGraphNodeSet参数(cuda图形节点_t 节点,cudaGraphNodeParams(cudaGraph节点参数)* 节点参数)
更新图形节点的参数。
参数
节点
-用于设置参数的节点
节点参数
-要复制的参数
描述

设置图形节点的参数节点节点参数。指定的节点类型节点参数->类型必须与的类型匹配节点.节点参数必须完全初始化,并且所有未使用的字节(保留、填充)均为零。

节点类型cudaGraphNodeTypeMemAlloc和cudaGraph NodeTypeMenFree不支持修改参数。

注:

另请参见:

cuda图形添加节点,cudaGraphExecNodeSet参数

__主机__cuda错误_tcudaGraphRelease用户对象(cuda图形_t 图表,cuda用户对象_t 对象,无符号int 计数=1)
从图形中释放用户对象引用。
参数
图表
-将发布引用的图形
对象
-要释放其引用的用户对象
计数
-要发布的引用数,通常为1。必须为非零且不大于INT_MAX。
描述

释放图形所拥有的用户对象引用。

有关用户对象的详细信息,请参见《CUDA C++编程指南》中的CUDA用户对象。

另请参见:

cuda用户对象创建cuda用户对象保留,cuda用户对象释放,cudaGraphRetainUser对象,cuda图形创建

__主机__cuda错误_tcudaGraphRemoveDependencies(cudaGraph移除依赖项)(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,大小_t num依赖项)
从图形中删除依赖关系边。
参数
图表
-要从中删除依赖项的图形
-提供依赖项的节点数组
-从属节点阵列
num依赖项
-要删除的依赖项数
描述

数量p依赖项要删除的定义如下num依赖项。中的元素p来自p收件人在相应的索引处定义依赖项。中的每个节点p来自p收件人必须属于图表.

如果num依赖项是0,元素在p来自p收件人将被忽略。指定不存在的依赖项将返回错误。

注:

另请参见:

cudaGraphAddDependencies(cudaGraph添加依赖项),cuda图形获取边缘,cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcudaGraphRemoveDependencies_v2(cuda图形_t 图表,常量cuda图形节点_t* ,常量cuda图形节点_t* ,常量cuda图形边缘数据* 边缘数据,大小_t num依赖项)
从图形中移除依存边。(12.3+).
参数
图表
-要从中删除依赖项的图形
-提供依赖项的节点数组
-从属节点阵列
边缘数据
-可选的边缘数据数组。如果为NULL,则假定边缘数据为默认值(置零)。
num依赖项
-要删除的依赖项数
描述

数量p依赖项要删除的定义如下num依赖项。中的元素p来自p收件人在相应的索引处定义依赖项。中的每个节点p来自p收件人必须属于图表.

如果num依赖项是0,元素在p来自p收件人将被忽略。使用数据匹配指定图形中不存在的边边缘数据,导致错误。边缘数据为空,这相当于为每条边传递默认(零)数据。

注:

另请参见:

cudaGraphAddDependencies(cudaGraph添加依赖项),cuda图形获取边缘,cudaGraphNodeGetDependencies(cudaGraph节点获取依赖项),cudaGraphNode获取从属节点

__主机__cuda错误_tcudaGraphRetainUser对象(cuda图形_t 图表,cuda用户对象_t 对象,无符号int 计数=1,无符号int 旗帜=0)
从图形中保留对用户对象的引用。
参数
图表
-与引用关联的图形
对象
-要为其保留引用的用户对象
计数
-要添加到图形中的引用数,通常为1。必须为非零且不大于INT_MAX。
旗帜
-可选标志cudaGraphUser对象移动从调用线程传输引用,而不是创建新引用。传递0以创建新引用。
描述

创建或移动将由CUDA图形拥有的用户对象引用。

有关用户对象的详细信息,请参见《CUDA C++编程指南》中的CUDA用户对象。

另请参见:

cuda用户对象创建cuda用户对象保留,cuda用户对象释放,cudaGraphRelease用户对象,cuda图形创建

__设备__void cudaGraphSet条件(cuda图形条件句柄 手柄,无符号int 价值)
设置与条件节点关联的条件值。
描述

设置与条件节点关联的条件值。

另请参见:

cuda图形条件句柄创建

__主机__cuda错误_tcudaGraph上传(cuda图形执行_t graphExec(图形执行),cudaStream_t 流动)
在流中上载可执行图形。
描述

上传hGraphExec公司到中的设备h流没有执行。相同的上传hGraphExec公司将被序列化。每次上传都在中的任何先前工作之后排序h流以及之前发布的hGraphExec公司。使用缓存的内存流动支持所拥有的分配graphExec(图形执行).

注:

另请参见:

cudaGraph实例化,cudaGraph启动,cudaGraphExec破坏

__主机__cuda错误_tcudaUserObject创建(cuda用户对象_t* 对象_输出,无效* 脉冲重复频率,cuda主机Fn_t 破坏,无符号int 初始参考计数,无符号int 旗帜)
创建用户对象。
参数
对象_输出
-返回用户对象句柄的位置
脉冲重复频率
-传递到destroy函数的指针
破坏
-回调以在用户对象不再使用时释放该对象
初始参考计数
-用于创建对象的初始引用计数,通常为1。初始引用归调用线程所有。
旗帜
-目前需要通过cuda用户对象无析构函数同步,这是唯一定义的标志。这表示任何CUDA API都无法等待销毁回调。用户需要回调的同步应该手动发出完成的信号。
描述

使用指定的析构函数回调和初始引用计数创建用户对象。初始参考文件归所有由来电者发出。

析构函数回调不能进行CUDA API调用,应该避免阻塞行为,因为它们是由共享内部执行的螺纹。如果另一个线程不阻止通过调度的任务的前进,则可能会向其发出执行此类操作的信号CUDA公司。

有关用户对象的详细信息,请参见《CUDA C++编程指南》中的CUDA用户对象。

另请参见:

cuda用户对象保留,cuda用户对象释放,cudaGraphRetainUser对象,cudaGraphRelease用户对象,cuda图形创建

__主机__cuda错误_tcuda用户对象释放(cuda用户对象_t 对象,无符号int 计数=1)
释放对用户对象的引用。
参数
对象
-要释放的对象
计数
-要发布的引用数,通常为1。必须为非零且不大于INT_MAX。
描述

释放调用方拥有的用户对象引用。如果引用计数为零,则调用对象的析构函数。

释放不属于调用方的引用或在所有引用之后使用用户对象句柄是未定义的行为释放。

有关用户对象的详细信息,请参见《CUDA C++编程指南》中的CUDA用户对象。

另请参见:

cuda用户对象创建,cuda用户对象保留,cudaGraphRetainUser对象,cudaGraphRelease用户对象,cuda图形创建

__主机__cuda错误_tcuda用户对象保留(cuda用户对象_t 对象,无符号int 计数=1)
保留对用户对象的引用。
参数
对象
-要保留的对象
计数
-要保留的引用数,通常为1。必须为非零且不大于INT_MAX。
描述

保留对用户对象的新引用。新引用归调用者所有。

有关用户对象的详细信息,请参见《CUDA C++编程指南》中的CUDA用户对象。

另请参见:

cuda用户对象创建,cuda用户对象释放,cudaGraphRetainUser对象,cudaGraphRelease用户对象,cuda图形创建