CUPTI (PDF) - v10.0 (older) - Last updated October 01, 2018 - Send Feedback -

## 3. Data Structures

Here are the data structures with brief descriptions:

CUpti_Activity
  The base activity record
CUpti_ActivityAPI
  The activity record for a driver or runtime API invocation
CUpti_ActivityAutoBoostState
  Device auto boost state structure
CUpti_ActivityBranch
  The activity record for source level result branch. (deprecated)
CUpti_ActivityBranch2
  The activity record for source level result branch
CUpti_ActivityCdpKernel
  The activity record for CDP (CUDA Dynamic Parallelism) kernel
CUpti_ActivityContext
  The activity record for a context
CUpti_ActivityCudaEvent
  The activity record for CUDA event
CUpti_ActivityDevice
  The activity record for a device. (deprecated)
CUpti_ActivityDevice2
  The activity record for a device. (CUDA 7.0 onwards)
CUpti_ActivityDeviceAttribute
  The activity record for a device attribute
CUpti_ActivityEnvironment
  The activity record for CUPTI environmental data
CUpti_ActivityEvent
  The activity record for a CUPTI event
CUpti_ActivityEventInstance
  The activity record for a CUPTI event with instance information
CUpti_ActivityExternalCorrelation
  The activity record for correlation with external records
CUpti_ActivityFunction
  The activity record for global/device functions
CUpti_ActivityGlobalAccess
  The activity record for source-level global access. (deprecated)
CUpti_ActivityGlobalAccess2
  The activity record for source-level global access. (deprecated in CUDA 9.0)
CUpti_ActivityGlobalAccess3
  The activity record for source-level global access
CUpti_ActivityInstantaneousEvent
  The activity record for an instantaneous CUPTI event
CUpti_ActivityInstantaneousEventInstance
  The activity record for an instantaneous CUPTI event with event domain instance information
CUpti_ActivityInstantaneousMetric
  The activity record for an instantaneous CUPTI metric
CUpti_ActivityInstantaneousMetricInstance
  The instantaneous activity record for a CUPTI metric with instance information
CUpti_ActivityInstructionCorrelation
  The activity record for source-level sass/source line-by-line correlation
CUpti_ActivityInstructionExecution
  The activity record for source-level instruction execution
CUpti_ActivityKernel
  The activity record for kernel. (deprecated)
CUpti_ActivityKernel2
  The activity record for kernel. (deprecated)
CUpti_ActivityKernel3
  The activity record for a kernel (CUDA 6.5(with sm_52 support) onwards). (deprecated in CUDA 9.0)
CUpti_ActivityKernel4
  The activity record for a kernel
CUpti_ActivityMarker
  The activity record providing a marker which is an instantaneous point in time. (deprecated in CUDA 8.0)
CUpti_ActivityMarker2
  The activity record providing a marker which is an instantaneous point in time
CUpti_ActivityMarkerData
  The activity record providing detailed information for a marker
CUpti_ActivityMemcpy
  The activity record for memory copies
CUpti_ActivityMemcpy2
  The activity record for peer-to-peer memory copies
CUpti_ActivityMemory
  The activity record for memory
CUpti_ActivityMemset
  The activity record for memset
CUpti_ActivityMetric
  The activity record for a CUPTI metric
CUpti_ActivityMetricInstance
  The activity record for a CUPTI metric with instance information
CUpti_ActivityModule
  The activity record for a CUDA module
CUpti_ActivityName
  The activity record providing a name
CUpti_ActivityNvLink
  NVLink information. (deprecated in CUDA 9.0)
CUpti_ActivityNvLink2
  NVLink information. (deprecated in CUDA 10.0)
CUpti_ActivityNvLink3
  NVLink information
CUpti_ActivityObjectKindId
  Identifiers for object kinds as specified by CUpti_ActivityObjectKind
CUpti_ActivityOpenAcc
  The base activity record for OpenAcc records
CUpti_ActivityOpenAccData
  The activity record for OpenACC data
CUpti_ActivityOpenAccLaunch
  The activity record for OpenACC launch
CUpti_ActivityOpenAccOther
  The activity record for OpenACC other
CUpti_ActivityOpenMp
  The base activity record for OpenMp records
CUpti_ActivityOverhead
  The activity record for CUPTI and driver overheads
CUpti_ActivityPcie
  PCI devices information required to construct topology
CUpti_ActivityPCSampling
  The activity record for PC sampling. (deprecated in CUDA 8.0)
CUpti_ActivityPCSampling2
  The activity record for PC sampling. (deprecated in CUDA 9.0)
CUpti_ActivityPCSampling3
  The activity record for PC sampling
CUpti_ActivityPCSamplingConfig
  PC sampling configuration structure
CUpti_ActivityPCSamplingRecordInfo
  The activity record for record status for PC sampling
CUpti_ActivityPreemption
  The activity record for a preemption of a CDP kernel
CUpti_ActivitySharedAccess
  The activity record for source-level shared access
CUpti_ActivitySourceLocator
  The activity record for source locator
CUpti_ActivityStream
  The activity record for CUDA stream
CUpti_ActivitySynchronization
  The activity record for synchronization management
CUpti_ActivityUnifiedMemoryCounter
  The activity record for Unified Memory counters (deprecated in CUDA 7.0)
CUpti_ActivityUnifiedMemoryCounter2
  The activity record for Unified Memory counters (CUDA 7.0 and beyond)
CUpti_ActivityUnifiedMemoryCounterConfig
  Unified Memory counters configuration structure
CUpti_CallbackData
  Data passed into a runtime or driver API callback function
CUpti_EventGroupSet
  A set of event groups
CUpti_EventGroupSets
  A set of event group sets
CUpti_GraphData
  CUDA graphs data passed into a resource callback function
CUpti_MetricValue
  A metric value
CUpti_ModuleResourceData
  Module data passed into a resource callback function
CUpti_NvtxData
  Data passed into a NVTX callback function
CUpti_Profiler_BeginPass_Params
  Params for cuptiProfilerBeginPass
CUpti_Profiler_BeginSession_Params
  Params for cuptiProfilerBeginSession
CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params
  Params for cuptiProfilerCounterDataImageCalculateScratchBufferSize
CUpti_Profiler_CounterDataImage_CalculateSize_Params
  Params for cuptiProfilerCounterDataImageCalculateSize
CUpti_Profiler_CounterDataImage_Initialize_Params
  Params for cuptiProfilerCounterDataImageInitialize
CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params
  Params for cuptiProfilerCounterDataImageInitializeScratchBuffer
CUpti_Profiler_CounterDataImageOptions
  Input parameter to define the counterDataImage
CUpti_Profiler_DeInitialize_Params
  Default parameter for cuptiProfilerDeInitialize
CUpti_Profiler_DisableProfiling_Params
  Params for cuptiProfilerDisableProfiling
CUpti_Profiler_EnableProfiling_Params
  Params for cuptiProfilerEnableProfiling
CUpti_Profiler_EndPass_Params
  Params for cuptiProfilerEndPass
CUpti_Profiler_EndSession_Params
  Params for cuptiProfilerEndSession
CUpti_Profiler_FlushCounterData_Params
  Params for cuptiProfilerFlushCounterData
CUpti_Profiler_Initialize_Params
  Default parameter for cuptiProfilerInitialize
CUpti_Profiler_IsPassCollected_Params
  Params for cuptiProfilerIsPassCollected
CUpti_Profiler_SetConfig_Params
  Params for cuptiProfilerSetConfig
CUpti_Profiler_UnsetConfig_Params
  Params for cuptiProfilerUnsetConfig
CUpti_ResourceData
  Data passed into a resource callback function
CUpti_SynchronizeData
  Data passed into a synchronize callback function

### 3.1. CUpti_Activity Struct Reference

### [CUPTI Activity API]

The activity API uses a CUpti_Activity as a generic representation for any activity. The 'kind' field is used to determine the specific activity kind, and from that the CUpti_Activity object can be cast to the specific activity record type appropriate for that kind.

Note that all activity record types are padded and aligned to ensure that each member of the record is naturally aligned.

See also:

CUpti_ActivityKind

#### Public Variables

CUpti_ActivityKind kind

#### Variables

CUpti_ActivityKind CUpti_Activity::kind [inherited]

  The kind of this activity.

### 3.2. CUpti_ActivityAPI Struct Reference

### [CUPTI Activity API]

This activity record represents an invocation of a driver or runtime API (CUPTI_ACTIVITY_KIND_DRIVER and CUPTI_ACTIVITY_KIND_RUNTIME).

#### Public Variables

CUpti_CallbackId cbid
uint32_t correlationId
uint64_t end
CUpti_ActivityKind kind
uint32_t processId
uint32_t returnValue
uint64_t start
uint32_t threadId

#### Variables

CUpti_CallbackId CUpti_ActivityAPI::cbid [inherited]

  The ID of the driver or runtime function.

uint32_t CUpti_ActivityAPI::correlationId [inherited]

  The correlation ID of the driver or runtime CUDA function. Each function invocation is assigned a unique correlation ID that is identical to the correlation ID in the memcpy, memset, or kernel activity record that is associated with this function.

uint64_t CUpti_ActivityAPI::end [inherited]

  The end timestamp for the function, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the function.

CUpti_ActivityKind CUpti_ActivityAPI::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_DRIVER or CUPTI_ACTIVITY_KIND_RUNTIME.

uint32_t CUpti_ActivityAPI::processId [inherited]

  The ID of the process where the driver or runtime CUDA function is executing.

uint32_t CUpti_ActivityAPI::returnValue [inherited]

  The return value for the function. For a CUDA driver function with will be a CUresult value, and for a CUDA runtime function this will be a cudaError_t value.

uint64_t CUpti_ActivityAPI::start [inherited]

  The start timestamp for the function, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the function.

uint32_t CUpti_ActivityAPI::threadId [inherited]

  The ID of the thread where the driver or runtime CUDA function is executing.

### 3.3. CUpti_ActivityAutoBoostState Struct Reference

### [CUPTI Activity API]

This structure defines auto boost state for a device. See function /ref cuptiGetAutoBoostState

#### Public Variables

uint32_t enabled
uint32_t pid

#### Variables

uint32_t CUpti_ActivityAutoBoostState::enabled [inherited]

  Returned auto boost state. 1 is returned in case auto boost is enabled, 0 otherwise

uint32_t CUpti_ActivityAutoBoostState::pid [inherited]

  Id of process that has set the current boost state. The value will be CUPTI_AUTO_BOOST_INVALID_CLIENT_PID if the user does not have the permission to query process ids or there is an error in querying the process id.

### 3.4. CUpti_ActivityBranch Struct Reference

### [CUPTI Activity API]

This activity record the locations of the branches in the source (CUPTI_ACTIVITY_KIND_BRANCH). Branch activities are now reported using the CUpti_ActivityBranch2 activity record.

#### Public Variables

uint32_t correlationId
uint32_t diverged
uint32_t executed
CUpti_ActivityKind kind
uint32_t pcOffset
uint32_t sourceLocatorId
uint64_t threadsExecuted

#### Variables

uint32_t CUpti_ActivityBranch::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint32_t CUpti_ActivityBranch::diverged [inherited]

  Number of times this branch diverged

uint32_t CUpti_ActivityBranch::executed [inherited]

  The number of times this instruction was executed per warp. It will be incremented regardless of predicate or condition code.

CUpti_ActivityKind CUpti_ActivityBranch::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_BRANCH.

uint32_t CUpti_ActivityBranch::pcOffset [inherited]

  The pc offset for the branch.

uint32_t CUpti_ActivityBranch::sourceLocatorId [inherited]

  The ID for source locator.

uint64_t CUpti_ActivityBranch::threadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction

### 3.5. CUpti_ActivityBranch2 Struct Reference

### [CUPTI Activity API]

This activity record the locations of the branches in the source (CUPTI_ACTIVITY_KIND_BRANCH).

#### Public Variables

uint32_t correlationId
uint32_t diverged
uint32_t executed
uint32_t functionId
CUpti_ActivityKind kind
uint32_t pad
uint32_t pcOffset
uint32_t sourceLocatorId
uint64_t threadsExecuted

#### Variables

uint32_t CUpti_ActivityBranch2::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint32_t CUpti_ActivityBranch2::diverged [inherited]

  Number of times this branch diverged

uint32_t CUpti_ActivityBranch2::executed [inherited]

  The number of times this instruction was executed per warp. It will be incremented regardless of predicate or condition code.

uint32_t CUpti_ActivityBranch2::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityBranch2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_BRANCH.

uint32_t CUpti_ActivityBranch2::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityBranch2::pcOffset [inherited]

  The pc offset for the branch.

uint32_t CUpti_ActivityBranch2::sourceLocatorId [inherited]

  The ID for source locator.

uint64_t CUpti_ActivityBranch2::threadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction

### 3.6. CUpti_ActivityCdpKernel Struct Reference

### [CUPTI Activity API]

This activity record represents a CDP kernel execution.

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
int64_t gridId
int32_t gridX
int32_t gridY
int32_t gridZ
CUpti_ActivityKind kind
uint32_t localMemoryPerThread
uint32_t localMemoryTotal
const char * name
uint32_t parentBlockX
uint32_t parentBlockY
uint32_t parentBlockZ
int64_t parentGridId
uint64_t queued
uint16_t registersPerThread
uint8_t requested
uint8_t sharedMemoryConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId
uint64_t submitted

#### Variables

int32_t CUpti_ActivityCdpKernel::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityCdpKernel::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityCdpKernel::blockZ [inherited]

  The Z-dimension grid size for the kernel.

uint64_t CUpti_ActivityCdpKernel::completed [inherited]

  The timestamp when kernel is marked as completed, in ns. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the completion time is unknown.

uint32_t CUpti_ActivityCdpKernel::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityCdpKernel::correlationId [inherited]

  The correlation ID of the kernel. Each kernel execution is assigned a unique correlation ID that is identical to the correlation ID in the driver API activity record that launched the kernel.

uint32_t CUpti_ActivityCdpKernel::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityCdpKernel::dynamicSharedMemory [inherited]

  The dynamic shared memory reserved for the kernel, in bytes.

uint64_t CUpti_ActivityCdpKernel::end [inherited]

  The end timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

uint8_t CUpti_ActivityCdpKernel::executed [inherited]

  The cache configuration used for the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

int64_t CUpti_ActivityCdpKernel::gridId [inherited]

  The grid ID of the kernel. Each kernel execution is assigned a unique grid ID.

int32_t CUpti_ActivityCdpKernel::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityCdpKernel::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityCdpKernel::gridZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKind CUpti_ActivityCdpKernel::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_CDP_KERNEL

uint32_t CUpti_ActivityCdpKernel::localMemoryPerThread [inherited]

  The amount of local memory reserved for each thread, in bytes.

uint32_t CUpti_ActivityCdpKernel::localMemoryTotal [inherited]

  The total amount of local memory reserved for the kernel, in bytes.

const char * CUpti_ActivityCdpKernel::name [inherited]

  The name of the kernel. This name is shared across all activity records representing the same kernel, and so should not be modified.

uint32_t CUpti_ActivityCdpKernel::parentBlockX [inherited]

  The X-dimension of the parent block.

uint32_t CUpti_ActivityCdpKernel::parentBlockY [inherited]

  The Y-dimension of the parent block.

uint32_t CUpti_ActivityCdpKernel::parentBlockZ [inherited]

  The Z-dimension of the parent block.

int64_t CUpti_ActivityCdpKernel::parentGridId [inherited]

  The grid ID of the parent kernel.

uint64_t CUpti_ActivityCdpKernel::queued [inherited]

  The timestamp when kernel is queued up, in ns. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the queued time is unknown.

uint16_t CUpti_ActivityCdpKernel::registersPerThread [inherited]

  The number of registers required for each thread executing the kernel.

uint8_t CUpti_ActivityCdpKernel::requested [inherited]

  The cache configuration requested by the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

uint8_t CUpti_ActivityCdpKernel::sharedMemoryConfig [inherited]

  The shared memory configuration used for the kernel. The value is one of the CUsharedconfig enumeration values from cuda.h.

uint64_t CUpti_ActivityCdpKernel::start [inherited]

  The start timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

int32_t CUpti_ActivityCdpKernel::staticSharedMemory [inherited]

  The static shared memory allocated for the kernel, in bytes.

uint32_t CUpti_ActivityCdpKernel::streamId [inherited]

  The ID of the stream where the kernel is executing.

uint64_t CUpti_ActivityCdpKernel::submitted [inherited]

  The timestamp when kernel is submitted to the gpu, in ns. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the submission time is unknown.

### 3.7. CUpti_ActivityContext Struct Reference

### [CUPTI Activity API]

This activity record represents information about a context (CUPTI_ACTIVITY_KIND_CONTEXT).

#### Public Variables

uint16_t computeApiKind
uint32_t contextId
uint32_t deviceId
CUpti_ActivityKind kind
uint16_t nullStreamId

#### Variables

uint16_t CUpti_ActivityContext::computeApiKind [inherited]

  The compute API kind.

  See also:

  CUpti_ActivityComputeApiKind

uint32_t CUpti_ActivityContext::contextId [inherited]

  The context ID.

uint32_t CUpti_ActivityContext::deviceId [inherited]

  The device ID.

CUpti_ActivityKind CUpti_ActivityContext::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_CONTEXT.

uint16_t CUpti_ActivityContext::nullStreamId [inherited]

  The ID for the NULL stream in this context

### 3.8. CUpti_ActivityCudaEvent Struct Reference

### [CUPTI Activity API]

This activity is used to track recorded events. (CUPTI_ACTIVITY_KIND_CUDA_EVENT).

#### Public Variables

uint32_t contextId
uint32_t correlationId
uint32_t eventId
CUpti_ActivityKind kind
uint32_t pad
uint32_t streamId

#### Variables

uint32_t CUpti_ActivityCudaEvent::contextId [inherited]

  The ID of the context where the event was recorded.

uint32_t CUpti_ActivityCudaEvent::correlationId [inherited]

  The correlation ID of the API to which this result is associated.

uint32_t CUpti_ActivityCudaEvent::eventId [inherited]

  A unique event ID to identify the event record.

CUpti_ActivityKind CUpti_ActivityCudaEvent::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_CUDA_EVENT.

uint32_t CUpti_ActivityCudaEvent::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityCudaEvent::streamId [inherited]

  The compute stream where the event was recorded.

### 3.9. CUpti_ActivityDevice Struct Reference

### [CUPTI Activity API]

This activity record represents information about a GPU device (CUPTI_ACTIVITY_KIND_DEVICE). Device activity is now reported using the CUpti_ActivityDevice2 activity record.

#### Public Variables

uint32_t computeCapabilityMajor
uint32_t computeCapabilityMinor
uint32_t constantMemorySize
uint32_t coreClockRate
CUpti_ActivityFlag flags
uint64_t globalMemoryBandwidth
uint64_t globalMemorySize
uint32_t id
CUpti_ActivityKind kind
uint32_t l2CacheSize
uint32_t maxBlockDimX
uint32_t maxBlockDimY
uint32_t maxBlockDimZ
uint32_t maxBlocksPerMultiprocessor
uint32_t maxGridDimX
uint32_t maxGridDimY
uint32_t maxGridDimZ
uint32_t maxIPC
uint32_t maxRegistersPerBlock
uint32_t maxSharedMemoryPerBlock
uint32_t maxThreadsPerBlock
uint32_t maxWarpsPerMultiprocessor
const char * name
uint32_t numMemcpyEngines
uint32_t numMultiprocessors
uint32_t numThreadsPerWarp

