|
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 |