5.9. CUPTI Profiler Host API
实现 CUPTI Profiler Host API 的函数、类型和枚举。
数据结构
- CUpti_Profiler_Host_ConfigAddMetrics_Params
cuptiProfilerHostConfigAddMetrics 的参数。
- CUpti_Profiler_Host_Deinitialize_Params
cuptiProfilerHostDeinitialize 的参数。
- CUpti_Profiler_Host_EvaluateToGpuValues_Params
cuptiProfilerHostEvaluateToGpuValues 的参数。
- CUpti_Profiler_Host_GetBaseMetrics_Params
cuptiProfilerHostGetSupportedMetrics 的参数。
- CUpti_Profiler_Host_GetConfigImageSize_Params
cuptiProfilerHostGetConfigImageSize 的参数。
- CUpti_Profiler_Host_GetConfigImage_Params
cuptiProfilerHostGetConfigImage 的参数。
- CUpti_Profiler_Host_GetMaxNumHardwareMetricsPerPass_Params
cuptiProfilerHostGetMaxNumHardwareMetricsPerPass 的参数。
- CUpti_Profiler_Host_GetMetricProperties_Params
cuptiProfilerHostGetMetricProperties 的参数。
- CUpti_Profiler_Host_GetNumOfPasses_Params
cuptiProfilerHostGetNumOfPasses 的参数。
- CUpti_Profiler_Host_GetRangeName_Params
cuptiProfilerHostGetRangeName 的参数。
- CUpti_Profiler_Host_GetSubMetrics_Params
cuptiProfilerHostGetSubMetrics 的参数。
- CUpti_Profiler_Host_GetSupportedChips_Params
cuptiProfilerHostGetSupportedChips 的参数。
- CUpti_Profiler_Host_Initialize_Params
cuptiProfilerHostInitialize 的参数。
宏
- CUpti_Profiler_Host_ConfigAddMetrics_Params_STRUCT_SIZE
- CUpti_Profiler_Host_Deinitialize_Params_STRUCT_SIZE
- CUpti_Profiler_Host_EvaluateToGpuValues_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetBaseMetrics_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetConfigImageSize_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetConfigImage_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetMaxNumHardwareMetricsPerPass_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetMetricProperties_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetNumOfPasses_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetRangeName_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetSubMetrics_Params_STRUCT_SIZE
- CUpti_Profiler_Host_GetSupportedChips_Params_STRUCT_SIZE
- CUpti_Profiler_Host_Initialize_Params_STRUCT_SIZE
枚举
函数
- CUptiResult cuptiProfilerHostConfigAddMetrics(CUpti_Profiler_Host_ConfigAddMetrics_Params *pParams)
将指标添加到分析器主机对象,以生成配置映像。
- CUptiResult cuptiProfilerHostDeinitialize(CUpti_Profiler_Host_Deinitialize_Params *pParams)
反初始化并销毁分析器主机对象 (CUpti_Profiler_Host_Object)。
- CUptiResult cuptiProfilerHostEvaluateToGpuValues(CUpti_Profiler_Host_EvaluateToGpuValues_Params *pParams)
评估存储在计数器数据中的范围索引的指标值。
- CUptiResult cuptiProfilerHostGetBaseMetrics(CUpti_Profiler_Host_GetBaseMetrics_Params *pParams)
获取芯片支持的基本指标列表。
- CUptiResult cuptiProfilerHostGetConfigImage(CUpti_Profiler_Host_GetConfigImage_Params *pParams)
获取添加到分析器主机对象的指标的配置映像。
- CUptiResult cuptiProfilerHostGetConfigImageSize(CUpti_Profiler_Host_GetConfigImageSize_Params *pParams)
获取添加到分析器主机对象的指标的配置映像的大小。
- CUptiResult cuptiProfilerHostGetMaxNumHardwareMetricsPerPass(CUpti_Profiler_Host_GetMaxNumHardwareMetricsPerPass_Params *pParams)
获取芯片单次pass中可以调度的最大硬件指标数(指标名称不包含 sass 关键字)。
- CUptiResult cuptiProfilerHostGetMetricProperties(CUpti_Profiler_Host_GetMetricProperties_Params *pParams)
获取指标的属性。
- CUptiResult cuptiProfilerHostGetNumOfPasses(CUpti_Profiler_Host_GetNumOfPasses_Params *pParams)
获取配置映像中计划的指标进行分析所需的pass数。
- CUptiResult cuptiProfilerHostGetRangeName(CUpti_Profiler_Host_GetRangeName_Params *pParams)
获取存储在计数器数据中的范围索引的范围名称。
- CUptiResult cuptiProfilerHostGetSubMetrics(CUpti_Profiler_Host_GetSubMetrics_Params *pParams)
获取指标支持的子指标列表。
- CUptiResult cuptiProfilerHostGetSupportedChips(CUpti_Profiler_Host_GetSupportedChips_Params *pParams)
获取支持的芯片列表。
- CUptiResult cuptiProfilerHostInitialize(CUpti_Profiler_Host_Initialize_Params *pParams)
创建并初始化分析器主机对象 (CUpti_Profiler_Host_Object)。
类型定义
5.9.1. 宏
-
CUpti_Profiler_Host_ConfigAddMetrics_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_Deinitialize_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_EvaluateToGpuValues_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetBaseMetrics_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetConfigImageSize_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetConfigImage_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetMaxNumHardwareMetricsPerPass_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetMetricProperties_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetNumOfPasses_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetRangeName_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetSubMetrics_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_GetSupportedChips_Params_STRUCT_SIZE
-
CUpti_Profiler_Host_Initialize_Params_STRUCT_SIZE
5.9.2. 枚举
5.9.3. 函数
-
CUptiResult cuptiProfilerHostConfigAddMetrics(CUpti_Profiler_Host_ConfigAddMetrics_Params *pParams)
将指标添加到分析器主机对象,以生成配置映像。
配置映像将包含调度指标以收集分析数据所需的必要信息。注意:PM 采样仅支持单pass配置映像。
- 参数
pParams – 指向 CUpti_Profiler_Host_ConfigAddMetrics_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_INVALID_METRIC_NAME – 如果指标名称无效或芯片不支持
CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostDeinitialize(CUpti_Profiler_Host_Deinitialize_Params *pParams)
反初始化并销毁分析器主机对象 (CUpti_Profiler_Host_Object)。
- 参数
pParams – 指向 CUpti_Profiler_Host_Deinitialize_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostEvaluateToGpuValues(CUpti_Profiler_Host_EvaluateToGpuValues_Params *pParams)
评估存储在计数器数据中的范围索引的指标值。
- 参数
pParams – 指向 CUpti_Profiler_Host_EvaluateToGpuValues_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_INVALID_METRIC_NAME – 如果指标名称无效或芯片不支持
CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetBaseMetrics(CUpti_Profiler_Host_GetBaseMetrics_Params *pParams)
获取芯片支持的基本指标列表。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetBaseMetrics_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetConfigImage(CUpti_Profiler_Host_GetConfigImage_Params *pParams)
获取添加到分析器主机对象的指标的配置映像。
用户将传递已分配的缓冲区以存储配置映像。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetConfigImage_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetConfigImageSize(CUpti_Profiler_Host_GetConfigImageSize_Params *pParams)
获取添加到分析器主机对象的指标的配置映像的大小。
用户需要分配缓冲区以存储配置映像。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetConfigImageSize_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetMaxNumHardwareMetricsPerPass(CUpti_Profiler_Host_GetMaxNumHardwareMetricsPerPass_Params *pParams)
获取芯片单次pass中可以调度的最大硬件指标数(指标名称不包含 sass 关键字)。
虽然这代表了理论上限,但实际限制可能会阻止特定指标集达到此阈值。此外,最大可实现值取决于相关芯片的特性和架构。
使用 cuptiProfilerHostGetNumOfPasses API 获取收集配置映像中计划的指标的分析数据所需的实际pass数。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetMaxNumHardwareMetricsPerPass_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetMetricProperties(CUpti_Profiler_Host_GetMetricProperties_Params *pParams)
获取指标的属性。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetMetricProperties_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_INVALID_METRIC_NAME – 如果指标名称无效或芯片不支持
CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetNumOfPasses(CUpti_Profiler_Host_GetNumOfPasses_Params *pParams)
获取配置映像中计划的指标进行分析所需的pass数。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetNumOfPasses_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetRangeName(CUpti_Profiler_Host_GetRangeName_Params *pParams)
获取存储在计数器数据中的范围索引的范围名称。
在 Range profiler 中,对于 Auto range 模式,范围名称将是根据执行顺序分配给内核的数值。对于用户范围模式,范围名称将基于用户使用 Push range API 提供的范围名称。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetRangeName_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetSubMetrics(CUpti_Profiler_Host_GetSubMetrics_Params *pParams)
获取指标支持的子指标列表。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetSubMetrics_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_INVALID_METRIC_NAME – 如果指标名称无效或芯片不支持
CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostGetSupportedChips(CUpti_Profiler_Host_GetSupportedChips_Params *pParams)
获取支持的芯片列表。
- 参数
pParams – 指向 CUpti_Profiler_Host_GetSupportedChips_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
-
CUptiResult cuptiProfilerHostInitialize(CUpti_Profiler_Host_Initialize_Params *pParams)
创建并初始化分析器主机对象 (CUpti_Profiler_Host_Object)。
- 参数
pParams – 指向 CUpti_Profiler_Host_Initialize_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_UNKNOWN – 对于任何内部错误
5.9.4. 类型定义
-
typedef struct CUpti_Profiler_Host_Object CUpti_Profiler_Host_Object