#### Variables

uint32_t CUpti_ActivityDevice::computeCapabilityMajor [inherited]

  Compute capability for the device, major number.

uint32_t CUpti_ActivityDevice::computeCapabilityMinor [inherited]

  Compute capability for the device, minor number.

uint32_t CUpti_ActivityDevice::constantMemorySize [inherited]

  The amount of constant memory on the device, in bytes.

uint32_t CUpti_ActivityDevice::coreClockRate [inherited]

  The core clock rate of the device, in kHz.

CUpti_ActivityFlag CUpti_ActivityDevice::flags [inherited]

  The flags associated with the device.

  See also:

  CUpti_ActivityFlag

uint64_t CUpti_ActivityDevice::globalMemoryBandwidth [inherited]

  The global memory bandwidth available on the device, in kBytes/sec.

uint64_t CUpti_ActivityDevice::globalMemorySize [inherited]

  The amount of global memory on the device, in bytes.

uint32_t CUpti_ActivityDevice::id [inherited]

  The device ID.

CUpti_ActivityKind CUpti_ActivityDevice::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_DEVICE.

uint32_t CUpti_ActivityDevice::l2CacheSize [inherited]

  The size of the L2 cache on the device, in bytes.

uint32_t CUpti_ActivityDevice::maxBlockDimX [inherited]

  Maximum allowed X dimension for a block.

uint32_t CUpti_ActivityDevice::maxBlockDimY [inherited]

  Maximum allowed Y dimension for a block.

uint32_t CUpti_ActivityDevice::maxBlockDimZ [inherited]

  Maximum allowed Z dimension for a block.

uint32_t CUpti_ActivityDevice::maxBlocksPerMultiprocessor [inherited]

  Maximum number of blocks that can be present on a multiprocessor at any given time.

uint32_t CUpti_ActivityDevice::maxGridDimX [inherited]

  Maximum allowed X dimension for a grid.

uint32_t CUpti_ActivityDevice::maxGridDimY [inherited]

  Maximum allowed Y dimension for a grid.

uint32_t CUpti_ActivityDevice::maxGridDimZ [inherited]

  Maximum allowed Z dimension for a grid.

uint32_t CUpti_ActivityDevice::maxIPC [inherited]

  The maximum "instructions per cycle" possible on each device multiprocessor.

uint32_t CUpti_ActivityDevice::maxRegistersPerBlock [inherited]

  Maximum number of registers that can be allocated to a block.

uint32_t CUpti_ActivityDevice::maxSharedMemoryPerBlock [inherited]

  Maximum amount of shared memory that can be assigned to a block, in bytes.

uint32_t CUpti_ActivityDevice::maxThreadsPerBlock [inherited]

  Maximum number of threads allowed in a block.

uint32_t CUpti_ActivityDevice::maxWarpsPerMultiprocessor [inherited]

  Maximum number of warps that can be present on a multiprocessor at any given time.

const char * CUpti_ActivityDevice::name [inherited]

  The device name. This name is shared across all activity records representing instances of the device, and so should not be modified.

uint32_t CUpti_ActivityDevice::numMemcpyEngines [inherited]

  Number of memory copy engines on the device.

uint32_t CUpti_ActivityDevice::numMultiprocessors [inherited]

  Number of multiprocessors on the device.

uint32_t CUpti_ActivityDevice::numThreadsPerWarp [inherited]

  The number of threads per warp on the device.

### 3.10. CUpti_ActivityDevice2 Struct Reference

### [CUPTI Activity API]

This activity record represents information about a GPU device (CUPTI_ACTIVITY_KIND_DEVICE).

#### Public Variables

uint32_t computeCapabilityMajor
uint32_t computeCapabilityMinor
uint32_t constantMemorySize
uint32_t coreClockRate
uint32_t eccEnabled
CUpti_ActivityFlag flags
uint64_t globalMemoryBandwidth
uint64_t globalMemorySize
uint32_t id
CUpti_ActivityKind kind
uint32_t l2CacheSize
uint32_t maxBlockDimX
uint32_t maxBlockDimY
uint32_t maxBlockDimZ
uint32_t maxBlocksPerMultiprocessor
uint32_t maxGridDimX
uint32_t maxGridDimY
uint32_t maxGridDimZ
uint32_t maxIPC
uint32_t maxRegistersPerBlock
uint32_t maxRegistersPerMultiprocessor
uint32_t maxSharedMemoryPerBlock
uint32_t maxSharedMemoryPerMultiprocessor
uint32_t maxThreadsPerBlock
uint32_t maxWarpsPerMultiprocessor
const char * name
uint32_t numMemcpyEngines
uint32_t numMultiprocessors
uint32_t numThreadsPerWarp
uint32_t pad
CUuuid uuid

#### Variables

uint32_t CUpti_ActivityDevice2::computeCapabilityMajor [inherited]

  Compute capability for the device, major number.

uint32_t CUpti_ActivityDevice2::computeCapabilityMinor [inherited]

  Compute capability for the device, minor number.

uint32_t CUpti_ActivityDevice2::constantMemorySize [inherited]

  The amount of constant memory on the device, in bytes.

uint32_t CUpti_ActivityDevice2::coreClockRate [inherited]

  The core clock rate of the device, in kHz.

uint32_t CUpti_ActivityDevice2::eccEnabled [inherited]

  ECC enabled flag for device

CUpti_ActivityFlag CUpti_ActivityDevice2::flags [inherited]

  The flags associated with the device.

  See also:

  CUpti_ActivityFlag

uint64_t CUpti_ActivityDevice2::globalMemoryBandwidth [inherited]

  The global memory bandwidth available on the device, in kBytes/sec.

uint64_t CUpti_ActivityDevice2::globalMemorySize [inherited]

  The amount of global memory on the device, in bytes.

uint32_t CUpti_ActivityDevice2::id [inherited]

  The device ID.

CUpti_ActivityKind CUpti_ActivityDevice2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_DEVICE.

uint32_t CUpti_ActivityDevice2::l2CacheSize [inherited]

  The size of the L2 cache on the device, in bytes.

uint32_t CUpti_ActivityDevice2::maxBlockDimX [inherited]

  Maximum allowed X dimension for a block.

uint32_t CUpti_ActivityDevice2::maxBlockDimY [inherited]

  Maximum allowed Y dimension for a block.

uint32_t CUpti_ActivityDevice2::maxBlockDimZ [inherited]

  Maximum allowed Z dimension for a block.

uint32_t CUpti_ActivityDevice2::maxBlocksPerMultiprocessor [inherited]

  Maximum number of blocks that can be present on a multiprocessor at any given time.

uint32_t CUpti_ActivityDevice2::maxGridDimX [inherited]

  Maximum allowed X dimension for a grid.

uint32_t CUpti_ActivityDevice2::maxGridDimY [inherited]

  Maximum allowed Y dimension for a grid.

uint32_t CUpti_ActivityDevice2::maxGridDimZ [inherited]

  Maximum allowed Z dimension for a grid.

uint32_t CUpti_ActivityDevice2::maxIPC [inherited]

  The maximum "instructions per cycle" possible on each device multiprocessor.

uint32_t CUpti_ActivityDevice2::maxRegistersPerBlock [inherited]

  Maximum number of registers that can be allocated to a block.

uint32_t CUpti_ActivityDevice2::maxRegistersPerMultiprocessor [inherited]

  Maximum number of 32-bit registers available per multiprocessor.

uint32_t CUpti_ActivityDevice2::maxSharedMemoryPerBlock [inherited]

  Maximum amount of shared memory that can be assigned to a block, in bytes.

uint32_t CUpti_ActivityDevice2::maxSharedMemoryPerMultiprocessor [inherited]

  Maximum amount of shared memory available per multiprocessor, in bytes.

uint32_t CUpti_ActivityDevice2::maxThreadsPerBlock [inherited]

  Maximum number of threads allowed in a block.

uint32_t CUpti_ActivityDevice2::maxWarpsPerMultiprocessor [inherited]

  Maximum number of warps that can be present on a multiprocessor at any given time.

const char * CUpti_ActivityDevice2::name [inherited]

  The device name. This name is shared across all activity records representing instances of the device, and so should not be modified.

uint32_t CUpti_ActivityDevice2::numMemcpyEngines [inherited]

  Number of memory copy engines on the device.

uint32_t CUpti_ActivityDevice2::numMultiprocessors [inherited]

  Number of multiprocessors on the device.

uint32_t CUpti_ActivityDevice2::numThreadsPerWarp [inherited]

  The number of threads per warp on the device.

uint32_t CUpti_ActivityDevice2::pad [inherited]

  Undefined. Reserved for internal use.

CUuuid CUpti_ActivityDevice2::uuid [inherited]

  The device UUID. This value is the globally unique immutable alphanumeric identifier of the device.

### 3.11. CUpti_ActivityDeviceAttribute Struct Reference

### [CUPTI Activity API]

This activity record represents information about a GPU device: either a CUpti_DeviceAttribute or CUdevice_attribute value (CUPTI_ACTIVITY_KIND_DEVICE_ATTRIBUTE).

#### Public Variables

CUpti_ActivityDeviceAttribute::@10 attribute
uint32_t deviceId
CUpti_ActivityFlag flags
CUpti_ActivityKind kind
CUpti_ActivityDeviceAttribute::@11 value

#### Variables

CUpti_ActivityDeviceAttribute::@10 CUpti_ActivityDeviceAttribute::attribute [inherited]

  The attribute, either a CUpti_DeviceAttribute or CUdevice_attribute. Flag CUPTI_ACTIVITY_FLAG_DEVICE_ATTRIBUTE_CUDEVICE is used to indicate what kind of attribute this is. If CUPTI_ACTIVITY_FLAG_DEVICE_ATTRIBUTE_CUDEVICE is 1 then CUdevice_attribute field is value, otherwise CUpti_DeviceAttribute field is valid.

uint32_t CUpti_ActivityDeviceAttribute::deviceId [inherited]

  The ID of the device that this attribute applies to.

CUpti_ActivityFlag CUpti_ActivityDeviceAttribute::flags [inherited]

  The flags associated with the device.

  See also:

  CUpti_ActivityFlag

CUpti_ActivityKind CUpti_ActivityDeviceAttribute::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_DEVICE_ATTRIBUTE.

CUpti_ActivityDeviceAttribute::@11 CUpti_ActivityDeviceAttribute::value [inherited]

  The value for the attribute. See CUpti_DeviceAttribute and CUdevice_attribute for the type of the value for a given attribute.

### 3.12. CUpti_ActivityEnvironment Struct Reference

### [CUPTI Activity API]

This activity record provides CUPTI environmental data, include power, clocks, and thermals. This information is sampled at various rates and returned in this activity record. The consumer of the record needs to check the environmentKind field to figure out what kind of environmental record this is.

#### Public Variables

CUpti_EnvironmentClocksThrottleReason clocksThrottleReasons
CUpti_ActivityEnvironment::@12::@16 cooling
uint32_t deviceId
CUpti_ActivityEnvironmentKind environmentKind
uint32_t fanSpeed
uint32_t gpuTemperature
CUpti_ActivityKind kind
uint32_t memoryClock
uint32_t pcieLinkGen
uint32_t pcieLinkWidth
CUpti_ActivityEnvironment::@12::@15 power
uint32_t power
uint32_t powerLimit
uint32_t smClock
CUpti_ActivityEnvironment::@12::@13 speed
CUpti_ActivityEnvironment::@12::@14 temperature
uint64_t timestamp

#### Variables

CUpti_EnvironmentClocksThrottleReason CUpti_ActivityEnvironment::clocksThrottleReasons [inherited]

  The clocks throttle reasons.

CUpti_ActivityEnvironment::@12::@16 CUpti_ActivityEnvironment::cooling [inherited]

  Data returned for CUPTI_ACTIVITY_ENVIRONMENT_COOLING environment kind.

uint32_t CUpti_ActivityEnvironment::deviceId [inherited]

  The ID of the device

CUpti_ActivityEnvironmentKind CUpti_ActivityEnvironment::environmentKind [inherited]

  The kind of data reported in this record.

uint32_t CUpti_ActivityEnvironment::fanSpeed [inherited]

  The fan speed as percentage of maximum.

uint32_t CUpti_ActivityEnvironment::gpuTemperature [inherited]

  The GPU temperature in degrees C.

CUpti_ActivityKind CUpti_ActivityEnvironment::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_ENVIRONMENT.

uint32_t CUpti_ActivityEnvironment::memoryClock [inherited]

  The memory frequency in MHz

uint32_t CUpti_ActivityEnvironment::pcieLinkGen [inherited]

  The PCIe link generation.

uint32_t CUpti_ActivityEnvironment::pcieLinkWidth [inherited]

  The PCIe link width.

CUpti_ActivityEnvironment::@12::@15 CUpti_ActivityEnvironment::power [inherited]

  Data returned for CUPTI_ACTIVITY_ENVIRONMENT_POWER environment kind.

uint32_t CUpti_ActivityEnvironment::power [inherited]

  The power in milliwatts consumed by GPU and associated circuitry.

uint32_t CUpti_ActivityEnvironment::powerLimit [inherited]

  The power in milliwatts that will trigger power management algorithm.

uint32_t CUpti_ActivityEnvironment::smClock [inherited]

  The SM frequency in MHz

CUpti_ActivityEnvironment::@12::@13 CUpti_ActivityEnvironment::speed [inherited]

  Data returned for CUPTI_ACTIVITY_ENVIRONMENT_SPEED environment kind.

CUpti_ActivityEnvironment::@12::@14 CUpti_ActivityEnvironment::temperature [inherited]

  Data returned for CUPTI_ACTIVITY_ENVIRONMENT_TEMPERATURE environment kind.

uint64_t CUpti_ActivityEnvironment::timestamp [inherited]

  The timestamp when this sample was retrieved, in ns. A value of 0 indicates that timestamp information could not be collected for the marker.

### 3.13. CUpti_ActivityEvent Struct Reference

### [CUPTI Activity API]

This activity record represents a CUPTI event value (CUPTI_ACTIVITY_KIND_EVENT). This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profile frameworks built on top of CUPTI that collect event data may choose to use this type to store the collected event data.

#### Public Variables

uint32_t correlationId
CUpti_EventDomainID domain
CUpti_EventID id
CUpti_ActivityKind kind
uint64_t value

#### Variables

uint32_t CUpti_ActivityEvent::correlationId [inherited]

  The correlation ID of the event. Use of this ID is user-defined, but typically this ID value will equal the correlation ID of the kernel for which the event was gathered.

CUpti_EventDomainID CUpti_ActivityEvent::domain [inherited]

  The event domain ID.

CUpti_EventID CUpti_ActivityEvent::id [inherited]

  The event ID.

CUpti_ActivityKind CUpti_ActivityEvent::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_EVENT.

uint64_t CUpti_ActivityEvent::value [inherited]

  The event value.

### 3.14. CUpti_ActivityEventInstance Struct Reference

### [CUPTI Activity API]

This activity record represents the a CUPTI event value for a specific event domain instance (CUPTI_ACTIVITY_KIND_EVENT_INSTANCE). This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profile frameworks built on top of CUPTI that collect event data may choose to use this type to store the collected event data. This activity record should be used when event domain instance information needs to be associated with the event.

#### Public Variables

uint32_t correlationId
CUpti_EventDomainID domain
CUpti_EventID id
uint32_t instance
CUpti_ActivityKind kind
uint32_t pad
uint64_t value

#### Variables

uint32_t CUpti_ActivityEventInstance::correlationId [inherited]

  The correlation ID of the event. Use of this ID is user-defined, but typically this ID value will equal the correlation ID of the kernel for which the event was gathered.

CUpti_EventDomainID CUpti_ActivityEventInstance::domain [inherited]

  The event domain ID.

CUpti_EventID CUpti_ActivityEventInstance::id [inherited]

  The event ID.

uint32_t CUpti_ActivityEventInstance::instance [inherited]

  The event domain instance.

CUpti_ActivityKind CUpti_ActivityEventInstance::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_EVENT_INSTANCE.

uint32_t CUpti_ActivityEventInstance::pad [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityEventInstance::value [inherited]

  The event value.

### 3.15. CUpti_ActivityExternalCorrelation Struct Reference

### [CUPTI Activity API]

This activity record correlates native CUDA records (e.g. CUDA Driver API, kernels, memcpys, ...) with records from external APIs such as OpenACC. (CUPTI_ACTIVITY_KIND_EXTERNAL_CORRELATION).

See also:

CUpti_ActivityKind

#### Public Variables

uint32_t correlationId
uint64_t externalId
CUpti_ExternalCorrelationKind externalKind
CUpti_ActivityKind kind
uint32_t reserved

#### Variables

uint32_t CUpti_ActivityExternalCorrelation::correlationId [inherited]

  The correlation ID of the associated CUDA driver or runtime API record.

uint64_t CUpti_ActivityExternalCorrelation::externalId [inherited]

  The correlation ID of the associated non-CUDA API record. The exact field in the associated external record depends on that record's activity kind (

  See also:

  externalKind).

CUpti_ExternalCorrelationKind CUpti_ActivityExternalCorrelation::externalKind [inherited]

  The kind of external API this record correlated to.

CUpti_ActivityKind CUpti_ActivityExternalCorrelation::kind [inherited]

  The kind of this activity.

uint32_t CUpti_ActivityExternalCorrelation::reserved [inherited]

  Undefined. Reserved for internal use.

### 3.16. CUpti_ActivityFunction Struct Reference

### [CUPTI Activity API]

This activity records function name and corresponding module information. (CUPTI_ACTIVITY_KIND_FUNCTION).

#### Public Variables

uint32_t contextId
uint32_t functionIndex
uint32_t id
CUpti_ActivityKind kind
uint32_t moduleId
const char * name

#### Variables

uint32_t CUpti_ActivityFunction::contextId [inherited]

  The ID of the context where the function is launched.

uint32_t CUpti_ActivityFunction::functionIndex [inherited]

  The function's unique symbol index in the module.

uint32_t CUpti_ActivityFunction::id [inherited]

  ID to uniquely identify the record

CUpti_ActivityKind CUpti_ActivityFunction::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_FUNCTION.

uint32_t CUpti_ActivityFunction::moduleId [inherited]

  The module ID in which this global/device function is present.

const char * CUpti_ActivityFunction::name [inherited]

  The name of the function. This name is shared across all activity records representing the same kernel, and so should not be modified.

### 3.17. CUpti_ActivityGlobalAccess Struct Reference

### [CUPTI Activity API]

This activity records the locations of the global accesses in the source (CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS). Global access activities are now reported using the CUpti_ActivityGlobalAccess3 activity record.

#### Public Variables

uint32_t correlationId
uint32_t executed
CUpti_ActivityFlag flags
CUpti_ActivityKind kind
uint64_t l2_transactions
uint32_t pcOffset
uint32_t sourceLocatorId
uint64_t threadsExecuted

#### Variables

