6.103. CUpti_CallbackData
-
struct CUpti_CallbackData
传递到运行时或驱动程序 API 回调函数的数据。
作为
cbdata
参数传递到运行时或驱动程序 API 回调函数的数据,用于 CUpti_CallbackFunc。 对于domain
等于 CUPTI_CB_DOMAIN_DRIVER_API 或 CUPTI_CB_DOMAIN_RUNTIME_API,cbdata
将是此类型。 回调数据仅在传递数据的回调函数的调用中有效。 如果需要在回调之外保留某些数据以供使用,则必须复制该数据。 例如,如果在回调中对 CUpti_CallbackData 进行浅拷贝,则不能在该回调之外解引用functionParams
以访问函数参数。functionName
是一个例外:functionName
指向的字符串是全局常量,因此可以在回调之外访问。公共成员
-
CUpti_ApiCallbackSite callbackSite
运行时或驱动程序函数中发出回调的点。
-
const char *functionName
发出回调的运行时或驱动程序 API 函数的名称。
此字符串是全局常量,因此可以在回调之外访问。
-
const void *functionParams
指向传递给运行时或驱动程序 API 调用的参数的指针。
有关每个运行时和驱动程序 API 函数的参数的结构定义,请参阅 generated_cuda_runtime_api_meta.h 和 generated_cuda_meta.h。
-
void *functionReturnValue
指向运行时或驱动程序 API 调用的返回值的指针。
此字段仅在 exit::CUPTI_API_EXIT 回调中有效。 对于运行时 API,
functionReturnValue
指向cudaError_t
。 对于驱动程序 API,functionReturnValue
指向CUresult
。
-
const char *symbolName
发出回调的运行时或驱动程序 API 函数操作的符号的名称。
此条目仅对驱动程序和运行时启动回调有效,其中它返回内核的名称。
-
CUcontext context
线程当前的驱动程序上下文,如果没有上下文,则为空。
如果运行时初始化上下文,则此值可以从运行时 API 函数的入口回调更改为退出回调。
-
uint32_t contextUid
与线程关联的 CUDA 上下文的唯一 ID。
UID 在创建上下文时按顺序分配,并且在一个进程中是唯一的。
-
uint64_t *correlationData
指向给定运行时或驱动程序 API 函数调用的入口和出口回调之间共享的数据的指针。
此字段可用于将 64 位值从入口回调传递到相应的出口回调。
-
uint32_t correlationId
此回调的活动记录关联 ID。
对于驱动程序域回调(即
domain
CUPTI_CB_DOMAIN_DRIVER_API),此 ID 将等于与 CUDA 驱动程序函数调用对应的 CUpti_ActivityAPI 记录中的关联 ID。 对于运行时域回调(即domain
CUPTI_CB_DOMAIN_RUNTIME_API),此 ID 将等于与 CUDA 运行时函数调用对应的 CUpti_ActivityAPI 记录中的关联 ID。 在回调中,可以记录此 ID 以将用户数据与活动记录关联。 此字段在 4.1 中是新增的。
-
CUpti_ApiCallbackSite callbackSite