Overview#

CUPTI Python supports a subset of CUPTI C Activity and Callback APIs.

The following CUPTI APIs are not supported:

  • Host Profiling

  • Range Profiling

  • PC Sampling

  • SASS Metrics

  • PM Sampling

  • Profiling

  • Event

  • Metric

  • Checkpoint

The CUPTI Python APIs are implemented as wrappers over the corresponding CUPTI C APIs.

The CUPTI Python APIs use snake case naming (lower case and words separated by underscore). e.g. activity_enable. While the CUPTI C APIs use camel case naming (first character of word is upper case). e.g. cuptiActivityEnable .

Refer the CUPTI C document for details.

Supported CUPTI Activities#

Each supported CUPTI Activity Struct corresponds to an equivalent Python class. The activity records are returned through the func_buffer_completed callback as corresponding Python objects. To identify the type of activity record represented by the Python object, refer to the kind field. The table below links each supported Activity Kind to its corresponding Activity Record and equivalent Python class.

Supported Activity Kinds

Activity Record

Python Class

cupti.cupti.ActivityKind.DRIVER

CUpti_ActivityAPI

cupti.cupti.ActivityAPI

cupti.cupti.ActivityKind.RUNTIME

CUpti_ActivityAPI

cupti.cupti.ActivityAPI

cupti.cupti.ActivityKind.MEMCPY

CUpti_ActivityMemcpy6

cupti.cupti.ActivityMemcpy6

cupti.cupti.ActivityKind.MEMCPY2

CUpti_ActivityMemcpyPtoP4

cupti.cupti.ActivityMemcpyPtoP4

cupti.cupti.ActivityKind.MEMSET

CUpti_ActivityMemset4

cupti.cupti.ActivityMemset4

cupti.cupti.ActivityKind.MEMORY_POOL

CUpti_ActivityMemoryPool3

cupti.cupti.ActivityMemoryPool3

cupti.cupti.ActivityKind.MEMORY2

CUpti_ActivityMemory4

cupti.cupti.ActivityMemory4

cupti.cupti.ActivityKind.KERNEL

CUpti_ActivityKernel11

cupti.cupti.ActivityKernel11

cupti.cupti.ActivityKind.CONCURRENT_KERNEL

CUpti_ActivityKernel11

cupti.cupti.ActivityKernel11

cupti.cupti.ActivityKind.ENVIRONMENT

CUpti_ActivityEnvironment

cupti.cupti.ActivityEnvironment

cupti.cupti.ActivityKind.CONTEXT

CUpti_ActivityContext4

cupti.cupti.ActivityContext4

cupti.cupti.ActivityKind.UNIFIED_MEMORY_COUNTER | CUpti_ActivityUnifiedMemoryCounter3

cupti.cupti.ActivityUnifiedMemoryCounter3

cupti.cupti.ActivityKind.FUNCTION

CUpti_ActivityFunction

cupti.cupti.ActivityFunction

cupti.cupti.ActivityKind.MODULE

CUpti_ActivityModule

cupti.cupti.ActivityModule

cupti.cupti.ActivityKind.DEVICE_ATTRIBUTE

CUpti_ActivityDeviceAttribute

cupti.cupti.ActivityDeviceAttribute

cupti.cupti.ActivityKind.CUDA_EVENT

CUpti_ActivityCudaEvent2

cupti.cupti.ActivityCudaEvent2

cupti.cupti.ActivityKind.STREAM

CUpti_ActivityStream

cupti.cupti.ActivityStream

cupti.cupti.ActivityKind.SYNCHRONIZATION

CUpti_ActivitySynchronization2

cupti.cupti.ActivitySynchronization2

cupti.cupti.ActivityKind.EXTERNAL_CORRELATION

CUpti_ActivityExternalCorrelation

cupti.cupti.ActivityExternalCorrelation

cupti.cupti.ActivityKind.GRAPH_TRACE

CUpti_ActivityGraphTrace2

cupti.cupti.ActivityGraphTrace2

cupti.cupti.ActivityKind.JIT

CUpti_ActivityJit2

cupti.cupti.ActivityJit2

cupti.cupti.ActivityKind.NAME

CUpti_ActivityName

cupti.cupti.ActivityName

cupti.cupti.ActivityKind.MARKER

CUpti_ActivityMarker2

cupti.cupti.ActivityMarker2

cupti.cupti.ActivityKind.MARKER_DATA

CUpti_ActivityMarkerData2

cupti.cupti.ActivityMarkerData2

cupti.cupti.ActivityKind.OVERHEAD

CUpti_ActivityOverhead3

cupti.cupti.ActivityOverhead3

cupti.cupti.ActivityKind.DEVICE

CUpti_ActivityDevice6

cupti.cupti.ActivityDevice6

cupti.cupti.ActivityKind.DEVICE_GRAPH_TRACE

CUpti_ActivityDeviceGraphTrace

cupti.cupti.ActivityDeviceGraphTrace

cupti.cupti.ActivityKind.MEM_DECOMPRESS

CUpti_ActivityMemDecompress

cupti.cupti.ActivityMemDecompress

cupti.cupti.ActivityKind.ROTATION

CUpti_ActivityConfidentialComputeRotation

cupti.cupti.ActivityConfidentialComputeRotation

cupti.cupti.ActivityKind.GRAPH_HOST_NODE

CUpti_ActivityGraphHostNode

cupti.cupti.ActivityGraphHostNode

cupti.cupti.ActivityKind.COMPUTE_ENGINE_CTX_SWITCH | CUpti_ActivityComputeEngineCtxSwitch

cupti.cupti.ActivityComputeEngineCtxSwitch

cupti.cupti.ActivityKind.GREEN_CONTEXT

CUpti_ActivityGreenContext

cupti.cupti.ActivityGreenContext

cupti.cupti.ActivityKind.HOST_LAUNCH

CUpti_ActivityHostLaunch

cupti.cupti.ActivityHostLaunch