uint32_t CUpti_ActivityGlobalAccess::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint32_t CUpti_ActivityGlobalAccess::executed [inherited]

  The number of times this instruction was executed per warp. It will be incremented when at least one of thread among warp is active with predicate and condition code evaluating to true.

CUpti_ActivityFlag CUpti_ActivityGlobalAccess::flags [inherited]

  The properties of this global access.

CUpti_ActivityKind CUpti_ActivityGlobalAccess::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS.

uint64_t CUpti_ActivityGlobalAccess::l2_transactions [inherited]

  The total number of 32 bytes transactions to L2 cache generated by this access

uint32_t CUpti_ActivityGlobalAccess::pcOffset [inherited]

  The pc offset for the access.

uint32_t CUpti_ActivityGlobalAccess::sourceLocatorId [inherited]

  The ID for source locator.

uint64_t CUpti_ActivityGlobalAccess::threadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction with predicate and condition code evaluating to true.

### 3.18. CUpti_ActivityGlobalAccess2 Struct Reference

### [CUPTI Activity API]

This activity records the locations of the global accesses in the source (CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS). Global access activities are now reported using the CUpti_ActivityGlobalAccess3 activity record.

#### Public Variables

uint32_t correlationId
uint32_t executed
CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint64_t l2_transactions
uint32_t pad
uint32_t pcOffset
uint32_t sourceLocatorId
uint64_t theoreticalL2Transactions
uint64_t threadsExecuted

#### Variables

uint32_t CUpti_ActivityGlobalAccess2::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint32_t CUpti_ActivityGlobalAccess2::executed [inherited]

  The number of times this instruction was executed per warp. It will be incremented when at least one of thread among warp is active with predicate and condition code evaluating to true.

CUpti_ActivityFlag CUpti_ActivityGlobalAccess2::flags [inherited]

  The properties of this global access.

uint32_t CUpti_ActivityGlobalAccess2::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityGlobalAccess2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS.

uint64_t CUpti_ActivityGlobalAccess2::l2_transactions [inherited]

  The total number of 32 bytes transactions to L2 cache generated by this access

uint32_t CUpti_ActivityGlobalAccess2::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityGlobalAccess2::pcOffset [inherited]

  The pc offset for the access.

uint32_t CUpti_ActivityGlobalAccess2::sourceLocatorId [inherited]

  The ID for source locator.

uint64_t CUpti_ActivityGlobalAccess2::theoreticalL2Transactions [inherited]

  The minimum number of L2 transactions possible based on the access pattern.

uint64_t CUpti_ActivityGlobalAccess2::threadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction with predicate and condition code evaluating to true.

### 3.19. CUpti_ActivityGlobalAccess3 Struct Reference

### [CUPTI Activity API]

This activity records the locations of the global accesses in the source (CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS).

#### Public Variables

uint32_t correlationId
uint32_t executed
CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint64_t l2_transactions
uint64_t pcOffset
uint32_t sourceLocatorId
uint64_t theoreticalL2Transactions
uint64_t threadsExecuted

#### Variables

uint32_t CUpti_ActivityGlobalAccess3::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint32_t CUpti_ActivityGlobalAccess3::executed [inherited]

  The number of times this instruction was executed per warp. It will be incremented when at least one of thread among warp is active with predicate and condition code evaluating to true.

CUpti_ActivityFlag CUpti_ActivityGlobalAccess3::flags [inherited]

  The properties of this global access.

uint32_t CUpti_ActivityGlobalAccess3::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityGlobalAccess3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS.

uint64_t CUpti_ActivityGlobalAccess3::l2_transactions [inherited]

  The total number of 32 bytes transactions to L2 cache generated by this access

uint64_t CUpti_ActivityGlobalAccess3::pcOffset [inherited]

  The pc offset for the access.

uint32_t CUpti_ActivityGlobalAccess3::sourceLocatorId [inherited]

  The ID for source locator.

uint64_t CUpti_ActivityGlobalAccess3::theoreticalL2Transactions [inherited]

  The minimum number of L2 transactions possible based on the access pattern.

uint64_t CUpti_ActivityGlobalAccess3::threadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction with predicate and condition code evaluating to true.

### 3.20. CUpti_ActivityInstantaneousEvent Struct Reference

### [CUPTI Activity API]

This activity record represents a CUPTI event value (CUPTI_ACTIVITY_KIND_EVENT) sampled at a particular instant. This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profiler frameworks built on top of CUPTI that collect event data at a particular time may choose to use this type to store the collected event data.

#### Public Variables

uint32_t deviceId
CUpti_EventID id
CUpti_ActivityKind kind
uint32_t reserved
uint64_t timestamp
uint64_t value

#### Variables

uint32_t CUpti_ActivityInstantaneousEvent::deviceId [inherited]

  The device id

CUpti_EventID CUpti_ActivityInstantaneousEvent::id [inherited]

  The event ID.

CUpti_ActivityKind CUpti_ActivityInstantaneousEvent::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_EVENT.

uint32_t CUpti_ActivityInstantaneousEvent::reserved [inherited]

  Undefined. reserved for internal use

uint64_t CUpti_ActivityInstantaneousEvent::timestamp [inherited]

  The timestamp at which event is sampled

uint64_t CUpti_ActivityInstantaneousEvent::value [inherited]

  The event value.

### 3.21. CUpti_ActivityInstantaneousEventInstance Struct Reference

### [CUPTI Activity API]

This activity record represents the a CUPTI event value for a specific event domain instance (CUPTI_ACTIVITY_KIND_EVENT_INSTANCE) sampled at a particular instant. This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profiler frameworks built on top of CUPTI that collect event data may choose to use this type to store the collected event data. This activity record should be used when event domain instance information needs to be associated with the event.

#### Public Variables

uint32_t deviceId
CUpti_EventID id
uint8_t instance
CUpti_ActivityKind kind
uint8_t pad[3]
uint64_t timestamp
uint64_t value

#### Variables

uint32_t CUpti_ActivityInstantaneousEventInstance::deviceId [inherited]

  The device id

CUpti_EventID CUpti_ActivityInstantaneousEventInstance::id [inherited]

  The event ID.

uint8_t CUpti_ActivityInstantaneousEventInstance::instance [inherited]

  The event domain instance

CUpti_ActivityKind CUpti_ActivityInstantaneousEventInstance::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_EVENT_INSTANCE.

uint8_t CUpti_ActivityInstantaneousEventInstance::pad[3] [inherited]

  Undefined. reserved for internal use

uint64_t CUpti_ActivityInstantaneousEventInstance::timestamp [inherited]

  The timestamp at which event is sampled

uint64_t CUpti_ActivityInstantaneousEventInstance::value [inherited]

  The event value.

### 3.22. CUpti_ActivityInstantaneousMetric Struct Reference

### [CUPTI Activity API]

This activity record represents the collection of a CUPTI metric value (CUPTI_ACTIVITY_KIND_METRIC) at a particular instance. This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profiler frameworks built on top of CUPTI that collect metric data may choose to use this type to store the collected metric data.

#### Public Variables

uint32_t deviceId
uint8_t flags
CUpti_MetricID id
CUpti_ActivityKind kind
uint8_t pad[3]
uint64_t timestamp
union CUpti_MetricValue value

#### Variables

uint32_t CUpti_ActivityInstantaneousMetric::deviceId [inherited]

  The device id

uint8_t CUpti_ActivityInstantaneousMetric::flags [inherited]

  The properties of this metric.

  See also:

  CUpti_ActivityFlag

CUpti_MetricID CUpti_ActivityInstantaneousMetric::id [inherited]

  The metric ID.

CUpti_ActivityKind CUpti_ActivityInstantaneousMetric::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_METRIC.

uint8_t CUpti_ActivityInstantaneousMetric::pad[3] [inherited]

  Undefined. reserved for internal use

uint64_t CUpti_ActivityInstantaneousMetric::timestamp [inherited]

  The timestamp at which metric is sampled

union CUpti_MetricValue CUpti_ActivityInstantaneousMetric::value [inherited]

  The metric value.

### 3.23. CUpti_ActivityInstantaneousMetricInstance Struct Reference

### [CUPTI Activity API]

This activity record represents a CUPTI metric value for a specific metric domain instance (CUPTI_ACTIVITY_KIND_METRIC_INSTANCE) sampled at a particular time. This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profiler frameworks built on top of CUPTI that collect metric data may choose to use this type to store the collected metric data. This activity record should be used when metric domain instance information needs to be associated with the metric.

#### Public Variables

uint32_t deviceId
uint8_t flags
CUpti_MetricID id
uint8_t instance
CUpti_ActivityKind kind
uint8_t pad[2]
uint64_t timestamp
union CUpti_MetricValue value

#### Variables

uint32_t CUpti_ActivityInstantaneousMetricInstance::deviceId [inherited]

  The device id

uint8_t CUpti_ActivityInstantaneousMetricInstance::flags [inherited]

  The properties of this metric.

  See also:

  CUpti_ActivityFlag

CUpti_MetricID CUpti_ActivityInstantaneousMetricInstance::id [inherited]

  The metric ID.

uint8_t CUpti_ActivityInstantaneousMetricInstance::instance [inherited]

  The metric domain instance

CUpti_ActivityKind CUpti_ActivityInstantaneousMetricInstance::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_METRIC_INSTANCE.

uint8_t CUpti_ActivityInstantaneousMetricInstance::pad[2] [inherited]

  Undefined. reserved for internal use

uint64_t CUpti_ActivityInstantaneousMetricInstance::timestamp [inherited]

  The timestamp at which metric is sampled

union CUpti_MetricValue CUpti_ActivityInstantaneousMetricInstance::value [inherited]

  The metric value.

### 3.24. CUpti_ActivityInstructionCorrelation Struct Reference

### [CUPTI Activity API]

This activity records source level sass/source correlation information. (CUPTI_ACTIVITY_KIND_INSTRUCTION_CORRELATION).

#### Public Variables

CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint32_t pad
uint32_t pcOffset
uint32_t sourceLocatorId

#### Variables

CUpti_ActivityFlag CUpti_ActivityInstructionCorrelation::flags [inherited]

  The properties of this instruction.

uint32_t CUpti_ActivityInstructionCorrelation::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityInstructionCorrelation::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTRUCTION_CORRELATION.

uint32_t CUpti_ActivityInstructionCorrelation::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityInstructionCorrelation::pcOffset [inherited]

  The pc offset for the instruction.

uint32_t CUpti_ActivityInstructionCorrelation::sourceLocatorId [inherited]

  The ID for source locator.

### 3.25. CUpti_ActivityInstructionExecution Struct Reference

### [CUPTI Activity API]

This activity records result for source level instruction execution. (CUPTI_ACTIVITY_KIND_INSTRUCTION_EXECUTION).

#### Public Variables

uint32_t correlationId
uint32_t executed
CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint64_t notPredOffThreadsExecuted
uint32_t pad
uint32_t pcOffset
uint32_t sourceLocatorId
uint64_t threadsExecuted

#### Variables

uint32_t CUpti_ActivityInstructionExecution::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint32_t CUpti_ActivityInstructionExecution::executed [inherited]

  The number of times this instruction was executed per warp. It will be incremented regardless of predicate or condition code.

CUpti_ActivityFlag CUpti_ActivityInstructionExecution::flags [inherited]

  The properties of this instruction execution.

uint32_t CUpti_ActivityInstructionExecution::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityInstructionExecution::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTRUCTION_EXECUTION.

uint64_t CUpti_ActivityInstructionExecution::notPredOffThreadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction with predicate and condition code evaluating to true.

uint32_t CUpti_ActivityInstructionExecution::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityInstructionExecution::pcOffset [inherited]

  The pc offset for the instruction.

uint32_t CUpti_ActivityInstructionExecution::sourceLocatorId [inherited]

  The ID for source locator.

uint64_t CUpti_ActivityInstructionExecution::threadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction, regardless of predicate or condition code.

### 3.26. CUpti_ActivityKernel Struct Reference

### [CUPTI Activity API]

This activity record represents a kernel execution (CUPTI_ACTIVITY_KIND_KERNEL and CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL) but is no longer generated by CUPTI. Kernel activities are now reported using the CUpti_ActivityKernel4 activity record.

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
uint8_t cacheConfigExecuted
uint8_t cacheConfigRequested
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
int32_t gridX
int32_t gridY
int32_t gridZ
CUpti_ActivityKind kind
uint32_t localMemoryPerThread
uint32_t localMemoryTotal
const char * name
uint32_t pad
uint16_t registersPerThread
void * reserved0
uint32_t runtimeCorrelationId
uint64_t start
int32_t staticSharedMemory
uint32_t streamId

#### Variables

int32_t CUpti_ActivityKernel::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel::blockZ [inherited]

  The Z-dimension grid size for the kernel.

uint8_t CUpti_ActivityKernel::cacheConfigExecuted [inherited]

  The cache configuration used for the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

uint8_t CUpti_ActivityKernel::cacheConfigRequested [inherited]

  The cache configuration requested by the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

uint32_t CUpti_ActivityKernel::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel::correlationId [inherited]

  The correlation ID of the kernel. Each kernel execution is assigned a unique correlation ID that is identical to the correlation ID in the driver API activity record that launched the kernel.

uint32_t CUpti_ActivityKernel::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel::dynamicSharedMemory [inherited]

  The dynamic shared memory reserved for the kernel, in bytes.

uint64_t CUpti_ActivityKernel::end [inherited]

  The end timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

int32_t CUpti_ActivityKernel::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel::gridZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKind CUpti_ActivityKernel::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint32_t CUpti_ActivityKernel::localMemoryPerThread [inherited]

  The amount of local memory reserved for each thread, in bytes.

uint32_t CUpti_ActivityKernel::localMemoryTotal [inherited]

  The total amount of local memory reserved for the kernel, in bytes.

const char * CUpti_ActivityKernel::name [inherited]

  The name of the kernel. This name is shared across all activity records representing the same kernel, and so should not be modified.

uint32_t CUpti_ActivityKernel::pad [inherited]

  Undefined. Reserved for internal use.

uint16_t CUpti_ActivityKernel::registersPerThread [inherited]

  The number of registers required for each thread executing the kernel.

void * CUpti_ActivityKernel::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityKernel::runtimeCorrelationId [inherited]

  The runtime correlation ID of the kernel. Each kernel execution is assigned a unique runtime correlation ID that is identical to the correlation ID in the runtime API activity record that launched the kernel.

uint64_t CUpti_ActivityKernel::start [inherited]

  The start timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

int32_t CUpti_ActivityKernel::staticSharedMemory [inherited]

  The static shared memory allocated for the kernel, in bytes.

uint32_t CUpti_ActivityKernel::streamId [inherited]

  The ID of the stream where the kernel is executing.

### 3.27. CUpti_ActivityKernel2 Struct Reference

### [CUPTI Activity API]

This activity record represents a kernel execution (CUPTI_ACTIVITY_KIND_KERNEL and CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL) but is no longer generated by CUPTI. Kernel activities are now reported using the CUpti_ActivityKernel4 activity record.

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
int64_t gridId
int32_t gridX
int32_t gridY
int32_t gridZ
CUpti_ActivityKind kind
uint32_t localMemoryPerThread
uint32_t localMemoryTotal
const char * name
uint16_t registersPerThread
uint8_t requested
void * reserved0
uint8_t sharedMemoryConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId

#### Variables

int32_t CUpti_ActivityKernel2::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel2::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel2::blockZ [inherited]

  The Z-dimension grid size for the kernel.

uint64_t CUpti_ActivityKernel2::completed [inherited]

  The completed timestamp for the kernel execution, in ns. It represents the completion of all it's child kernels and the kernel itself. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the completion time is unknown.

uint32_t CUpti_ActivityKernel2::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel2::correlationId [inherited]

  The correlation ID of the kernel. Each kernel execution is assigned a unique correlation ID that is identical to the correlation ID in the driver or runtime API activity record that launched the kernel.

uint32_t CUpti_ActivityKernel2::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel2::dynamicSharedMemory [inherited]

  The dynamic shared memory reserved for the kernel, in bytes.

uint64_t CUpti_ActivityKernel2::end [inherited]

  The end timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

uint8_t CUpti_ActivityKernel2::executed [inherited]

  The cache configuration used for the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

int64_t CUpti_ActivityKernel2::gridId [inherited]

  The grid ID of the kernel. Each kernel is assigned a unique grid ID at runtime.

int32_t CUpti_ActivityKernel2::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel2::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel2::gridZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKind CUpti_ActivityKernel2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint32_t CUpti_ActivityKernel2::localMemoryPerThread [inherited]

  The amount of local memory reserved for each thread, in bytes.

uint32_t CUpti_ActivityKernel2::localMemoryTotal [inherited]

  The total amount of local memory reserved for the kernel, in bytes.

const char * CUpti_ActivityKernel2::name [inherited]

  The name of the kernel. This name is shared across all activity records representing the same kernel, and so should not be modified.

uint16_t CUpti_ActivityKernel2::registersPerThread [inherited]

  The number of registers required for each thread executing the kernel.

uint8_t CUpti_ActivityKernel2::requested [inherited]

  The cache configuration requested by the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

void * CUpti_ActivityKernel2::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel2::sharedMemoryConfig [inherited]

  The shared memory configuration used for the kernel. The value is one of the CUsharedconfig enumeration values from cuda.h.

uint64_t CUpti_ActivityKernel2::start [inherited]

  The start timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

int32_t CUpti_ActivityKernel2::staticSharedMemory [inherited]

  The static shared memory allocated for the kernel, in bytes.

uint32_t CUpti_ActivityKernel2::streamId [inherited]

  The ID of the stream where the kernel is executing.

### 3.28. CUpti_ActivityKernel3 Struct Reference

### [CUPTI Activity API]

This activity record represents a kernel execution (CUPTI_ACTIVITY_KIND_KERNEL and CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL). Kernel activities are now reported using the CUpti_ActivityKernel4 activity record.

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
int64_t gridId
int32_t gridX
int32_t gridY
int32_t gridZ
CUpti_ActivityKind kind
uint32_t localMemoryPerThread
uint32_t localMemoryTotal
const char * name
CUpti_ActivityPartitionedGlobalCacheConfig partitionedGlobalCacheExecuted
CUpti_ActivityPartitionedGlobalCacheConfig partitionedGlobalCacheRequested
uint16_t registersPerThread
uint8_t requested
void * reserved0
uint8_t sharedMemoryConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId

#### Variables

int32_t CUpti_ActivityKernel3::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel3::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel3::blockZ [inherited]

  The Z-dimension grid size for the kernel.

uint64_t CUpti_ActivityKernel3::completed [inherited]

  The completed timestamp for the kernel execution, in ns. It represents the completion of all it's child kernels and the kernel itself. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the completion time is unknown.

uint32_t CUpti_ActivityKernel3::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel3::correlationId [inherited]

  The correlation ID of the kernel. Each kernel execution is assigned a unique correlation ID that is identical to the correlation ID in the driver or runtime API activity record that launched the kernel.

uint32_t CUpti_ActivityKernel3::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel3::dynamicSharedMemory [inherited]

  The dynamic shared memory reserved for the kernel, in bytes.

uint64_t CUpti_ActivityKernel3::end [inherited]

  The end timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

uint8_t CUpti_ActivityKernel3::executed [inherited]

  The cache configuration used for the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

