|
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 following 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. cuptiPCSamplingGetData() API never does device synchronization. It is possible that when the API is called there is some unconsumed data from the HW buffer. In this case CUPTI provides only the data available with it at that moment.
- 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 |