5.13. CUPTI SASS 指标 API
实现 CUPTI SASS 指标 API 的函数、类型和枚举。
数据结构
- CUpti_SassMetricsDisable_Params
cuptiSassMetricsDisable 的参数。
- CUpti_SassMetricsEnable_Params
cuptiSassMetricsEnable 的参数。
- CUpti_SassMetricsFlushData_Params
cuptiSassMetricsFlushData 的参数。
- CUpti_SassMetricsGetDataProperties_Params
cuptiSassMetricsGetDataProperties 的参数。
- CUpti_SassMetricsSetConfig_Params
cuptiSassMetricsSetConfig 的参数。
- CUpti_SassMetricsUnsetConfig_Params
cuptiSassMetricsUnsetConfig 的参数。
- CUpti_SassMetrics_Config
- CUpti_SassMetrics_Data
- CUpti_SassMetrics_GetMetrics_Params
cuptiSassMetricsGetMetrics 的参数。
- CUpti_SassMetrics_GetNumOfMetrics_Params
cuptiSassMetricsGetNumOfMetrics 的参数。
- CUpti_SassMetrics_GetProperties_Params
cuptiSassMetricsGetProperties 的参数。
- CUpti_SassMetrics_InstanceValue
- CUpti_SassMetrics_MetricDetails
宏
- CUpti_SassMetricsDisable_Params_STRUCT_SIZE
- CUpti_SassMetricsEnable_Params_STRUCT_SIZE
- CUpti_SassMetricsFlushData_Params_STRUCT_SIZE
- CUpti_SassMetricsGetDataProperties_Params_STRUCT_SIZE
- CUpti_SassMetricsSetConfig_Params_STRUCT_SIZE
- CUpti_SassMetricsUnsetConfig_Params_STRUCT_SIZE
- CUpti_SassMetrics_GetMetrics_Params_STRUCT_SIZE
- CUpti_SassMetrics_GetNumOfMetrics_Params_STRUCT_SIZE
- CUpti_SassMetrics_GetProperties_Params_STRUCT_SIZE
- CUpti_SassMetrics_InstanceValue_STRUCT_SIZE
枚举
函数
- CUptiResult cuptiSassMetricsDisable(CUpti_SassMetricsDisable_Params *pParams)
SASS 指标数据收集禁用 API 将标记范围的结束,在此 API 调用之后启动的任何内核将不会针对 SASS 指标进行分析。
- CUptiResult cuptiSassMetricsEnable(CUpti_SassMetricsEnable_Params *pParams)
Sass 指标数据收集启用 API 将标记范围的开始,在此范围之间,内核将针对 SASS 指标进行分析。
- CUptiResult cuptiSassMetricsFlushData(CUpti_SassMetricsFlushData_Params *pParams)
将 SASS 指标数据从 CUPTI 内部缓冲区刷新到用户缓冲区。
- CUptiResult cuptiSassMetricsGetDataProperties(CUpti_SassMetricsGetDataProperties_Params *pParams)
SASS 指标数据属性 API 将提供关于指标值实例数量和已收集的 SASS 指令数据数量的数据。
- CUptiResult cuptiSassMetricsGetMetrics(CUpti_SassMetrics_GetMetrics_Params *pParams)
获取芯片支持的所有 SASS 指标的列表。
- CUptiResult cuptiSassMetricsGetNumOfMetrics(CUpti_SassMetrics_GetNumOfMetrics_Params *pParams)
获取芯片支持的 SASS 指标的数量。
- CUptiResult cuptiSassMetricsGetProperties(CUpti_SassMetrics_GetProperties_Params *pParams)
获取查询指标的指标属性。
- CUptiResult cuptiSassMetricsSetConfig(CUpti_SassMetricsSetConfig_Params *pParams)
为设备设置 SASS 指标数据收集的配置。
- CUptiResult cuptiSassMetricsUnsetConfig(CUpti_SassMetricsUnsetConfig_Params *pParams)
取消配置 API 将重置设备的 SASS 指标数据收集配置。
5.13.1. 宏
-
CUpti_SassMetricsDisable_Params_STRUCT_SIZE
-
CUpti_SassMetricsEnable_Params_STRUCT_SIZE
-
CUpti_SassMetricsFlushData_Params_STRUCT_SIZE
-
CUpti_SassMetricsGetDataProperties_Params_STRUCT_SIZE
-
CUpti_SassMetricsSetConfig_Params_STRUCT_SIZE
-
CUpti_SassMetricsUnsetConfig_Params_STRUCT_SIZE
-
CUpti_SassMetrics_GetMetrics_Params_STRUCT_SIZE
-
CUpti_SassMetrics_GetNumOfMetrics_Params_STRUCT_SIZE
-
CUpti_SassMetrics_GetProperties_Params_STRUCT_SIZE
-
CUpti_SassMetrics_InstanceValue_STRUCT_SIZE
5.13.2. 枚举
-
enum CUpti_SassMetrics_OutputGranularity
值
-
enumerator CUPTI_SASS_METRICS_OUTPUT_GRANULARITY_GPU
SASS 指标数据将在 GPU 级别收集。在 CUpti_SassMetricsGetDataProperties_Params 结构中,numOfInstances 将等于 1。
-
enumerator CUPTI_SASS_METRICS_OUTPUT_GRANULARITY_SM
SASS 指标数据将在 SM 级别收集。在 CUpti_SassMetricsGetDataProperties_Params 结构中,numOfInstances 将等于 GPU 中 SM 的数量。
-
enumerator CUPTI_SASS_METRICS_OUTPUT_GRANULARITY_SMSP
SASS 指标数据将在 SM 子分区级别收集。在 CUpti_SassMetricsGetDataProperties_Params 结构中,numOfInstances 将等于 GPU 中 SM 子分区的数量。
-
enumerator CUPTI_SASS_METRICS_OUTPUT_GRANULARITY_INVALID
-
enumerator CUPTI_SASS_METRICS_OUTPUT_GRANULARITY_GPU
5.13.3. 函数
-
CUptiResult cuptiSassMetricsDisable(CUpti_SassMetricsDisable_Params *pParams)
SASS 指标数据收集禁用 API 将标记范围的结束,在此 API 调用之后启动的任何内核将不会针对 SASS 指标进行分析。
- 参数
pParams – 指向 CUpti_SassMetricsDisable_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标数据收集
CUPTI_ERROR_INVALID_CONTEXT – 如果在此 API 调用之前未创建任何 cuda 上下文
CUPTI_ERROR_INVALID_OPERATION – 如果对于 cuda 上下文多次调用此 API 而未调用 cuptiSassMetricsEnable() API 或在调用 cuptiSassMetricsSetConfig() API 调用之前调用。
-
CUptiResult cuptiSassMetricsEnable(CUpti_SassMetricsEnable_Params *pParams)
Sass 指标数据收集启用 API 将标记范围的开始,在此范围之间,内核将针对 SASS 指标进行分析。
- 参数
pParams – 指向 CUpti_SassMetricsEnable_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标数据收集
CUPTI_ERROR_INVALID_CONTEXT – 如果在此 API 调用之前未创建任何 cuda 上下文
CUPTI_ERROR_INVALID_OPERATION – 如果对于 cuda 上下文多次调用此 API 而未调用 cuptiSassMetricsDisable() API 或在调用 cuptiSassMetricsSetConfig() API 调用之前调用。
-
CUptiResult cuptiSassMetricsFlushData(CUpti_SassMetricsFlushData_Params *pParams)
将 SASS 指标数据从 CUPTI 内部缓冲区刷新到用户缓冲区。
用户需要为检索数据分配缓冲区。可以使用 API cuptiSassMetricsGetDataProperties() 查询收集的记录数。
- 参数
pParams – 指向 CUpti_SassMetricsFlushData_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标数据收集。
CUPTI_ERROR_INVALID_OPERATION – 如果在启用/禁用范围之外调用此 API。
-
CUptiResult cuptiSassMetricsGetDataProperties(CUpti_SassMetricsGetDataProperties_Params *pParams)
SASS 指标数据属性 API 将提供关于指标值实例数量和已收集的 SASS 指令数据数量的数据。
指标的实例数量将根据用户使用 CUpti_SassMetrics_OutputGranularity 值设置的输出粒度级别而变化。用户需要分配内存以使用 cuptiSassMetricsFlushData() API 检索 SASS 数据。
- 参数
pParams – 指向 CUpti_SassMetricsGetDataProperties_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标数据收集
CUPTI_ERROR_INVALID_OPERATION – 如果在启用/禁用范围之外调用此 API。
-
CUptiResult cuptiSassMetricsGetMetrics(CUpti_SassMetrics_GetMetrics_Params *pParams)
获取芯片支持的所有 SASS 指标的列表。
- 参数
pParams – 指向 CUpti_SassMetrics_GetMetrics_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标收集
-
CUptiResult cuptiSassMetricsGetNumOfMetrics(CUpti_SassMetrics_GetNumOfMetrics_Params *pParams)
获取芯片支持的 SASS 指标的数量。
- 参数
pParams – 指向 CUpti_SassMetrics_GetNumOfMetrics_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标收集
-
CUptiResult cuptiSassMetricsGetProperties(CUpti_SassMetrics_GetProperties_Params *pParams)
获取查询指标的指标属性。
对于给定的指标,结果将放入 CUpti_SassMetrics_MetricDetails 中,其中存储指标 ID、指标的描述。
- 参数
pParams – 指向 CUpti_SassMetrics_GetProperties_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标数据收集
-
CUptiResult cuptiSassMetricsSetConfig(CUpti_SassMetricsSetConfig_Params *pParams)
为设备设置 SASS 指标数据收集的配置。
用户需要在调用任何 SASS 指标数据收集 API 之前调用此 API。每次设置配置 API 调用之后,在再次为同一设备调用 cuptiSassMetricsSetConfig() API 之前,都需要调用 cuptiSassPatchingUnSetConfig API。
- 参数
pParams – 指向 CUpti_SassMetricsSetConfig_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_INVALID_CONTEXT – 如果在此 API 调用之前未创建任何 cuda 上下文
CUPTI_ERROR_INVALID_OPERATION – 如果在未调用取消配置 API 的情况下为设备多次调用此 API
CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标数据收集
-
CUptiResult cuptiSassMetricsUnsetConfig(CUpti_SassMetricsUnsetConfig_Params *pParams)
取消配置 API 将重置设备的 SASS 指标数据收集配置。
一旦调用此 API,CUPTI 将取消分配所有已分配的内存,并删除 SASS 指标数据收集的所有配置。用户只能为先前已为设备调用 cuptiSassMetricsSetConfig() API 的设备调用此 API。
- 参数
pParams – 指向 CUpti_SassMetricsSetConfig_Params 的指针
- 返回值
CUPTI_SUCCESS –
CUPTI_ERROR_INVALID_PARAMETER – 如果任何
pParams
无效CUPTI_ERROR_INVALID_CONTEXT – 如果在此 API 调用之前未创建任何 cuda 上下文
CUPTI_ERROR_INVALID_OPERATION – 如果在未调用设置配置 API 的情况下为设备多次调用此 API
CUPTI_ERROR_NOT_SUPPORTED – 表示系统/设备不支持 SASS 指标数据收集