int64_t CUpti_ActivityKernel3::gridId [inherited]

  The grid ID of the kernel. Each kernel is assigned a unique grid ID at runtime.

int32_t CUpti_ActivityKernel3::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel3::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel3::gridZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKind CUpti_ActivityKernel3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint32_t CUpti_ActivityKernel3::localMemoryPerThread [inherited]

  The amount of local memory reserved for each thread, in bytes.

uint32_t CUpti_ActivityKernel3::localMemoryTotal [inherited]

  The total amount of local memory reserved for the kernel, in bytes.

const char * CUpti_ActivityKernel3::name [inherited]

  The name of the kernel. This name is shared across all activity records representing the same kernel, and so should not be modified.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel3::partitionedGlobalCacheExecuted [inherited]

  The partitioned global caching executed for the kernel. Partitioned global caching is required to enable caching on certain chips, such as devices with compute capability 5.2. Partitioned global caching can be automatically disabled if the occupancy requirement of the launch cannot support caching.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel3::partitionedGlobalCacheRequested [inherited]

  The partitioned global caching requested for the kernel. Partitioned global caching is required to enable caching on certain chips, such as devices with compute capability 5.2.

uint16_t CUpti_ActivityKernel3::registersPerThread [inherited]

  The number of registers required for each thread executing the kernel.

uint8_t CUpti_ActivityKernel3::requested [inherited]

  The cache configuration requested by the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

void * CUpti_ActivityKernel3::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel3::sharedMemoryConfig [inherited]

  The shared memory configuration used for the kernel. The value is one of the CUsharedconfig enumeration values from cuda.h.

uint64_t CUpti_ActivityKernel3::start [inherited]

  The start timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

int32_t CUpti_ActivityKernel3::staticSharedMemory [inherited]

  The static shared memory allocated for the kernel, in bytes.

uint32_t CUpti_ActivityKernel3::streamId [inherited]

  The ID of the stream where the kernel is executing.

### 3.29. CUpti_ActivityKernel4 Struct Reference

### [CUPTI Activity API]

This activity record represents a kernel execution (CUPTI_ACTIVITY_KIND_KERNEL and CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL).

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
CUpti_ActivityKernel4::@6 cacheConfig
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
int64_t gridId
int32_t gridX
int32_t gridY
int32_t gridZ
uint8_t isSharedMemoryCarveoutRequested
CUpti_ActivityKind kind
uint8_t launchType
uint32_t localMemoryPerThread
uint32_t localMemoryTotal
const char * name
uint8_t padding
CUpti_ActivityPartitionedGlobalCacheConfig partitionedGlobalCacheExecuted
CUpti_ActivityPartitionedGlobalCacheConfig partitionedGlobalCacheRequested
uint64_t queued
uint16_t registersPerThread
uint8_t requested
void * reserved0
uint8_t sharedMemoryCarveoutRequested
uint8_t sharedMemoryConfig
uint32_t sharedMemoryExecuted
uint64_t start
int32_t staticSharedMemory
uint32_t streamId
uint64_t submitted

#### Variables

int32_t CUpti_ActivityKernel4::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel4::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel4::blockZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKernel4::@6 CUpti_ActivityKernel4::cacheConfig [inherited]

  For devices with compute capability 7.0+ cacheConfig values are not updated in case field isSharedMemoryCarveoutRequested is set

uint64_t CUpti_ActivityKernel4::completed [inherited]

  The completed timestamp for the kernel execution, in ns. It represents the completion of all it's child kernels and the kernel itself. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the completion time is unknown.

uint32_t CUpti_ActivityKernel4::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel4::correlationId [inherited]

  The correlation ID of the kernel. Each kernel execution is assigned a unique correlation ID that is identical to the correlation ID in the driver or runtime API activity record that launched the kernel.

uint32_t CUpti_ActivityKernel4::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel4::dynamicSharedMemory [inherited]

  The dynamic shared memory reserved for the kernel, in bytes.

uint64_t CUpti_ActivityKernel4::end [inherited]

  The end timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

uint8_t CUpti_ActivityKernel4::executed [inherited]

  The cache configuration used for the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

int64_t CUpti_ActivityKernel4::gridId [inherited]

  The grid ID of the kernel. Each kernel is assigned a unique grid ID at runtime.

int32_t CUpti_ActivityKernel4::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel4::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel4::gridZ [inherited]

  The Z-dimension grid size for the kernel.

uint8_t CUpti_ActivityKernel4::isSharedMemoryCarveoutRequested [inherited]

  This indicates if CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT was updated for the kernel launch

CUpti_ActivityKind CUpti_ActivityKernel4::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint8_t CUpti_ActivityKernel4::launchType [inherited]

  The indicates if the kernel was executed via a regular launch or via a single/multi device cooperative launch.

  See also:

  CUpti_ActivityLaunchType

uint32_t CUpti_ActivityKernel4::localMemoryPerThread [inherited]

  The amount of local memory reserved for each thread, in bytes.

uint32_t CUpti_ActivityKernel4::localMemoryTotal [inherited]

  The total amount of local memory reserved for the kernel, in bytes.

const char * CUpti_ActivityKernel4::name [inherited]

  The name of the kernel. This name is shared across all activity records representing the same kernel, and so should not be modified.

uint8_t CUpti_ActivityKernel4::padding [inherited]

  Undefined. Reserved for internal use.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel4::partitionedGlobalCacheExecuted [inherited]

  The partitioned global caching executed for the kernel. Partitioned global caching is required to enable caching on certain chips, such as devices with compute capability 5.2. Partitioned global caching can be automatically disabled if the occupancy requirement of the launch cannot support caching.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel4::partitionedGlobalCacheRequested [inherited]

  The partitioned global caching requested for the kernel. Partitioned global caching is required to enable caching on certain chips, such as devices with compute capability 5.2.

uint64_t CUpti_ActivityKernel4::queued [inherited]

  The timestamp when the kernel is queued up in the command buffer, in ns. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the queued time could not be collected for the kernel. This timestamp is not collected by default. Use API cuptiActivityEnableLatencyTimestamps() to enable collection.

  Command buffer is a buffer written by CUDA driver to send commands like kernel launch, memory copy etc to the GPU. All launches of CUDA kernels are asynchrnous with respect to the host, the host requests the launch by writing commands into the command buffer, then returns without checking the GPU's progress.

uint16_t CUpti_ActivityKernel4::registersPerThread [inherited]

  The number of registers required for each thread executing the kernel.

uint8_t CUpti_ActivityKernel4::requested [inherited]

  The cache configuration requested by the kernel. The value is one of the CUfunc_cache enumeration values from cuda.h.

void * CUpti_ActivityKernel4::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel4::sharedMemoryCarveoutRequested [inherited]

  Shared memory carveout value requested for the function in percentage of the total resource. The value will be updated only if field isSharedMemoryCarveoutRequested is set.

uint8_t CUpti_ActivityKernel4::sharedMemoryConfig [inherited]

  The shared memory configuration used for the kernel. The value is one of the CUsharedconfig enumeration values from cuda.h.

uint32_t CUpti_ActivityKernel4::sharedMemoryExecuted [inherited]

  Shared memory size set by the driver.

uint64_t CUpti_ActivityKernel4::start [inherited]

  The start timestamp for the kernel execution, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the kernel.

int32_t CUpti_ActivityKernel4::staticSharedMemory [inherited]

  The static shared memory allocated for the kernel, in bytes.

uint32_t CUpti_ActivityKernel4::streamId [inherited]

  The ID of the stream where the kernel is executing.

uint64_t CUpti_ActivityKernel4::submitted [inherited]

  The timestamp when the command buffer containing the kernel launch is submitted to the GPU, in ns. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the submitted time could not be collected for the kernel. This timestamp is not collected by default. Use API cuptiActivityEnableLatencyTimestamps() to enable collection.

### 3.30. CUpti_ActivityMarker Struct Reference

### [CUPTI Activity API]

The marker is specified with a descriptive name and unique id (CUPTI_ACTIVITY_KIND_MARKER). Marker activity is now reported using the CUpti_ActivityMarker2 activity record.

#### Public Variables

CUpti_ActivityFlag flags
uint32_t id
CUpti_ActivityKind kind
const char * name
union CUpti_ActivityObjectKindId objectId
CUpti_ActivityObjectKind objectKind
uint64_t timestamp

#### Variables

CUpti_ActivityFlag CUpti_ActivityMarker::flags [inherited]

  The flags associated with the marker.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMarker::id [inherited]

  The marker ID.

CUpti_ActivityKind CUpti_ActivityMarker::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MARKER.

const char * CUpti_ActivityMarker::name [inherited]

  The marker name for an instantaneous or start marker. This will be NULL for an end marker.

union CUpti_ActivityObjectKindId CUpti_ActivityMarker::objectId [inherited]

  The identifier for the activity object associated with this marker. 'objectKind' indicates which ID is valid for this record.

CUpti_ActivityObjectKind CUpti_ActivityMarker::objectKind [inherited]

  The kind of activity object associated with this marker.

uint64_t CUpti_ActivityMarker::timestamp [inherited]

  The timestamp for the marker, in ns. A value of 0 indicates that timestamp information could not be collected for the marker.

### 3.31. CUpti_ActivityMarker2 Struct Reference

### [CUPTI Activity API]

The marker is specified with a descriptive name and unique id (CUPTI_ACTIVITY_KIND_MARKER).

#### Public Variables

const char * domain
CUpti_ActivityFlag flags
uint32_t id
CUpti_ActivityKind kind
const char * name
union CUpti_ActivityObjectKindId objectId
CUpti_ActivityObjectKind objectKind
uint32_t pad
uint64_t timestamp

#### Variables

const char * CUpti_ActivityMarker2::domain [inherited]

  The name of the domain to which this marker belongs to. This will be NULL for default domain.

CUpti_ActivityFlag CUpti_ActivityMarker2::flags [inherited]

  The flags associated with the marker.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMarker2::id [inherited]

  The marker ID.

CUpti_ActivityKind CUpti_ActivityMarker2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MARKER.

const char * CUpti_ActivityMarker2::name [inherited]

  The marker name for an instantaneous or start marker. This will be NULL for an end marker.

union CUpti_ActivityObjectKindId CUpti_ActivityMarker2::objectId [inherited]

  The identifier for the activity object associated with this marker. 'objectKind' indicates which ID is valid for this record.

CUpti_ActivityObjectKind CUpti_ActivityMarker2::objectKind [inherited]

  The kind of activity object associated with this marker.

