|
Data Structures |
| struct | CUpti_GetCubinCrcParams |
| | Params for cuptiGetCubinCrc. More...
|
| struct | CUpti_GetSassToSourceCorrelationParams |
| | Params for cuptiGetSassToSourceCorrelation. More...
|
| struct | CUpti_PCSamplingConfigurationInfo |
| | PC sampling configuration information structure. More...
|
| struct | CUpti_PCSamplingConfigurationInfoParams |
| | PC sampling configuration structure. More...
|
| struct | CUpti_PCSamplingData |
| | Collected PC Sampling data. More...
|
| struct | CUpti_PCSamplingDisableParams |
| | Params for cuptiPCSamplingDisable. More...
|
| struct | CUpti_PCSamplingEnableParams |
| | Params for cuptiPCSamplingEnable. More...
|
| struct | CUpti_PCSamplingGetDataParams |
| | Params for cuptiPCSamplingEnable. More...
|
| struct | CUpti_PCSamplingGetNumStallReasonsParams |
| | Params for cuptiPCSamplingGetNumStallReasons. More...
|
| struct | CUpti_PCSamplingGetStallReasonsParams |
| | Params for cuptiPCSamplingGetStallReasons. More...
|
| struct | CUpti_PCSamplingPCData |
| | PC Sampling data. More...
|
| struct | CUpti_PCSamplingStallReason |
| | PC Sampling stall reasons. More...
|
| struct | CUpti_PCSamplingStartParams |
| | Params for cuptiPCSamplingStart. More...
|
| struct | CUpti_PCSamplingStopParams |
| | Params for cuptiPCSamplingStop. More...
|
Typedefs |
| typedef void(* | CUpti_ComputeCrcCallbackFunc )(const void *cubin, size_t cubinSize, uint64_t *cubinCrc) |
| | Function type for callback used by CUPTI to request crc of loaded module.
|
Enumerations |
| enum | CUpti_PCSamplingCollectionMode {
CUPTI_PC_SAMPLING_COLLECTION_MODE_INVALID = 0,
CUPTI_PC_SAMPLING_COLLECTION_MODE_CONTINUOUS = 1,
CUPTI_PC_SAMPLING_COLLECTION_MODE_KERNEL_SERIALIZED = 2
} |
| | PC Sampling collection mode. More...
|
| enum | CUpti_PCSamplingConfigurationAttributeType { ,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SAMPLING_PERIOD = 1,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_STALL_REASON = 2,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SCRATCH_BUFFER_SIZE = 3,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_HARDWARE_BUFFER_SIZE = 4,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_COLLECTION_MODE = 5,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_ENABLE_START_STOP_CONTROL = 6,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_OUTPUT_DATA_FORMAT = 7,
CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SAMPLING_DATA_BUFFER = 8
} |
| | PC Sampling configuration attributes. More...
|
| enum | CUpti_PCSamplingOutputDataFormat { , CUPTI_PC_SAMPLING_OUTPUT_DATA_FORMAT_PARSED = 1
} |
| | PC Sampling output data format. More...
|
Functions |
| CUptiResult | cuptiGetCubinCrc (CUpti_GetCubinCrcParams *pParams) |
| | Get the CRC of cubin.
|
| CUptiResult | cuptiGetSassToSourceCorrelation (CUpti_GetSassToSourceCorrelationParams *pParams) |
| | SASS to Source correlation.
|
| CUptiResult | cuptiPCSamplingDisable (CUpti_PCSamplingDisableParams *pParams) |
| | Disable PC sampling.
|
| CUptiResult | cuptiPCSamplingEnable (CUpti_PCSamplingEnableParams *pParams) |
| | Enable PC sampling.
|
| CUptiResult | cuptiPCSamplingGetConfigurationAttribute (CUpti_PCSamplingConfigurationInfoParams *pParams) |
| | Read PC Sampling configuration attribute.
|
| CUptiResult | cuptiPCSamplingGetData (CUpti_PCSamplingGetDataParams *pParams) |
| | Flush GPU PC sampling data periodically.
|
| CUptiResult | cuptiPCSamplingGetNumStallReasons (CUpti_PCSamplingGetNumStallReasonsParams *pParams) |
| | Get PC sampling stall reason count.
|
| CUptiResult | cuptiPCSamplingGetStallReasons (CUpti_PCSamplingGetStallReasonsParams *pParams) |
| | Get PC sampling stall reasons.
|
| CUptiResult | cuptiPCSamplingSetConfigurationAttribute (CUpti_PCSamplingConfigurationInfoParams *pParams) |
| | Write PC Sampling configuration attribute.
|
| CUptiResult | cuptiPCSamplingStart (CUpti_PCSamplingStartParams *pParams) |
| | Start PC sampling.
|
| CUptiResult | cuptiPCSamplingStop (CUpti_PCSamplingStopParams *pParams) |
| | Stop PC sampling.
|
| CUptiResult | cuptiRegisterComputeCrcCallback (CUpti_ComputeCrcCallbackFunc funcComputeCubinCrc) |
| | Register callback function with CUPTI to use your own algorithm to compute cubin crc.
|
Functions, types, and enums that implement the CUPTI PC Sampling API.
Flushing of GPU PC Sampling data is required at folloiwng point to maintain uniqueness of PCs: For CUPTI_PC_SAMPLING_COLLECTION_MODE_CONTINUOUS, after every module load-unload-load For CUPTI_PC_SAMPLING_COLLECTION_MODE_KERNEL_SERIALIZED, after every kernel ends If configuration option CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_ENABLE_START_STOP_CONTROL is enabled, then after every range end i.e. cuptiPCSamplingStop() If application is profiled in CUPTI_PC_SAMPLING_COLLECTION_MODE_CONTINUOUS, with disabled CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_ENABLE_START_STOP_CONTROL, and there is no module unload, user can collect data in two ways: Use cuptiPCSamplingGetData() API periodically Use cuptiPCSamplingDisable() on application exit and read GPU PC sampling data from sampling data buffer passed during configuration. Note: In case, cuptiPCSamplingGetData() API is not called periodically, then sampling data buffer passed during configuration should be large enough to hold all PCs data.
- Parameters:
-
- Return values:
-
| CUPTI_SUCCESS | |
| CUPTI_ERROR_INVALID_OPERATION | if this API is called without enabling PC sampling. |
| CUPTI_ERROR_INVALID_PARAMETER | if any pParams is not valid |
| CUPTI_ERROR_NOT_SUPPORTED | indicates that the system/device does not support the API |