6.114. CUpti_PCSamplingData
-
struct CUpti_PCSamplingData
收集的 PC 采样数据。
公共成员
-
size_t size
[w] 数据结构的大小。
CUPTI 客户端应设置结构的大小。CUPTI 将使用它来检查结构中可用的字段。用于保持向后兼容性。
-
size_t collectNumPcs
[w] 要收集的 PC 数量
-
uint64_t totalSamples
[r] 跨所有 PC 收集的样本数量。
它包括用户模块的样本、非用户内核的样本和丢弃的样本。它包括所有未选择的停顿原因的计数。CUPTI 不为非用户内核提供 PC 记录。CUPTI 不为所有选定的停顿原因指标计数均为零的指令提供 PC 记录。
-
uint64_t droppedSamples
[r] 由于背压/溢出,硬件丢弃的样本数量。
-
size_t totalNumPcs
[r] 收集的 PC 数量
-
size_t remainingNumPcs
[r] 可用于收集的 PC 数量
-
uint64_t rangeId
[r] 每个范围的唯一标识符。
在多个缓冲区中的多个范围收集的数据可以使用范围 ID 进行标识。
-
CUpti_PCSamplingPCData *pPcData
[r] 分析的 PC 数据。此数据结构应具有足够的内存来收集 collectNumPcs 中提到的 PC 数量
collectNumPcs
-
uint64_t nonUsrKernelsTotalSamples
[r] 跨所有非用户内核 PC 收集的样本数量。
它包括非用户内核的样本。它也包括所有未选择的停顿原因的计数。CUPTI 不为非用户内核提供 PC 记录。
-
uint8_t hardwareBufferFull
[r] 硬件缓冲区的状态。
当硬件缓冲区满时,CUPTI 返回错误代码 CUPTI_ERROR_OUT_OF_MEMORY。当硬件缓冲区满时,用户将获得 pc 数据为 0。为了缓解此问题,可以尝试以下一个或多个选项
使用属性 CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_HARDWARE_BUFFER_SIZE 增加硬件缓冲区大小
使用属性 CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_WORKER_THREAD_PERIODIC_SLEEP_SPAN 减小线程休眠跨度
使用属性 CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SAMPLING_PERIOD 降低采样频率
-
size_t size