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 中是新增的。