uint32_t CUpti_ActivityMarker2::pad [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityMarker2::timestamp [inherited]

  The timestamp for the marker, in ns. A value of 0 indicates that timestamp information could not be collected for the marker.

### 3.32. CUpti_ActivityMarkerData Struct Reference

### [CUPTI Activity API]

The marker data contains color, payload, and category. (CUPTI_ACTIVITY_KIND_MARKER_DATA).

#### Public Variables

uint32_t category
uint32_t color
CUpti_ActivityFlag flags
uint32_t id
CUpti_ActivityKind kind
union CUpti_MetricValue payload
CUpti_MetricValueKind payloadKind

#### Variables

uint32_t CUpti_ActivityMarkerData::category [inherited]

  The category for the marker.

uint32_t CUpti_ActivityMarkerData::color [inherited]

  The color for the marker.

CUpti_ActivityFlag CUpti_ActivityMarkerData::flags [inherited]

  The flags associated with the marker.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMarkerData::id [inherited]

  The marker ID.

CUpti_ActivityKind CUpti_ActivityMarkerData::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MARKER_DATA.

union CUpti_MetricValue CUpti_ActivityMarkerData::payload [inherited]

  The payload value.

CUpti_MetricValueKind CUpti_ActivityMarkerData::payloadKind [inherited]

  Defines the payload format for the value associated with the marker.

### 3.33. CUpti_ActivityMemcpy Struct Reference

### [CUPTI Activity API]

This activity record represents a memory copy (CUPTI_ACTIVITY_KIND_MEMCPY).

#### Public Variables

uint64_t bytes
uint32_t contextId
uint8_t copyKind
uint32_t correlationId
uint32_t deviceId
uint8_t dstKind
uint64_t end
uint8_t flags
CUpti_ActivityKind kind
void * reserved0
uint32_t runtimeCorrelationId
uint8_t srcKind
uint64_t start
uint32_t streamId

#### Variables

uint64_t CUpti_ActivityMemcpy::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpy::contextId [inherited]

  The ID of the context where the memory copy is occurring.

uint8_t CUpti_ActivityMemcpy::copyKind [inherited]

  The kind of the memory copy, stored as a byte to reduce record size.

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpy::correlationId [inherited]

  The correlation ID of the memory copy. Each memory copy is assigned a unique correlation ID that is identical to the correlation ID in the driver API activity record that launched the memory copy.

uint32_t CUpti_ActivityMemcpy::deviceId [inherited]

  The ID of the device where the memory copy is occurring.

uint8_t CUpti_ActivityMemcpy::dstKind [inherited]

  The destination memory kind read by the memory copy, stored as a byte to reduce record size.

  See also:

  CUpti_ActivityMemoryKind

uint64_t CUpti_ActivityMemcpy::end [inherited]

  The end timestamp for the memory copy, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory copy.

uint8_t CUpti_ActivityMemcpy::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

CUpti_ActivityKind CUpti_ActivityMemcpy::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY.

void * CUpti_ActivityMemcpy::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpy::runtimeCorrelationId [inherited]

  The runtime correlation ID of the memory copy. Each memory copy is assigned a unique runtime correlation ID that is identical to the correlation ID in the runtime API activity record that launched the memory copy.

uint8_t CUpti_ActivityMemcpy::srcKind [inherited]

  The source memory kind read by the memory copy, stored as a byte to reduce record size.

  See also:

  CUpti_ActivityMemoryKind

uint64_t CUpti_ActivityMemcpy::start [inherited]

  The start timestamp for the memory copy, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory copy.

uint32_t CUpti_ActivityMemcpy::streamId [inherited]

  The ID of the stream where the memory copy is occurring.

### 3.34. CUpti_ActivityMemcpy2 Struct Reference

### [CUPTI Activity API]

This activity record represents a peer-to-peer memory copy (CUPTI_ACTIVITY_KIND_MEMCPY2).

#### Public Variables

uint64_t bytes
uint32_t contextId
uint8_t copyKind
uint32_t correlationId
uint32_t deviceId
uint32_t dstContextId
uint32_t dstDeviceId
uint8_t dstKind
uint64_t end
uint8_t flags
CUpti_ActivityKind kind
uint32_t pad
void * reserved0
uint32_t srcContextId
uint32_t srcDeviceId
uint8_t srcKind
uint64_t start
uint32_t streamId

#### Variables

uint64_t CUpti_ActivityMemcpy2::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpy2::contextId [inherited]

  The ID of the context where the memory copy is occurring.

uint8_t CUpti_ActivityMemcpy2::copyKind [inherited]

  The kind of the memory copy, stored as a byte to reduce record size.

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpy2::correlationId [inherited]

  The correlation ID of the memory copy. Each memory copy is assigned a unique correlation ID that is identical to the correlation ID in the driver and runtime API activity record that launched the memory copy.

uint32_t CUpti_ActivityMemcpy2::deviceId [inherited]

  The ID of the device where the memory copy is occurring.

uint32_t CUpti_ActivityMemcpy2::dstContextId [inherited]

  The ID of the context owning the memory being copied to.

uint32_t CUpti_ActivityMemcpy2::dstDeviceId [inherited]

  The ID of the device where memory is being copied to.

uint8_t CUpti_ActivityMemcpy2::dstKind [inherited]

  The destination memory kind read by the memory copy, stored as a byte to reduce record size.

  See also:

  CUpti_ActivityMemoryKind

uint64_t CUpti_ActivityMemcpy2::end [inherited]

  The end timestamp for the memory copy, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory copy.

uint8_t CUpti_ActivityMemcpy2::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

CUpti_ActivityKind CUpti_ActivityMemcpy2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY2.

uint32_t CUpti_ActivityMemcpy2::pad [inherited]

  Undefined. Reserved for internal use.

void * CUpti_ActivityMemcpy2::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpy2::srcContextId [inherited]

  The ID of the context owning the memory being copied from.

uint32_t CUpti_ActivityMemcpy2::srcDeviceId [inherited]

  The ID of the device where memory is being copied from.

uint8_t CUpti_ActivityMemcpy2::srcKind [inherited]

  The source memory kind read by the memory copy, stored as a byte to reduce record size.

  See also:

  CUpti_ActivityMemoryKind

uint64_t CUpti_ActivityMemcpy2::start [inherited]

  The start timestamp for the memory copy, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory copy.

uint32_t CUpti_ActivityMemcpy2::streamId [inherited]

  The ID of the stream where the memory copy is occurring.

### 3.35. CUpti_ActivityMemory Struct Reference

### [CUPTI Activity API]

This activity record represents a memory allocation and free operation (CUPTI_ACTIVITY_KIND_MEMORY).

#### Public Variables

uint64_t address
uint64_t allocPC
uint64_t bytes
uint32_t contextId
uint32_t deviceId
uint64_t end
uint64_t freePC
CUpti_ActivityKind kind
CUpti_ActivityMemoryKind memoryKind
const char * name
uint32_t processId
uint64_t start

#### Variables

uint64_t CUpti_ActivityMemory::address [inherited]

  The virtual address of the allocation

uint64_t CUpti_ActivityMemory::allocPC [inherited]

  The program counter of the allocation of memory

uint64_t CUpti_ActivityMemory::bytes [inherited]

  The number of bytes of memory allocated.

uint32_t CUpti_ActivityMemory::contextId [inherited]

  The ID of the context

uint32_t CUpti_ActivityMemory::deviceId [inherited]

  The ID of the device where the memory allocation is taking place.

uint64_t CUpti_ActivityMemory::end [inherited]

  The end timestamp for the memory operation, i.e. the time when memory was freed, in ns. This will be 0 if memory is not freed in the application

uint64_t CUpti_ActivityMemory::freePC [inherited]

  The program counter of the freeing of memory. This will be 0 if memory is not freed in the application

CUpti_ActivityKind CUpti_ActivityMemory::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY

CUpti_ActivityMemoryKind CUpti_ActivityMemory::memoryKind [inherited]

  The memory kind requested by the user

const char * CUpti_ActivityMemory::name [inherited]

  Variable name. This name is shared across all activity records representing the same symbol, and so should not be modified.

uint32_t CUpti_ActivityMemory::processId [inherited]

  The ID of the process to which this record belongs to.

uint64_t CUpti_ActivityMemory::start [inherited]

  The start timestamp for the memory operation, i.e. the time when memory was allocated, in ns.

### 3.36. CUpti_ActivityMemset Struct Reference

### [CUPTI Activity API]

This activity record represents a memory set operation (CUPTI_ACTIVITY_KIND_MEMSET).

#### Public Variables

uint64_t bytes
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
uint64_t end
uint16_t flags
CUpti_ActivityKind kind
uint16_t memoryKind
void * reserved0
uint64_t start
uint32_t streamId
uint32_t value

#### Variables

uint64_t CUpti_ActivityMemset::bytes [inherited]

  The number of bytes being set by the memory set.

uint32_t CUpti_ActivityMemset::contextId [inherited]

  The ID of the context where the memory set is occurring.

uint32_t CUpti_ActivityMemset::correlationId [inherited]

  The correlation ID of the memory set. Each memory set is assigned a unique correlation ID that is identical to the correlation ID in the driver API activity record that launched the memory set.

uint32_t CUpti_ActivityMemset::deviceId [inherited]

  The ID of the device where the memory set is occurring.

uint64_t CUpti_ActivityMemset::end [inherited]

  The end timestamp for the memory set, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory set.

uint16_t CUpti_ActivityMemset::flags [inherited]

  The flags associated with the memset.

  See also:

  CUpti_ActivityFlag

CUpti_ActivityKind CUpti_ActivityMemset::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMSET.

uint16_t CUpti_ActivityMemset::memoryKind [inherited]

  The memory kind of the memory set

  See also:

  CUpti_ActivityMemoryKind

void * CUpti_ActivityMemset::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityMemset::start [inherited]

  The start timestamp for the memory set, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory set.

uint32_t CUpti_ActivityMemset::streamId [inherited]

  The ID of the stream where the memory set is occurring.

uint32_t CUpti_ActivityMemset::value [inherited]

  The value being assigned to memory by the memory set.

### 3.37. CUpti_ActivityMetric Struct Reference

### [CUPTI Activity API]

This activity record represents the collection of a CUPTI metric value (CUPTI_ACTIVITY_KIND_METRIC). This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profile frameworks built on top of CUPTI that collect metric data may choose to use this type to store the collected metric data.

#### Public Variables

uint32_t correlationId
uint8_t flags
CUpti_MetricID id
CUpti_ActivityKind kind
uint8_t pad[3]
union CUpti_MetricValue value

#### Variables

uint32_t CUpti_ActivityMetric::correlationId [inherited]

  The correlation ID of the metric. Use of this ID is user-defined, but typically this ID value will equal the correlation ID of the kernel for which the metric was gathered.

uint8_t CUpti_ActivityMetric::flags [inherited]

  The properties of this metric.

  See also:

  CUpti_ActivityFlag

CUpti_MetricID CUpti_ActivityMetric::id [inherited]

  The metric ID.

CUpti_ActivityKind CUpti_ActivityMetric::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_METRIC.

uint8_t CUpti_ActivityMetric::pad[3] [inherited]

  Undefined. Reserved for internal use.

union CUpti_MetricValue CUpti_ActivityMetric::value [inherited]

  The metric value.

### 3.38. CUpti_ActivityMetricInstance Struct Reference

### [CUPTI Activity API]

This activity record represents a CUPTI metric value for a specific metric domain instance (CUPTI_ACTIVITY_KIND_METRIC_INSTANCE). This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profile frameworks built on top of CUPTI that collect metric data may choose to use this type to store the collected metric data. This activity record should be used when metric domain instance information needs to be associated with the metric.

#### Public Variables

uint32_t correlationId
uint8_t flags
CUpti_MetricID id
uint32_t instance
CUpti_ActivityKind kind
uint8_t pad[7]
union CUpti_MetricValue value

#### Variables

uint32_t CUpti_ActivityMetricInstance::correlationId [inherited]

  The correlation ID of the metric. Use of this ID is user-defined, but typically this ID value will equal the correlation ID of the kernel for which the metric was gathered.

uint8_t CUpti_ActivityMetricInstance::flags [inherited]

  The properties of this metric.

  See also:

  CUpti_ActivityFlag

CUpti_MetricID CUpti_ActivityMetricInstance::id [inherited]

  The metric ID.

uint32_t CUpti_ActivityMetricInstance::instance [inherited]

  The metric domain instance.

CUpti_ActivityKind CUpti_ActivityMetricInstance::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_METRIC_INSTANCE.

uint8_t CUpti_ActivityMetricInstance::pad[7] [inherited]

  Undefined. Reserved for internal use.

union CUpti_MetricValue CUpti_ActivityMetricInstance::value [inherited]

  The metric value.

### 3.39. CUpti_ActivityModule Struct Reference

### [CUPTI Activity API]

This activity record represents a CUDA module (CUPTI_ACTIVITY_KIND_MODULE). This activity record kind is not produced by the activity API but is included for completeness and ease-of-use. Profile frameworks built on top of CUPTI that collect module data from the module callback may choose to use this type to store the collected module data.

#### Public Variables

uint32_t contextId
const void * cubin
uint32_t cubinSize
uint32_t id
CUpti_ActivityKind kind
uint32_t pad

#### Variables

uint32_t CUpti_ActivityModule::contextId [inherited]

  The ID of the context where the module is loaded.

const void * CUpti_ActivityModule::cubin [inherited]

  The pointer to cubin.

uint32_t CUpti_ActivityModule::cubinSize [inherited]

  The cubin size.

uint32_t CUpti_ActivityModule::id [inherited]

  The module ID.

CUpti_ActivityKind CUpti_ActivityModule::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MODULE.

uint32_t CUpti_ActivityModule::pad [inherited]

  Undefined. Reserved for internal use.

### 3.40. CUpti_ActivityName Struct Reference

### [CUPTI Activity API]

This activity record provides a name for a device, context, thread, etc. (CUPTI_ACTIVITY_KIND_NAME).

#### Public Variables

CUpti_ActivityKind kind
const char * name
union CUpti_ActivityObjectKindId objectId
CUpti_ActivityObjectKind objectKind

#### Variables

CUpti_ActivityKind CUpti_ActivityName::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_NAME.

const char * CUpti_ActivityName::name [inherited]

  The name.

union CUpti_ActivityObjectKindId CUpti_ActivityName::objectId [inherited]

  The identifier for the activity object. 'objectKind' indicates which ID is valid for this record.

CUpti_ActivityObjectKind CUpti_ActivityName::objectKind [inherited]

  The kind of activity object being named.

### 3.41. CUpti_ActivityNvLink Struct Reference

### [CUPTI Activity API]

This structure gives capabilities of each logical NVLink connection between two devices, gpu<->gpu or gpu<->CPU which can be used to understand the topology. NVLink information are now reported using the CUpti_ActivityNvLink2 activity record.

#### Public Variables

uint64_t bandwidth
uint32_t domainId
uint32_t flag
CUpti_ActivityNvLink::@17 idDev0
CUpti_ActivityNvLink::@18 idDev1
uint32_t index
CUpti_ActivityKind kind
uint32_t nvlinkVersion
uint32_t physicalNvLinkCount
int8_t portDev0[4]
int8_t portDev1[4]
CUpti_DevType typeDev0
CUpti_DevType typeDev1

#### Variables

uint64_t CUpti_ActivityNvLink::bandwidth [inherited]

  Banwidth of NVLink in kbytes/sec

uint32_t CUpti_ActivityNvLink::domainId [inherited]

  Domain ID of NPU. On Linux, this can be queried using lspci.

uint32_t CUpti_ActivityNvLink::flag [inherited]

  Flag gives capabilities of the link

  See also:

  CUpti_LinkFlag

CUpti_ActivityNvLink::@17 CUpti_ActivityNvLink::idDev0 [inherited]

  If typeDev0 is CUPTI_DEV_TYPE_GPU, UUID for device 0. CUpti_ActivityDevice2. If typeDev0 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

CUpti_ActivityNvLink::@18 CUpti_ActivityNvLink::idDev1 [inherited]

  If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. CUpti_ActivityDevice2. If typeDev1 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

uint32_t CUpti_ActivityNvLink::index [inherited]

  Index of the NPU. First index will always be zero.

CUpti_ActivityKind CUpti_ActivityNvLink::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_NVLINK.

uint32_t CUpti_ActivityNvLink::nvlinkVersion [inherited]

  NVLink version.

uint32_t CUpti_ActivityNvLink::physicalNvLinkCount [inherited]

  Number of physical NVLinks present between two devices.

int8_t CUpti_ActivityNvLink::portDev0[4] [inherited]

  Port numbers for maximum 4 NVLinks connected to device 0. If typeDev0 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

int8_t CUpti_ActivityNvLink::portDev1[4] [inherited]

  Port numbers for maximum 4 NVLinks connected to device 1. If typeDev1 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

CUpti_DevType CUpti_ActivityNvLink::typeDev0 [inherited]

  Type of device 0 CUpti_DevType

CUpti_DevType CUpti_ActivityNvLink::typeDev1 [inherited]

  Type of device 1 CUpti_DevType

### 3.42. CUpti_ActivityNvLink2 Struct Reference

### [CUPTI Activity API]

This structure gives capabilities of each logical NVLink connection between two devices, gpu<->gpu or gpu<->CPU which can be used to understand the topology. NvLink information are now reported using the CUpti_ActivityNvLink3 activity record.

#### Public Variables

uint64_t bandwidth
uint32_t domainId
uint32_t flag
CUpti_ActivityNvLink2::@21 idDev0
CUpti_ActivityNvLink2::@22 idDev1
uint32_t index
CUpti_ActivityKind kind
uint32_t nvlinkVersion
uint32_t physicalNvLinkCount
int8_t portDev0[CUPTI_MAX_NVLINK_PORTS]
int8_t portDev1[CUPTI_MAX_NVLINK_PORTS]
CUpti_DevType typeDev0
CUpti_DevType typeDev1

#### Variables

uint64_t CUpti_ActivityNvLink2::bandwidth [inherited]

  Banwidth of NVLink in kbytes/sec

uint32_t CUpti_ActivityNvLink2::domainId [inherited]

  Domain ID of NPU. On Linux, this can be queried using lspci.

uint32_t CUpti_ActivityNvLink2::flag [inherited]

  Flag gives capabilities of the link

  See also:

  CUpti_LinkFlag

CUpti_ActivityNvLink2::@21 CUpti_ActivityNvLink2::idDev0 [inherited]

  If typeDev0 is CUPTI_DEV_TYPE_GPU, UUID for device 0. CUpti_ActivityDevice2. If typeDev0 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

CUpti_ActivityNvLink2::@22 CUpti_ActivityNvLink2::idDev1 [inherited]

  If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. CUpti_ActivityDevice2. If typeDev1 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

uint32_t CUpti_ActivityNvLink2::index [inherited]

  Index of the NPU. First index will always be zero.

CUpti_ActivityKind CUpti_ActivityNvLink2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_NVLINK.

uint32_t CUpti_ActivityNvLink2::nvlinkVersion [inherited]

  NvLink version.

uint32_t CUpti_ActivityNvLink2::physicalNvLinkCount [inherited]

  Number of physical NVLinks present between two devices.

int8_t CUpti_ActivityNvLink2::portDev0[CUPTI_MAX_NVLINK_PORTS] [inherited]

  Port numbers for maximum 16 NVLinks connected to device 0. If typeDev0 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

int8_t CUpti_ActivityNvLink2::portDev1[CUPTI_MAX_NVLINK_PORTS] [inherited]

  Port numbers for maximum 16 NVLinks connected to device 1. If typeDev1 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

CUpti_DevType CUpti_ActivityNvLink2::typeDev0 [inherited]

  Type of device 0 CUpti_DevType

CUpti_DevType CUpti_ActivityNvLink2::typeDev1 [inherited]

  Type of device 1 CUpti_DevType

### 3.43. CUpti_ActivityNvLink3 Struct Reference

### [CUPTI Activity API]

This structure gives capabilities of each logical NVLink connection between two devices, gpu<->gpu or gpu<->CPU which can be used to understand the topology.

#### Public Variables

uint64_t bandwidth
uint32_t domainId
uint32_t flag
CUpti_ActivityNvLink3::@25 idDev0
CUpti_ActivityNvLink3::@26 idDev1
uint32_t index
CUpti_ActivityKind kind
uint32_t nvlinkVersion
uint8_t nvswitchConnected
uint8_t pad[7]
uint32_t physicalNvLinkCount
int8_t portDev0[CUPTI_MAX_NVLINK_PORTS]
int8_t portDev1[CUPTI_MAX_NVLINK_PORTS]
CUpti_DevType typeDev0
CUpti_DevType typeDev1

#### Variables

uint64_t CUpti_ActivityNvLink3::bandwidth [inherited]

  Banwidth of NVLink in kbytes/sec

uint32_t CUpti_ActivityNvLink3::domainId [inherited]

  Domain ID of NPU. On Linux, this can be queried using lspci.

uint32_t CUpti_ActivityNvLink3::flag [inherited]

  Flag gives capabilities of the link

  See also:

  CUpti_LinkFlag

CUpti_ActivityNvLink3::@25 CUpti_ActivityNvLink3::idDev0 [inherited]

  If typeDev0 is CUPTI_DEV_TYPE_GPU, UUID for device 0. CUpti_ActivityDevice2. If typeDev0 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

CUpti_ActivityNvLink3::@26 CUpti_ActivityNvLink3::idDev1 [inherited]

  If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. CUpti_ActivityDevice2. If typeDev1 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

uint32_t CUpti_ActivityNvLink3::index [inherited]

  Index of the NPU. First index will always be zero.

CUpti_ActivityKind CUpti_ActivityNvLink3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_NVLINK.

uint32_t CUpti_ActivityNvLink3::nvlinkVersion [inherited]

  NvLink version.

uint8_t CUpti_ActivityNvLink3::nvswitchConnected [inherited]

  NVSwitch is connected as an intermediate node.

uint8_t CUpti_ActivityNvLink3::pad[7] [inherited]

  Undefined. reserved for internal use

uint32_t CUpti_ActivityNvLink3::physicalNvLinkCount [inherited]

  Number of physical NVLinks present between two devices.

int8_t CUpti_ActivityNvLink3::portDev0[CUPTI_MAX_NVLINK_PORTS] [inherited]

  Port numbers for maximum 16 NVLinks connected to device 0. If typeDev0 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

int8_t CUpti_ActivityNvLink3::portDev1[CUPTI_MAX_NVLINK_PORTS] [inherited]

  Port numbers for maximum 16 NVLinks connected to device 1. If typeDev1 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

CUpti_DevType CUpti_ActivityNvLink3::typeDev0 [inherited]

  Type of device 0 CUpti_DevType

CUpti_DevType CUpti_ActivityNvLink3::typeDev1 [inherited]

  Type of device 1 CUpti_DevType

### 3.44. CUpti_ActivityObjectKindId Union Reference

### [CUPTI Activity API]

See also:

CUpti_ActivityObjectKind

#### Public Variables

CUpti_ActivityObjectKindId::@1 dcs
CUpti_ActivityObjectKindId::@0 pt

#### Variables

CUpti_ActivityObjectKindId::@1 CUpti_ActivityObjectKindId::dcs [inherited]

  A device object requires that we identify the device ID. A context object requires that we identify both the device and context ID. A stream object requires that we identify device, context, and stream ID.

CUpti_ActivityObjectKindId::@0 CUpti_ActivityObjectKindId::pt [inherited]

  A process object requires that we identify the process ID. A thread object requires that we identify both the process and thread ID.

### 3.45. CUpti_ActivityOpenAcc Struct Reference

### [CUPTI Activity API]

The OpenACC activity API part uses a CUpti_ActivityOpenAcc as a generic representation for any OpenACC activity. The 'kind' field is used to determine the specific activity kind, and from that the CUpti_ActivityOpenAcc object can be cast to the specific OpenACC activity record type appropriate for that kind.

Note that all OpenACC activity record types are padded and aligned to ensure that each member of the record is naturally aligned.

See also:

CUpti_ActivityKind

#### Public Variables

uint32_t cuContextId
uint32_t cuDeviceId
uint32_t cuProcessId
uint32_t cuStreamId
uint32_t cuThreadId
uint64_t end
CUpti_OpenAccEventKind eventKind
uint32_t externalId
CUpti_ActivityKind kind
CUpti_OpenAccConstructKind parentConstruct
uint64_t start
uint32_t threadId

#### Variables

uint32_t CUpti_ActivityOpenAcc::cuContextId [inherited]

  CUDA context id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAcc::cuDeviceId [inherited]

  CUDA device id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAcc::cuProcessId [inherited]

  The ID of the process where the OpenACC activity is executing.

uint32_t CUpti_ActivityOpenAcc::cuStreamId [inherited]

  CUDA stream id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAcc::cuThreadId [inherited]

  The ID of the thread where the OpenACC activity is executing.

uint64_t CUpti_ActivityOpenAcc::end [inherited]

  CUPTI end timestamp

CUpti_OpenAccEventKind CUpti_ActivityOpenAcc::eventKind [inherited]

  CUPTI OpenACC event kind (

  See also:

  CUpti_OpenAccEventKind)

uint32_t CUpti_ActivityOpenAcc::externalId [inherited]

  The OpenACC correlation ID. Valid only if deviceType is acc_device_nvidia. If not 0, it uniquely identifies this record. It is identical to the externalId in the preceeding external correlation record of type CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC.

CUpti_ActivityKind CUpti_ActivityOpenAcc::kind [inherited]

  The kind of this activity.

CUpti_OpenAccConstructKind CUpti_ActivityOpenAcc::parentConstruct [inherited]

  CUPTI OpenACC parent construct kind (

  See also:

  CUpti_OpenAccConstructKind)

  Note that for applications using PGI OpenACC runtime < 16.1, this will always be CUPTI_OPENACC_CONSTRUCT_KIND_UNKNOWN.

uint64_t CUpti_ActivityOpenAcc::start [inherited]

  CUPTI start timestamp

uint32_t CUpti_ActivityOpenAcc::threadId [inherited]

  ThreadId

### 3.46. CUpti_ActivityOpenAccData Struct Reference

### [CUPTI Activity API]

(CUPTI_ACTIVITY_KIND_OPENACC_DATA).

#### Public Variables

uint64_t bytes
uint32_t cuContextId
uint32_t cuDeviceId
uint32_t cuProcessId
uint32_t cuStreamId
uint32_t cuThreadId
uint64_t devicePtr
uint64_t end
CUpti_OpenAccEventKind eventKind
uint32_t externalId
uint64_t hostPtr
CUpti_ActivityKind kind
uint32_t pad1
uint64_t start
uint32_t threadId

#### Variables

uint64_t CUpti_ActivityOpenAccData::bytes [inherited]

  Number of bytes

uint32_t CUpti_ActivityOpenAccData::cuContextId [inherited]

  CUDA context id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccData::cuDeviceId [inherited]

  CUDA device id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccData::cuProcessId [inherited]

  The ID of the process where the OpenACC activity is executing.

uint32_t CUpti_ActivityOpenAccData::cuStreamId [inherited]

  CUDA stream id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccData::cuThreadId [inherited]

  The ID of the thread where the OpenACC activity is executing.

uint64_t CUpti_ActivityOpenAccData::devicePtr [inherited]

  Device pointer if available

uint64_t CUpti_ActivityOpenAccData::end [inherited]

  CUPTI end timestamp

CUpti_OpenAccEventKind CUpti_ActivityOpenAccData::eventKind [inherited]

  CUPTI OpenACC event kind (

  See also:

  CUpti_OpenAccEventKind)

uint32_t CUpti_ActivityOpenAccData::externalId [inherited]

  The OpenACC correlation ID. Valid only if deviceType is acc_device_nvidia. If not 0, it uniquely identifies this record. It is identical to the externalId in the preceeding external correlation record of type CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC.

uint64_t CUpti_ActivityOpenAccData::hostPtr [inherited]

  Host pointer if available

CUpti_ActivityKind CUpti_ActivityOpenAccData::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_DATA.

uint32_t CUpti_ActivityOpenAccData::pad1 [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityOpenAccData::start [inherited]

  CUPTI start timestamp

uint32_t CUpti_ActivityOpenAccData::threadId [inherited]

  ThreadId

### 3.47. CUpti_ActivityOpenAccLaunch Struct Reference

### [CUPTI Activity API]

(CUPTI_ACTIVITY_KIND_OPENACC_LAUNCH).

#### Public Variables

uint32_t cuContextId
uint32_t cuDeviceId
uint32_t cuProcessId
uint32_t cuStreamId
uint32_t cuThreadId
uint64_t end
CUpti_OpenAccEventKind eventKind
uint32_t externalId
CUpti_ActivityKind kind
uint64_t numGangs
uint64_t numWorkers
uint32_t pad1
uint64_t start
uint32_t threadId
uint64_t vectorLength

#### Variables

uint32_t CUpti_ActivityOpenAccLaunch::cuContextId [inherited]

  CUDA context id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccLaunch::cuDeviceId [inherited]

  CUDA device id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccLaunch::cuProcessId [inherited]

  The ID of the process where the OpenACC activity is executing.

uint32_t CUpti_ActivityOpenAccLaunch::cuStreamId [inherited]

  CUDA stream id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccLaunch::cuThreadId [inherited]

  The ID of the thread where the OpenACC activity is executing.

uint64_t CUpti_ActivityOpenAccLaunch::end [inherited]

  CUPTI end timestamp

CUpti_OpenAccEventKind CUpti_ActivityOpenAccLaunch::eventKind [inherited]

  CUPTI OpenACC event kind (

  See also:

  CUpti_OpenAccEventKind)

uint32_t CUpti_ActivityOpenAccLaunch::externalId [inherited]

  The OpenACC correlation ID. Valid only if deviceType is acc_device_nvidia. If not 0, it uniquely identifies this record. It is identical to the externalId in the preceeding external correlation record of type CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC.

CUpti_ActivityKind CUpti_ActivityOpenAccLaunch::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_LAUNCH.

uint64_t CUpti_ActivityOpenAccLaunch::numGangs [inherited]

  The number of gangs created for this kernel launch

uint64_t CUpti_ActivityOpenAccLaunch::numWorkers [inherited]

  The number of workers created for this kernel launch

uint32_t CUpti_ActivityOpenAccLaunch::pad1 [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityOpenAccLaunch::start [inherited]

  CUPTI start timestamp

uint32_t CUpti_ActivityOpenAccLaunch::threadId [inherited]

  ThreadId

uint64_t CUpti_ActivityOpenAccLaunch::vectorLength [inherited]

  The number of vector lanes created for this kernel launch

### 3.48. CUpti_ActivityOpenAccOther Struct Reference

### [CUPTI Activity API]

(CUPTI_ACTIVITY_KIND_OPENACC_OTHER).

#### Public Variables

uint32_t cuContextId
uint32_t cuDeviceId
uint32_t cuProcessId
uint32_t cuStreamId
uint32_t cuThreadId
uint64_t end
CUpti_OpenAccEventKind eventKind
uint32_t externalId
CUpti_ActivityKind kind
uint64_t start
uint32_t threadId

#### Variables

uint32_t CUpti_ActivityOpenAccOther::cuContextId [inherited]

  CUDA context id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccOther::cuDeviceId [inherited]

  CUDA device id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccOther::cuProcessId [inherited]

  The ID of the process where the OpenACC activity is executing.

uint32_t CUpti_ActivityOpenAccOther::cuStreamId [inherited]

  CUDA stream id Valid only if deviceType is acc_device_nvidia.

uint32_t CUpti_ActivityOpenAccOther::cuThreadId [inherited]

  The ID of the thread where the OpenACC activity is executing.

uint64_t CUpti_ActivityOpenAccOther::end [inherited]

  CUPTI end timestamp

CUpti_OpenAccEventKind CUpti_ActivityOpenAccOther::eventKind [inherited]

  CUPTI OpenACC event kind (

  See also:

  CUpti_OpenAccEventKind)

uint32_t CUpti_ActivityOpenAccOther::externalId [inherited]

  The OpenACC correlation ID. Valid only if deviceType is acc_device_nvidia. If not 0, it uniquely identifies this record. It is identical to the externalId in the preceeding external correlation record of type CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC.

CUpti_ActivityKind CUpti_ActivityOpenAccOther::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_OTHER.

uint64_t CUpti_ActivityOpenAccOther::start [inherited]

  CUPTI start timestamp

uint32_t CUpti_ActivityOpenAccOther::threadId [inherited]

  ThreadId

### 3.49. CUpti_ActivityOpenMp Struct Reference

### [CUPTI Activity API]

See also:

CUpti_ActivityKind

#### Public Variables

uint32_t cuProcessId
uint32_t cuThreadId
uint64_t end
CUpti_OpenMpEventKind eventKind
CUpti_ActivityKind kind
uint64_t start
uint32_t threadId

#### Variables

uint32_t CUpti_ActivityOpenMp::cuProcessId [inherited]

  The ID of the process where the OpenMP activity is executing.

uint32_t CUpti_ActivityOpenMp::cuThreadId [inherited]

  The ID of the thread where the OpenMP activity is executing.

uint64_t CUpti_ActivityOpenMp::end [inherited]

  CUPTI end timestamp

CUpti_OpenMpEventKind CUpti_ActivityOpenMp::eventKind [inherited]

  CUPTI OpenMP event kind (

  See also:

  CUpti_OpenMpEventKind)

CUpti_ActivityKind CUpti_ActivityOpenMp::kind [inherited]

  The kind of this activity.

uint64_t CUpti_ActivityOpenMp::start [inherited]

  CUPTI start timestamp

uint32_t CUpti_ActivityOpenMp::threadId [inherited]

  ThreadId

### 3.50. CUpti_ActivityOverhead Struct Reference

### [CUPTI Activity API]

This activity record provides CUPTI and driver overhead information (CUPTI_ACTIVITY_OVERHEAD).

#### Public Variables

uint64_t end
CUpti_ActivityKind kind
union CUpti_ActivityObjectKindId objectId
CUpti_ActivityObjectKind objectKind
CUpti_ActivityOverheadKind overheadKind
uint64_t start

#### Variables

uint64_t CUpti_ActivityOverhead::end [inherited]

  The end timestamp for the overhead, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the overhead.

CUpti_ActivityKind CUpti_ActivityOverhead::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_OVERHEAD.

union CUpti_ActivityObjectKindId CUpti_ActivityOverhead::objectId [inherited]

  The identifier for the activity object. 'objectKind' indicates which ID is valid for this record.

CUpti_ActivityObjectKind CUpti_ActivityOverhead::objectKind [inherited]

  The kind of activity object that the overhead is associated with.

CUpti_ActivityOverheadKind CUpti_ActivityOverhead::overheadKind [inherited]

  The kind of overhead, CUPTI, DRIVER, COMPILER etc.

uint64_t CUpti_ActivityOverhead::start [inherited]

  The start timestamp for the overhead, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the overhead.

### 3.51. CUpti_ActivityPcie Struct Reference

### [CUPTI Activity API]

This structure gives capabilities of GPU and PCI bridge connected to the PCIE bus which can be used to understand the topology.

#### Public Variables

CUpti_ActivityPcie::@30 attr
uint32_t bridgeId
CUdevice devId
uint16_t deviceId
uint32_t domain
CUpti_ActivityPcie::@29 id
CUpti_ActivityKind kind
uint16_t linkRate
uint16_t linkWidth
uint16_t pad0
uint16_t pcieGeneration
CUdevice peerDev[CUPTI_MAX_GPUS]
uint16_t secondaryBus
CUpti_PcieDeviceType type
uint16_t upstreamBus
CUuuid uuidDev
uint16_t vendorId

#### Variables

CUpti_ActivityPcie::@30 CUpti_ActivityPcie::attr [inherited]

  Attributes for more information about GPU (gpuAttr) or PCI Bridge (bridgeAttr)

uint32_t CUpti_ActivityPcie::bridgeId [inherited]

  A unique identifier for Bridge in the Topology

CUdevice CUpti_ActivityPcie::devId [inherited]

  GPU device ID

uint16_t CUpti_ActivityPcie::deviceId [inherited]

  Device ID of the bridge

uint32_t CUpti_ActivityPcie::domain [inherited]

  Domain for the GPU or Bridge, required to identify which PCIE bus it belongs to in multiple NUMA systems.

CUpti_ActivityPcie::@29 CUpti_ActivityPcie::id [inherited]

  A unique identifier for GPU or Bridge in Topology

CUpti_ActivityKind CUpti_ActivityPcie::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_PCIE.

uint16_t CUpti_ActivityPcie::linkRate [inherited]

  Link rate of the GPU or bridge in gigatransfers per second (GT/s)

uint16_t CUpti_ActivityPcie::linkWidth [inherited]

  Link width of the GPU or bridge

uint16_t CUpti_ActivityPcie::pad0 [inherited]

  Padding for alignment

uint16_t CUpti_ActivityPcie::pcieGeneration [inherited]

  PCIE Generation of GPU or Bridge.

CUdevice CUpti_ActivityPcie::peerDev[CUPTI_MAX_GPUS] [inherited]

  CUdevice with which this device has P2P capability. This can also be obtained by querying cuDeviceCanAccessPeer or cudaDeviceCanAccessPeer APIs

uint16_t CUpti_ActivityPcie::secondaryBus [inherited]

  The downstream bus number, used to search downstream devices/bridges connected to this bridge.

CUpti_PcieDeviceType CUpti_ActivityPcie::type [inherited]

  Type of device in topology, CUpti_PcieDeviceType. If type is CUPTI_PCIE_DEVICE_TYPE_GPU use devId for id and gpuAttr and if type is CUPTI_PCIE_DEVICE_TYPE_BRIDGE use bridgeId for id and bridgeAttr.

uint16_t CUpti_ActivityPcie::upstreamBus [inherited]

  Upstream bus ID for the GPU or PCI bridge. Required to identify which bus it is connected to in the topology.

CUuuid CUpti_ActivityPcie::uuidDev [inherited]

  UUID for the device. CUpti_ActivityDevice2.

uint16_t CUpti_ActivityPcie::vendorId [inherited]

  Vendor ID of the bridge

### 3.52. CUpti_ActivityPCSampling Struct Reference

### [CUPTI Activity API]

This activity records information obtained by sampling PC (CUPTI_ACTIVITY_KIND_PC_SAMPLING). PC sampling activities are now reported using the CUpti_ActivityPCSampling2 activity record.

#### Public Variables

uint32_t correlationId
CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint32_t pcOffset
uint32_t samples
uint32_t sourceLocatorId
CUpti_ActivityPCSamplingStallReason stallReason

#### Variables

uint32_t CUpti_ActivityPCSampling::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

CUpti_ActivityFlag CUpti_ActivityPCSampling::flags [inherited]

  The properties of this instruction.

uint32_t CUpti_ActivityPCSampling::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityPCSampling::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_PC_SAMPLING.

uint32_t CUpti_ActivityPCSampling::pcOffset [inherited]

  The pc offset for the instruction.

uint32_t CUpti_ActivityPCSampling::samples [inherited]

  Number of times the PC was sampled with the stallReason in the record. The same PC can be sampled with different stall reasons.

uint32_t CUpti_ActivityPCSampling::sourceLocatorId [inherited]

  The ID for source locator.

CUpti_ActivityPCSamplingStallReason CUpti_ActivityPCSampling::stallReason [inherited]

  Current stall reason. Includes one of the reasons from CUpti_ActivityPCSamplingStallReason

### 3.53. CUpti_ActivityPCSampling2 Struct Reference

### [CUPTI Activity API]

This activity records information obtained by sampling PC (CUPTI_ACTIVITY_KIND_PC_SAMPLING). PC sampling activities are now reported using the CUpti_ActivityPCSampling3 activity record.

#### Public Variables

uint32_t correlationId
CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint32_t latencySamples
uint32_t pcOffset
uint32_t samples
uint32_t sourceLocatorId
CUpti_ActivityPCSamplingStallReason stallReason

#### Variables

uint32_t CUpti_ActivityPCSampling2::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

CUpti_ActivityFlag CUpti_ActivityPCSampling2::flags [inherited]

  The properties of this instruction.

uint32_t CUpti_ActivityPCSampling2::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityPCSampling2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_PC_SAMPLING.

uint32_t CUpti_ActivityPCSampling2::latencySamples [inherited]

  Number of times the PC was sampled with the stallReason in the record. These samples indicate that no instruction was issued in that cycle from the warp scheduler from where the warp was sampled. Field is valid for devices with compute capability 6.0 and higher

uint32_t CUpti_ActivityPCSampling2::pcOffset [inherited]

  The pc offset for the instruction.

uint32_t CUpti_ActivityPCSampling2::samples [inherited]

  Number of times the PC was sampled with the stallReason in the record. The same PC can be sampled with different stall reasons. The count includes latencySamples.

uint32_t CUpti_ActivityPCSampling2::sourceLocatorId [inherited]

  The ID for source locator.

CUpti_ActivityPCSamplingStallReason CUpti_ActivityPCSampling2::stallReason [inherited]

  Current stall reason. Includes one of the reasons from CUpti_ActivityPCSamplingStallReason

### 3.54. CUpti_ActivityPCSampling3 Struct Reference

### [CUPTI Activity API]

This activity records information obtained by sampling PC (CUPTI_ACTIVITY_KIND_PC_SAMPLING).

#### Public Variables

uint32_t correlationId
CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint32_t latencySamples
uint64_t pcOffset
uint32_t samples
uint32_t sourceLocatorId
CUpti_ActivityPCSamplingStallReason stallReason

#### Variables

uint32_t CUpti_ActivityPCSampling3::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

CUpti_ActivityFlag CUpti_ActivityPCSampling3::flags [inherited]

  The properties of this instruction.

uint32_t CUpti_ActivityPCSampling3::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivityPCSampling3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_PC_SAMPLING.

uint32_t CUpti_ActivityPCSampling3::latencySamples [inherited]

  Number of times the PC was sampled with the stallReason in the record. These samples indicate that no instruction was issued in that cycle from the warp scheduler from where the warp was sampled. Field is valid for devices with compute capability 6.0 and higher

uint64_t CUpti_ActivityPCSampling3::pcOffset [inherited]

  The pc offset for the instruction.

uint32_t CUpti_ActivityPCSampling3::samples [inherited]

  Number of times the PC was sampled with the stallReason in the record. The same PC can be sampled with different stall reasons. The count includes latencySamples.

uint32_t CUpti_ActivityPCSampling3::sourceLocatorId [inherited]

  The ID for source locator.

CUpti_ActivityPCSamplingStallReason CUpti_ActivityPCSampling3::stallReason [inherited]

  Current stall reason. Includes one of the reasons from CUpti_ActivityPCSamplingStallReason

### 3.55. CUpti_ActivityPCSamplingConfig Struct Reference

### [CUPTI Activity API]

This structure defines the pc sampling configuration.

See function /ref cuptiActivityConfigurePCSampling

#### Public Variables

CUpti_ActivityPCSamplingPeriod samplingPeriod
uint32_t samplingPeriod2
uint32_t size

#### Variables

CUpti_ActivityPCSamplingPeriod CUpti_ActivityPCSamplingConfig::samplingPeriod [inherited]

  There are 5 level provided for sampling period. The level internally maps to a period in terms of cycles. Same level can map to different number of cycles on different gpus. No of cycles will be chosen to minimize information loss. The period chosen will be given by samplingPeriodInCycles in /ref CUpti_ActivityPCSamplingRecordInfo for each kernel instance.

uint32_t CUpti_ActivityPCSamplingConfig::samplingPeriod2 [inherited]

  This will override the period set by samplingPeriod. Value 0 in samplingPeriod2 will be considered as samplingPeriod2 should not be used and samplingPeriod should be used. Valid values for samplingPeriod2 are between 5 to 31 both inclusive. This will set the sampling period to (2^samplingPeriod2) cycles.

uint32_t CUpti_ActivityPCSamplingConfig::size [inherited]

  Size of configuration structure. CUPTI client should set the size of the structure. It will be used in CUPTI to check what fields are available in the structure. Used to preserve backward compatibility.

### 3.56. CUpti_ActivityPCSamplingRecordInfo Struct Reference

### [CUPTI Activity API]

This activity records information obtained by sampling PC (CUPTI_ACTIVITY_KIND_PC_SAMPLING_RECORD_INFO).

#### Public Variables

uint32_t correlationId
uint64_t droppedSamples
CUpti_ActivityKind kind
uint64_t samplingPeriodInCycles
uint64_t totalSamples

#### Variables

uint32_t CUpti_ActivityPCSamplingRecordInfo::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint64_t CUpti_ActivityPCSamplingRecordInfo::droppedSamples [inherited]

  Number of samples that were dropped by hardware due to backpressure/overflow.

CUpti_ActivityKind CUpti_ActivityPCSamplingRecordInfo::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_PC_SAMPLING_RECORD_INFO.

uint64_t CUpti_ActivityPCSamplingRecordInfo::samplingPeriodInCycles [inherited]

  Sampling period in terms of number of cycles .

uint64_t CUpti_ActivityPCSamplingRecordInfo::totalSamples [inherited]

  Number of times the PC was sampled for this kernel instance including all dropped samples.

### 3.57. CUpti_ActivityPreemption Struct Reference

### [CUPTI Activity API]

This activity record represents a preemption of a CDP kernel.

#### Public Variables

uint32_t blockX
uint32_t blockY
uint32_t blockZ
int64_t gridId
CUpti_ActivityKind kind
uint32_t pad
CUpti_ActivityPreemptionKind preemptionKind
uint64_t timestamp

#### Variables

uint32_t CUpti_ActivityPreemption::blockX [inherited]

  The X-dimension of the block that is preempted

uint32_t CUpti_ActivityPreemption::blockY [inherited]

  The Y-dimension of the block that is preempted

uint32_t CUpti_ActivityPreemption::blockZ [inherited]

  The Z-dimension of the block that is preempted

int64_t CUpti_ActivityPreemption::gridId [inherited]

  The grid-id of the block that is preempted

CUpti_ActivityKind CUpti_ActivityPreemption::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_PREEMPTION

uint32_t CUpti_ActivityPreemption::pad [inherited]

  Undefined. Reserved for internal use.

CUpti_ActivityPreemptionKind CUpti_ActivityPreemption::preemptionKind [inherited]

  kind of the preemption

uint64_t CUpti_ActivityPreemption::timestamp [inherited]

  The timestamp of the preemption, in ns. A value of 0 indicates that timestamp information could not be collected for the preemption.

### 3.58. CUpti_ActivitySharedAccess Struct Reference

### [CUPTI Activity API]

This activity records the locations of the shared accesses in the source (CUPTI_ACTIVITY_KIND_SHARED_ACCESS).

#### Public Variables

uint32_t correlationId
uint32_t executed
CUpti_ActivityFlag flags
uint32_t functionId
CUpti_ActivityKind kind
uint32_t pad
uint32_t pcOffset
uint64_t sharedTransactions
uint32_t sourceLocatorId
uint64_t theoreticalSharedTransactions
uint64_t threadsExecuted

#### Variables

uint32_t CUpti_ActivitySharedAccess::correlationId [inherited]

  The correlation ID of the kernel to which this result is associated.

uint32_t CUpti_ActivitySharedAccess::executed [inherited]

  The number of times this instruction was executed per warp. It will be incremented when at least one of thread among warp is active with predicate and condition code evaluating to true.

CUpti_ActivityFlag CUpti_ActivitySharedAccess::flags [inherited]

  The properties of this shared access.

uint32_t CUpti_ActivitySharedAccess::functionId [inherited]

  Correlation ID with global/device function name

CUpti_ActivityKind CUpti_ActivitySharedAccess::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_SHARED_ACCESS.

uint32_t CUpti_ActivitySharedAccess::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivitySharedAccess::pcOffset [inherited]

  The pc offset for the access.

uint64_t CUpti_ActivitySharedAccess::sharedTransactions [inherited]

  The total number of shared memory transactions generated by this access

uint32_t CUpti_ActivitySharedAccess::sourceLocatorId [inherited]

  The ID for source locator.

uint64_t CUpti_ActivitySharedAccess::theoreticalSharedTransactions [inherited]

  The minimum number of shared memory transactions possible based on the access pattern.

uint64_t CUpti_ActivitySharedAccess::threadsExecuted [inherited]

  This increments each time when this instruction is executed by number of threads that executed this instruction with predicate and condition code evaluating to true.

### 3.59. CUpti_ActivitySourceLocator Struct Reference

### [CUPTI Activity API]

This activity record represents a source locator (CUPTI_ACTIVITY_KIND_SOURCE_LOCATOR).

#### Public Variables

const char * fileName
uint32_t id
CUpti_ActivityKind kind
uint32_t lineNumber

#### Variables

const char * CUpti_ActivitySourceLocator::fileName [inherited]

  The path for the file.

uint32_t CUpti_ActivitySourceLocator::id [inherited]

  The ID for the source path, will be used in all the source level results.

CUpti_ActivityKind CUpti_ActivitySourceLocator::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_SOURCE_LOCATOR.

uint32_t CUpti_ActivitySourceLocator::lineNumber [inherited]

  The line number in the source .

### 3.60. CUpti_ActivityStream Struct Reference

### [CUPTI Activity API]

This activity is used to track created streams. (CUPTI_ACTIVITY_KIND_STREAM).

#### Public Variables

uint32_t contextId
uint32_t correlationId
CUpti_ActivityStreamFlag flag
CUpti_ActivityKind kind
uint32_t priority
uint32_t streamId

#### Variables

uint32_t CUpti_ActivityStream::contextId [inherited]

  The ID of the context where the stream was created.

uint32_t CUpti_ActivityStream::correlationId [inherited]

  The correlation ID of the API to which this result is associated.

CUpti_ActivityStreamFlag CUpti_ActivityStream::flag [inherited]

  Flags associated with the stream.

CUpti_ActivityKind CUpti_ActivityStream::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_STREAM.

uint32_t CUpti_ActivityStream::priority [inherited]

  The clamped priority for the stream.

uint32_t CUpti_ActivityStream::streamId [inherited]

  A unique stream ID to identify the stream.

### 3.61. CUpti_ActivitySynchronization Struct Reference

### [CUPTI Activity API]

This activity is used to track various CUDA synchronization APIs. (CUPTI_ACTIVITY_KIND_SYNCHRONIZATION).

#### Public Variables

uint32_t contextId
uint32_t correlationId
uint32_t cudaEventId
uint64_t end
CUpti_ActivityKind kind
uint64_t start
uint32_t streamId
CUpti_ActivitySynchronizationType type

#### Variables

uint32_t CUpti_ActivitySynchronization::contextId [inherited]

  The ID of the context for which the synchronization API is called. In case of context synchronization API it is the context id for which the API is called. In case of stream/event synchronization it is the ID of the context where the stream/event was created.

uint32_t CUpti_ActivitySynchronization::correlationId [inherited]

  The correlation ID of the API to which this result is associated.

uint32_t CUpti_ActivitySynchronization::cudaEventId [inherited]

  The event ID for which the synchronization API is called. A CUPTI_SYNCHRONIZATION_INVALID_VALUE value indicate the field is not applicable for this record. Not valid for cuCtxSynchronize, cuStreamSynchronize.

uint64_t CUpti_ActivitySynchronization::end [inherited]

  The end timestamp for the function, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the function.

CUpti_ActivityKind CUpti_ActivitySynchronization::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_SYNCHRONIZATION.

uint64_t CUpti_ActivitySynchronization::start [inherited]

  The start timestamp for the function, in ns. A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the function.

uint32_t CUpti_ActivitySynchronization::streamId [inherited]

  The compute stream for which the synchronization API is called. A CUPTI_SYNCHRONIZATION_INVALID_VALUE value indicate the field is not applicable for this record. Not valid for cuCtxSynchronize, cuEventSynchronize.

CUpti_ActivitySynchronizationType CUpti_ActivitySynchronization::type [inherited]

  The type of record.

### 3.62. CUpti_ActivityUnifiedMemoryCounter Struct Reference

### [CUPTI Activity API]

This activity record represents a Unified Memory counter (CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER).

#### Public Variables

CUpti_ActivityUnifiedMemoryCounterKind counterKind
uint32_t deviceId
CUpti_ActivityKind kind
uint32_t pad
uint32_t processId
CUpti_ActivityUnifiedMemoryCounterScope scope
uint64_t timestamp
uint64_t value

#### Variables

CUpti_ActivityUnifiedMemoryCounterKind CUpti_ActivityUnifiedMemoryCounter::counterKind [inherited]

  The Unified Memory counter kind. See /ref CUpti_ActivityUnifiedMemoryCounterKind

uint32_t CUpti_ActivityUnifiedMemoryCounter::deviceId [inherited]

  The ID of the device involved in the memory transfer operation. It is not relevant if the scope of the counter is global (all devices).

CUpti_ActivityKind CUpti_ActivityUnifiedMemoryCounter::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER

uint32_t CUpti_ActivityUnifiedMemoryCounter::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityUnifiedMemoryCounter::processId [inherited]

  The ID of the process to which this record belongs to. In case of global scope, processId is undefined.

CUpti_ActivityUnifiedMemoryCounterScope CUpti_ActivityUnifiedMemoryCounter::scope [inherited]

  Scope of the Unified Memory counter. See /ref CUpti_ActivityUnifiedMemoryCounterScope

uint64_t CUpti_ActivityUnifiedMemoryCounter::timestamp [inherited]

  The timestamp when this sample was retrieved, in ns. A value of 0 indicates that timestamp information could not be collected

uint64_t CUpti_ActivityUnifiedMemoryCounter::value [inherited]

  Value of the counter

### 3.63. CUpti_ActivityUnifiedMemoryCounter2 Struct Reference

### [CUPTI Activity API]

This activity record represents a Unified Memory counter (CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER).

#### Public Variables

uint64_t address
CUpti_ActivityUnifiedMemoryCounterKind counterKind
uint32_t dstId
uint64_t end
uint32_t flags
CUpti_ActivityKind kind
uint32_t pad
uint32_t processId
uint32_t srcId
uint64_t start
uint32_t streamId
uint64_t value

#### Variables

uint64_t CUpti_ActivityUnifiedMemoryCounter2::address [inherited]

  This is the virtual base address of the page/s being transferred. For cpu and gpu faults, the virtual address for the page that faulted.

CUpti_ActivityUnifiedMemoryCounterKind CUpti_ActivityUnifiedMemoryCounter2::counterKind [inherited]

  The Unified Memory counter kind

uint32_t CUpti_ActivityUnifiedMemoryCounter2::dstId [inherited]

  The ID of the destination CPU/device involved in the memory transfer or remote map operation. Ignore this field if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT or CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT or CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING or CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING

uint64_t CUpti_ActivityUnifiedMemoryCounter2::end [inherited]

  The end timestamp of the counter, in ns. Ignore this field if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT or CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING or CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD and CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH, timestamp is captured when activity finishes on GPU. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT, timestamp is captured when CUDA driver queues the replay of faulting memory accesses on the GPU For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING, timestamp is captured when throttling operation was finished by CUDA driver

uint32_t CUpti_ActivityUnifiedMemoryCounter2::flags [inherited]

  The flags associated with this record. See enums CUpti_ActivityUnifiedMemoryAccessType if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT and CUpti_ActivityUnifiedMemoryMigrationCause if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD or CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD and CUpti_ActivityUnifiedMemoryRemoteMapCause if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP and CUpti_ActivityFlag if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING or CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING

CUpti_ActivityKind CUpti_ActivityUnifiedMemoryCounter2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER

uint32_t CUpti_ActivityUnifiedMemoryCounter2::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityUnifiedMemoryCounter2::processId [inherited]

  The ID of the process to which this record belongs to.

uint32_t CUpti_ActivityUnifiedMemoryCounter2::srcId [inherited]

  The ID of the source CPU/device involved in the memory transfer, page fault, thrashing, throttling or remote map operation. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING, it is a bitwise ORing of the device IDs fighting for the memory region. Ignore this field if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT

uint64_t CUpti_ActivityUnifiedMemoryCounter2::start [inherited]

  The start timestamp of the counter, in ns. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD and CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH, timestamp is captured when activity starts on GPU. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT and CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT, timestamp is captured when CUDA driver started processing the fault. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING, timestamp is captured when CUDA driver detected thrashing of memory region. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING, timestamp is captured when throttling opeeration was started by CUDA driver. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP, timestamp is captured when CUDA driver has pushed all required operations to the processor specified by dstId.

uint32_t CUpti_ActivityUnifiedMemoryCounter2::streamId [inherited]

  The ID of the stream causing the transfer. This value of this field is invalid.

uint64_t CUpti_ActivityUnifiedMemoryCounter2::value [inherited]

  Value of the counter For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD, CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH, CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THREASHING and CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP, it is the size of the memory region in bytes. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT, it is the number of page fault groups for the same page. For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT, it is the program counter for the instruction that caused fault.

### 3.64. CUpti_ActivityUnifiedMemoryCounterConfig Struct Reference

### [CUPTI Activity API]

This structure controls the enable/disable of the various Unified Memory counters consisting of scope, kind and other parameters. See function /ref cuptiActivityConfigureUnifiedMemoryCounter

#### Public Variables

uint32_t deviceId
uint32_t enable
CUpti_ActivityUnifiedMemoryCounterKind kind
CUpti_ActivityUnifiedMemoryCounterScope scope

#### Variables

uint32_t CUpti_ActivityUnifiedMemoryCounterConfig::deviceId [inherited]

  Device id of the traget device. This is relevant only for single device scopes. (deprecated in CUDA 7.0)

uint32_t CUpti_ActivityUnifiedMemoryCounterConfig::enable [inherited]

  Control to enable/disable the counter. To enable the counter set it to non-zero value while disable is indicated by zero.

CUpti_ActivityUnifiedMemoryCounterKind CUpti_ActivityUnifiedMemoryCounterConfig::kind [inherited]

  Unified Memory counter Counter kind

CUpti_ActivityUnifiedMemoryCounterScope CUpti_ActivityUnifiedMemoryCounterConfig::scope [inherited]

  Unified Memory counter Counter scope. (deprecated in CUDA 7.0)

### 3.65. CUpti_CallbackData Struct Reference

### [CUPTI Callback API]

Data passed into a runtime or driver API callback function as the `cbdata` argument to CUpti_CallbackFunc. The `cbdata` will be this type for `domain` equal to CUPTI_CB_DOMAIN_DRIVER_API or CUPTI_CB_DOMAIN_RUNTIME_API. The callback data is valid only within the invocation of the callback function that is passed the data. If you need to retain some data for use outside of the callback, you must make a copy of that data. For example, if you make a shallow copy of CUpti_CallbackData within a callback, you cannot dereference `functionParams` outside of that callback to access the function parameters. `functionName` is an exception: the string pointed to by `functionName` is a global constant and so may be accessed outside of the callback.

#### Public Variables

CUpti_ApiCallbackSite callbackSite
CUcontext context
uint32_t contextUid
uint64_t * correlationData
uint32_t correlationId
const char * functionName
const void * functionParams
void * functionReturnValue
const char * symbolName

#### Variables

CUpti_ApiCallbackSite CUpti_CallbackData::callbackSite [inherited]

  Point in the runtime or driver function from where the callback was issued.

CUcontext CUpti_CallbackData::context [inherited]

  Driver context current to the thread, or null if no context is current. This value can change from the entry to exit callback of a runtime API function if the runtime initializes a context.

uint32_t CUpti_CallbackData::contextUid [inherited]

  Unique ID for the CUDA context associated with the thread. The UIDs are assigned sequentially as contexts are created and are unique within a process.

uint64_t * CUpti_CallbackData::correlationData [inherited]

  Pointer to data shared between the entry and exit callbacks of a given runtime or drive API function invocation. This field can be used to pass 64-bit values from the entry callback to the corresponding exit callback.

uint32_t CUpti_CallbackData::correlationId [inherited]

  The activity record correlation ID for this callback. For a driver domain callback (i.e. `domain` CUPTI_CB_DOMAIN_DRIVER_API) this ID will equal the correlation ID in the CUpti_ActivityAPI record corresponding to the CUDA driver function call. For a runtime domain callback (i.e. `domain` CUPTI_CB_DOMAIN_RUNTIME_API) this ID will equal the correlation ID in the CUpti_ActivityAPI record corresponding to the CUDA runtime function call. Within the callback, this ID can be recorded to correlate user data with the activity record. This field is new in 4.1.

const char * CUpti_CallbackData::functionName [inherited]

  Name of the runtime or driver API function which issued the callback. This string is a global constant and so may be accessed outside of the callback.

const void * CUpti_CallbackData::functionParams [inherited]

  Pointer to the arguments passed to the runtime or driver API call. See generated_cuda_runtime_api_meta.h and generated_cuda_meta.h for structure definitions for the parameters for each runtime and driver API function.

void * CUpti_CallbackData::functionReturnValue [inherited]

  Pointer to the return value of the runtime or driver API call. This field is only valid within the exit::CUPTI_API_EXIT callback. For a runtime API `functionReturnValue` points to a `cudaError_t`. For a driver API `functionReturnValue` points to a `CUresult`.

const char * CUpti_CallbackData::symbolName [inherited]

  Name of the symbol operated on by the runtime or driver API function which issued the callback. This entry is valid only for driver and runtime launch callbacks, where it returns the name of the kernel.

### 3.66. CUpti_EventGroupSet Struct Reference

### [CUPTI Event API]

A set of event groups. When returned by cuptiEventGroupSetsCreate and cuptiMetricCreateEventGroupSets a set indicates that event groups that can be enabled at the same time (i.e. all the events in the set can be collected simultaneously).

#### Public Variables

CUpti_EventGroup* * eventGroups
uint32_t numEventGroups

#### Variables

CUpti_EventGroup* * CUpti_EventGroupSet::eventGroups [inherited]

  An array of `numEventGroups` event groups.

uint32_t CUpti_EventGroupSet::numEventGroups [inherited]

  The number of event groups in the set.

### 3.67. CUpti_EventGroupSets Struct Reference

### [CUPTI Event API]

A set of event group sets. When returned by cuptiEventGroupSetsCreate and cuptiMetricCreateEventGroupSets a CUpti_EventGroupSets indicates the number of passes required to collect all the events, and the event groups that should be collected during each pass.

#### Public Variables

uint32_t numSets
CUpti_EventGroupSet * sets

#### Variables

uint32_t CUpti_EventGroupSets::numSets [inherited]

  Number of event group sets.

CUpti_EventGroupSet * CUpti_EventGroupSets::sets [inherited]

  An array of `numSets` event group sets.

### 3.68. CUpti_GraphData Struct Reference

### [CUPTI Callback API]

CUDA graphs data passed into a resource callback function as the `cbdata` argument to CUpti_CallbackFunc. The `cbdata` will be this type for `domain` equal to CUPTI_CB_DOMAIN_RESOURCE. The graph data is valid only within the invocation of the callback function that is passed the data. If you need to retain some data for use outside of the callback, you must make a copy of that data.

#### Public Variables

CUgraphNode dependency
CUgraph graph
CUgraphExec graphExec
CUgraphNode node
CUgraphNodeType nodeType
CUgraph originalGraph

#### Variables

CUgraphNode CUpti_GraphData::dependency [inherited]

  The dependent graph node The size of the array is

CUgraph CUpti_GraphData::graph [inherited]

  CUDA graph

CUgraphExec CUpti_GraphData::graphExec [inherited]

  CUDA executable graph

CUgraphNode CUpti_GraphData::node [inherited]

  CUDA graph node

CUgraphNodeType CUpti_GraphData::nodeType [inherited]

  Type of the

CUgraph CUpti_GraphData::originalGraph [inherited]

  The original CUDA graph from which

### 3.69. CUpti_MetricValue Union Reference

### [CUPTI Metric API]

Metric values can be one of several different kinds. Corresponding to each kind is a member of the CUpti_MetricValue union. The metric value returned by cuptiMetricGetValue should be accessed using the appropriate member of that union based on its value kind.

### 3.70. CUpti_ModuleResourceData Struct Reference

### [CUPTI Callback API]

CUDA module data passed into a resource callback function as the `cbdata` argument to CUpti_CallbackFunc. The `cbdata` will be this type for `domain` equal to CUPTI_CB_DOMAIN_RESOURCE. The module data is valid only within the invocation of the callback function that is passed the data. If you need to retain some data for use outside of the callback, you must make a copy of that data.

#### Public Variables

size_t cubinSize
uint32_t moduleId
const char * pCubin

#### Variables

size_t CUpti_ModuleResourceData::cubinSize [inherited]

  The size of the cubin.

uint32_t CUpti_ModuleResourceData::moduleId [inherited]

  Identifier to associate with the CUDA module.

const char * CUpti_ModuleResourceData::pCubin [inherited]

  Pointer to the associated cubin.

### 3.71. CUpti_NvtxData Struct Reference

### [CUPTI Callback API]

Data passed into a NVTX callback function as the `cbdata` argument to CUpti_CallbackFunc. The `cbdata` will be this type for `domain` equal to CUPTI_CB_DOMAIN_NVTX. Unless otherwise notes, the callback data is valid only within the invocation of the callback function that is passed the data. If you need to retain some data for use outside of the callback, you must make a copy of that data.

#### Public Variables

const char * functionName
const void * functionParams

#### Variables

const char * CUpti_NvtxData::functionName [inherited]

  Name of the NVTX API function which issued the callback. This string is a global constant and so may be accessed outside of the callback.

const void * CUpti_NvtxData::functionParams [inherited]

  Pointer to the arguments passed to the NVTX API call. See generated_nvtx_meta.h for structure definitions for the parameters for each NVTX API function.

### 3.72. CUpti_Profiler_BeginPass_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

CUcontext ctx
  [in] if NULL, the current CUcontext is used
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_BeginPass_Params_STRUCT_SIZE

#### Variables

CUcontext CUpti_Profiler_BeginPass_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

void * CUpti_Profiler_BeginPass_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_BeginPass_Params::structSize [inherited]

  [in] CUpti_Profiler_BeginPass_Params_STRUCT_SIZE

### 3.73. CUpti_Profiler_BeginSession_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

uint8_t bDumpCounterDataInFile
  [in] [optional]
size_t counterDataImageSize
  [in] size calculated from cuptiProfilerCounterDataImageCalculateSize
size_t counterDataScratchBufferSize
  [in] size calculated from cuptiProfilerCounterDataImageInitializeScratchBuffer
CUcontext ctx
  [in] if NULL, the current CUcontext is used
size_t maxLaunchesPerPass
  [in] Maximum number of kernel launches that can be recorded in a single pass; must be >= maxRangesPerPass.
size_t maxRangesPerPass
  [in] Maximum number of ranges that can be recorded in a single pass.
const char * pCounterDataFilePath
  [in] [optional]
uint8_t * pCounterDataImage
  [in] address of CounterDataImage
uint8_t * pCounterDataScratchBuffer
  [in] address of CounterDataImage scratch buffer
void * pPriv
  [in] assign to NULL
CUpti_ProfilerRange range
  [in] CUpti_ProfilerRange
CUpti_ProfilerReplayMode replayMode
  [in] CUpti_ProfilerReplayMode
size_t structSize
  [in] CUpti_Profiler_BeginSession_Params_STRUCT_SIZE

#### Variables

uint8_t CUpti_Profiler_BeginSession_Params::bDumpCounterDataInFile [inherited]

  [in] [optional]

size_t CUpti_Profiler_BeginSession_Params::counterDataImageSize [inherited]

  [in] size calculated from cuptiProfilerCounterDataImageCalculateSize

size_t CUpti_Profiler_BeginSession_Params::counterDataScratchBufferSize [inherited]

  [in] size calculated from cuptiProfilerCounterDataImageInitializeScratchBuffer

CUcontext CUpti_Profiler_BeginSession_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

size_t CUpti_Profiler_BeginSession_Params::maxLaunchesPerPass [inherited]

  [in] Maximum number of kernel launches that can be recorded in a single pass; must be >= maxRangesPerPass.

size_t CUpti_Profiler_BeginSession_Params::maxRangesPerPass [inherited]

  [in] Maximum number of ranges that can be recorded in a single pass.

const char * CUpti_Profiler_BeginSession_Params::pCounterDataFilePath [inherited]

  [in] [optional]

uint8_t * CUpti_Profiler_BeginSession_Params::pCounterDataImage [inherited]

  [in] address of CounterDataImage

uint8_t * CUpti_Profiler_BeginSession_Params::pCounterDataScratchBuffer [inherited]

  [in] address of CounterDataImage scratch buffer

void * CUpti_Profiler_BeginSession_Params::pPriv [inherited]

  [in] assign to NULL

CUpti_ProfilerRange CUpti_Profiler_BeginSession_Params::range [inherited]

  [in] CUpti_ProfilerRange

CUpti_ProfilerReplayMode CUpti_Profiler_BeginSession_Params::replayMode [inherited]

  [in] CUpti_ProfilerReplayMode

size_t CUpti_Profiler_BeginSession_Params::structSize [inherited]

  [in] CUpti_Profiler_BeginSession_Params_STRUCT_SIZE

### 3.74. CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

size_t counterDataImageSize
  [in] size calculated from cuptiProfilerCounterDataImageCalculateSize
size_t counterDataScratchBufferSize
  [out]
uint8_t * pCounterDataImage
  [in]
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params_STRUCT_SIZE

#### Variables

size_t CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params::counterDataImageSize [inherited]

  [in] size calculated from cuptiProfilerCounterDataImageCalculateSize

size_t CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params::counterDataScratchBufferSize [inherited]

  [out]

uint8_t * CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params::pCounterDataImage [inherited]

  [in]

void * CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params::structSize [inherited]

  [in] CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params_STRUCT_SIZE

### 3.75. CUpti_Profiler_CounterDataImage_CalculateSize_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

size_t counterDataImageSize
  [out]
const CUpti_Profiler_CounterDataImageOptions * pOptions
  [in] Pointer to CUpti_Profiler_CounterDataImageOptions
void * pPriv
  [in] assign to NULL
size_t sizeofCounterDataImageOptions
  [in] CUpti_Profiler_CounterDataImageOptions_STRUCT_SIZE
size_t structSize
  [in] CUpti_Profiler_CounterDataImage_CalculateSize_Params_STRUCT_SIZE

#### Variables

size_t CUpti_Profiler_CounterDataImage_CalculateSize_Params::counterDataImageSize [inherited]

  [out]

const CUpti_Profiler_CounterDataImageOptions * CUpti_Profiler_CounterDataImage_CalculateSize_Params::pOptions [inherited]

  [in] Pointer to CUpti_Profiler_CounterDataImageOptions

void * CUpti_Profiler_CounterDataImage_CalculateSize_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_CounterDataImage_CalculateSize_Params::sizeofCounterDataImageOptions [inherited]

  [in] CUpti_Profiler_CounterDataImageOptions_STRUCT_SIZE

size_t CUpti_Profiler_CounterDataImage_CalculateSize_Params::structSize [inherited]

  [in] CUpti_Profiler_CounterDataImage_CalculateSize_Params_STRUCT_SIZE

### 3.76. CUpti_Profiler_CounterDataImage_Initialize_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

size_t counterDataImageSize
  [in] Size calculated from cuptiProfilerCounterDataImageCalculateSize
uint8_t * pCounterDataImage
  [in] The buffer to be initialized.
const CUpti_Profiler_CounterDataImageOptions * pOptions
  [in] Pointer to CUpti_Profiler_CounterDataImageOptions
void * pPriv
  [in] assign to NULL
size_t sizeofCounterDataImageOptions
  [in] CUpti_Profiler_CounterDataImageOptions_STRUCT_SIZE
size_t structSize
  [in] CUpti_Profiler_CounterDataImage_Initialize_Params_STRUCT_SIZE

#### Variables

size_t CUpti_Profiler_CounterDataImage_Initialize_Params::counterDataImageSize [inherited]

  [in] Size calculated from cuptiProfilerCounterDataImageCalculateSize

uint8_t * CUpti_Profiler_CounterDataImage_Initialize_Params::pCounterDataImage [inherited]

  [in] The buffer to be initialized.

const CUpti_Profiler_CounterDataImageOptions * CUpti_Profiler_CounterDataImage_Initialize_Params::pOptions [inherited]

  [in] Pointer to CUpti_Profiler_CounterDataImageOptions

void * CUpti_Profiler_CounterDataImage_Initialize_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_CounterDataImage_Initialize_Params::sizeofCounterDataImageOptions [inherited]

  [in] CUpti_Profiler_CounterDataImageOptions_STRUCT_SIZE

size_t CUpti_Profiler_CounterDataImage_Initialize_Params::structSize [inherited]

  [in] CUpti_Profiler_CounterDataImage_Initialize_Params_STRUCT_SIZE

### 3.77. CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

size_t counterDataImageSize
  [in] size calculated from cuptiProfilerCounterDataImageCalculateSize
size_t counterDataScratchBufferSize
  [in] size calculated using cuptiProfilerCounterDataImageCalculateScratchBufferSize
uint8_t * pCounterDataImage
  [in]
uint8_t * pCounterDataScratchBuffer
  [in] the scratch buffer to be initialized.
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params_STRUCT_SIZE

#### Variables

size_t CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params::counterDataImageSize [inherited]

  [in] size calculated from cuptiProfilerCounterDataImageCalculateSize

size_t CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params::counterDataScratchBufferSize [inherited]

  [in] size calculated using cuptiProfilerCounterDataImageCalculateScratchBufferSize

uint8_t * CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params::pCounterDataImage [inherited]

  [in]

uint8_t * CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params::pCounterDataScratchBuffer [inherited]

  [in] the scratch buffer to be initialized.

void * CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params::structSize [inherited]

  [in] CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params_STRUCT_SIZE

### 3.78. CUpti_Profiler_CounterDataImageOptions Struct Reference

### [CUPTI Profiler API]

#### Public Variables

size_t counterDataPrefixSize
  [in] Size of CounterDataPrefix generated from NVPW_CounterDataBuilder_GetCounterDataPrefix().
uint32_t maxNumRangeTreeNodes
  [in] Maximum number of RangeTree nodes; must be >= maxNumRanges
uint32_t maxNumRanges
  [in] Maximum number of ranges that can be profiled
uint32_t maxRangeNameLength
  [in] Maximum string length of each RangeName, including the trailing NULL character
const uint8_t * pCounterDataPrefix
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_CounterDataImageOptions_Params_STRUCT_SIZE

#### Variables

size_t CUpti_Profiler_CounterDataImageOptions::counterDataPrefixSize [inherited]

  [in] Size of CounterDataPrefix generated from NVPW_CounterDataBuilder_GetCounterDataPrefix().

uint32_t CUpti_Profiler_CounterDataImageOptions::maxNumRangeTreeNodes [inherited]

  [in] Maximum number of RangeTree nodes; must be >= maxNumRanges

uint32_t CUpti_Profiler_CounterDataImageOptions::maxNumRanges [inherited]

  [in] Maximum number of ranges that can be profiled

uint32_t CUpti_Profiler_CounterDataImageOptions::maxRangeNameLength [inherited]

  [in] Maximum string length of each RangeName, including the trailing NULL character

const uint8_t * CUpti_Profiler_CounterDataImageOptions::pCounterDataPrefix [inherited]

  [in] Address of CounterDataPrefix generated from NVPW_CounterDataBuilder_GetCounterDataPrefix(). Must be align(8).

void * CUpti_Profiler_CounterDataImageOptions::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_CounterDataImageOptions::structSize [inherited]

  [in] CUpti_Profiler_CounterDataImageOptions_Params_STRUCT_SIZE

### 3.79. CUpti_Profiler_DeInitialize_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_DeInitialize_Params_STRUCT_SIZE

#### Variables

void * CUpti_Profiler_DeInitialize_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_DeInitialize_Params::structSize [inherited]

  [in] CUpti_Profiler_DeInitialize_Params_STRUCT_SIZE

### 3.80. CUpti_Profiler_DisableProfiling_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

CUcontext ctx
  [in] if NULL, the current CUcontext is used
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_DisableProfiling_Params_STRUCT_SIZE

#### Variables

CUcontext CUpti_Profiler_DisableProfiling_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

void * CUpti_Profiler_DisableProfiling_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_DisableProfiling_Params::structSize [inherited]

  [in] CUpti_Profiler_DisableProfiling_Params_STRUCT_SIZE

### 3.81. CUpti_Profiler_EnableProfiling_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

CUcontext ctx
  [in] if NULL, the current CUcontext is used
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_EnableProfiling_Params_STRUCT_SIZE

#### Variables

CUcontext CUpti_Profiler_EnableProfiling_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

void * CUpti_Profiler_EnableProfiling_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_EnableProfiling_Params::structSize [inherited]

  [in] CUpti_Profiler_EnableProfiling_Params_STRUCT_SIZE

### 3.82. CUpti_Profiler_EndPass_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

uint8_t allPassesSubmitted
  [out] becomes true when the last pass has been queued to the GPU
CUcontext ctx
  [in] if NULL, the current CUcontext is used
void * pPriv
  [in] assign to NULL
size_t passIndex
  [out] The targetNestingLevel that will be collected by the *next* BeginPass.
size_t structSize
  [in] CUpti_Profiler_EndPass_Params_STRUCT_SIZE

#### Variables

uint8_t CUpti_Profiler_EndPass_Params::allPassesSubmitted [inherited]

  [out] becomes true when the last pass has been queued to the GPU

CUcontext CUpti_Profiler_EndPass_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

void * CUpti_Profiler_EndPass_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_EndPass_Params::passIndex [inherited]

  [out] The targetNestingLevel that will be collected by the *next* BeginPass. [out] The passIndex that will be collected by the *next* BeginPass

size_t CUpti_Profiler_EndPass_Params::structSize [inherited]

  [in] CUpti_Profiler_EndPass_Params_STRUCT_SIZE

### 3.83. CUpti_Profiler_EndSession_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

CUcontext ctx
  [in] if NULL, the current CUcontext is used
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_EndSession_Params_STRUCT_SIZE

#### Variables

CUcontext CUpti_Profiler_EndSession_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

void * CUpti_Profiler_EndSession_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_EndSession_Params::structSize [inherited]

  [in] CUpti_Profiler_EndSession_Params_STRUCT_SIZE

### 3.84. CUpti_Profiler_FlushCounterData_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

CUcontext ctx
  [in] if NULL, the current CUcontext is used
size_t numRangesDropped
  [out] number of ranges whose data was dropped in the processed passes
size_t numTraceBytesDropped
  [out] number of bytes not written to TraceBuffer due to buffer full
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_FlushCounterData_Params_STRUCT_SIZE

#### Variables

CUcontext CUpti_Profiler_FlushCounterData_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

size_t CUpti_Profiler_FlushCounterData_Params::numRangesDropped [inherited]

  [out] number of ranges whose data was dropped in the processed passes

size_t CUpti_Profiler_FlushCounterData_Params::numTraceBytesDropped [inherited]

  [out] number of bytes not written to TraceBuffer due to buffer full

void * CUpti_Profiler_FlushCounterData_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_FlushCounterData_Params::structSize [inherited]

  [in] CUpti_Profiler_FlushCounterData_Params_STRUCT_SIZE

### 3.85. CUpti_Profiler_Initialize_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_Initialize_Params_STRUCT_SIZE

#### Variables

void * CUpti_Profiler_Initialize_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_Initialize_Params::structSize [inherited]

  [in] CUpti_Profiler_Initialize_Params_STRUCT_SIZE

### 3.86. CUpti_Profiler_IsPassCollected_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

uint8_t allPassesCollected
  [out] becomes true when the last pass has been decoded
CUcontext ctx
  [in] if NULL, the current CUcontext is used
size_t numRangesDropped
  [out] number of ranges whose data was dropped in the processed pass
size_t numTraceBytesDropped
  [out] number of bytes not written to TraceBuffer due to buffer full
uint8_t onePassCollected
  [out] true if a pass was successfully decoded
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_IsPassCollected_Params_STRUCT_SIZE

#### Variables

uint8_t CUpti_Profiler_IsPassCollected_Params::allPassesCollected [inherited]

  [out] becomes true when the last pass has been decoded

CUcontext CUpti_Profiler_IsPassCollected_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

size_t CUpti_Profiler_IsPassCollected_Params::numRangesDropped [inherited]

  [out] number of ranges whose data was dropped in the processed pass

size_t CUpti_Profiler_IsPassCollected_Params::numTraceBytesDropped [inherited]

  [out] number of bytes not written to TraceBuffer due to buffer full

uint8_t CUpti_Profiler_IsPassCollected_Params::onePassCollected [inherited]

  [out] true if a pass was successfully decoded

void * CUpti_Profiler_IsPassCollected_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_IsPassCollected_Params::structSize [inherited]

  [in] CUpti_Profiler_IsPassCollected_Params_STRUCT_SIZE

### 3.87. CUpti_Profiler_SetConfig_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

size_t configSize
  [in] size of config
CUcontext ctx
  [in] if NULL, the current CUcontext is used
uint16_t minNestingLevel
  [in] the lowest nesting level to be profiled; must be >= 1
uint16_t numNestingLevels
  [in] the number of nesting levels to profile; must be >= 1
const uint8_t * pConfig
  [in] Config created by NVPW_RawMetricsConfig_GetConfigImage(). Must be align(8).
void * pPriv
  [in] assign to NULL
size_t passIndex
  [in] Set this to zero for in-app replay; set this to the output of EndPass() for application replay
size_t structSize
  [in] CUpti_Profiler_SetConfig_Params_STRUCT_SIZE
uint16_t targetNestingLevel
  [in] Set this to minNestingLevel for in-app replay; set this to the output of EndPass() for application

#### Variables

size_t CUpti_Profiler_SetConfig_Params::configSize [inherited]

  [in] size of config

CUcontext CUpti_Profiler_SetConfig_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

uint16_t CUpti_Profiler_SetConfig_Params::minNestingLevel [inherited]

  [in] the lowest nesting level to be profiled; must be >= 1

uint16_t CUpti_Profiler_SetConfig_Params::numNestingLevels [inherited]

  [in] the number of nesting levels to profile; must be >= 1

const uint8_t * CUpti_Profiler_SetConfig_Params::pConfig [inherited]

  [in] Config created by NVPW_RawMetricsConfig_GetConfigImage(). Must be align(8).

void * CUpti_Profiler_SetConfig_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_SetConfig_Params::passIndex [inherited]

  [in] Set this to zero for in-app replay; set this to the output of EndPass() for application replay

size_t CUpti_Profiler_SetConfig_Params::structSize [inherited]

  [in] CUpti_Profiler_SetConfig_Params_STRUCT_SIZE

uint16_t CUpti_Profiler_SetConfig_Params::targetNestingLevel [inherited]

  [in] Set this to minNestingLevel for in-app replay; set this to the output of EndPass() for application

### 3.88. CUpti_Profiler_UnsetConfig_Params Struct Reference

### [CUPTI Profiler API]

#### Public Variables

CUcontext ctx
  [in] if NULL, the current CUcontext is used
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_UnsetConfig_Params_STRUCT_SIZE

#### Variables

CUcontext CUpti_Profiler_UnsetConfig_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

void * CUpti_Profiler_UnsetConfig_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_UnsetConfig_Params::structSize [inherited]

  [in] CUpti_Profiler_UnsetConfig_Params_STRUCT_SIZE

### 3.89. CUpti_ResourceData Struct Reference

### [CUPTI Callback API]

Data passed into a resource callback function as the `cbdata` argument to CUpti_CallbackFunc. The `cbdata` will be this type for `domain` equal to CUPTI_CB_DOMAIN_RESOURCE. The callback data is valid only within the invocation of the callback function that is passed the data. If you need to retain some data for use outside of the callback, you must make a copy of that data.

#### Public Variables

CUcontext context
void * resourceDescriptor
CUstream stream

#### Variables

CUcontext CUpti_ResourceData::context [inherited]

  For CUPTI_CBID_RESOURCE_CONTEXT_CREATED and CUPTI_CBID_RESOURCE_CONTEXT_DESTROY_STARTING, the context being created or destroyed. For CUPTI_CBID_RESOURCE_STREAM_CREATED and CUPTI_CBID_RESOURCE_STREAM_DESTROY_STARTING, the context containing the stream being created or destroyed.

void * CUpti_ResourceData::resourceDescriptor [inherited]

  Reserved for future use.

CUstream CUpti_ResourceData::stream [inherited]

  For CUPTI_CBID_RESOURCE_STREAM_CREATED and CUPTI_CBID_RESOURCE_STREAM_DESTROY_STARTING, the stream being created or destroyed.

### 3.90. CUpti_SynchronizeData Struct Reference

### [CUPTI Callback API]

Data passed into a synchronize callback function as the `cbdata` argument to CUpti_CallbackFunc. The `cbdata` will be this type for `domain` equal to CUPTI_CB_DOMAIN_SYNCHRONIZE. The callback data is valid only within the invocation of the callback function that is passed the data. If you need to retain some data for use outside of the callback, you must make a copy of that data.

#### Public Variables

CUcontext context
CUstream stream

#### Variables

CUcontext CUpti_SynchronizeData::context [inherited]

  The context of the stream being synchronized.

CUstream CUpti_SynchronizeData::stream [inherited]

  The stream being synchronized.