CUPTI :: CUPTI Documentation

-->
CUPTI (PDF) - v12.1 (older) - Last updated Feb 28, 2023 - Send Feedback

## 6. Data Structures

Here are the data structures with brief descriptions:

BufferInfo
  BufferInfo will be stored in the file for every buffer i.e for every call of UtilDumpPcSamplingBufferInFile() API
CUPTI::​PcSamplingUtil::​CUptiUtil_GetBufferInfoParams
  Params for CuptiUtilGetBufferInfo
CUPTI::​PcSamplingUtil::​CUptiUtil_GetHeaderDataParams
  Params for CuptiUtilGetHeaderData
CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams
  Params for CuptiUtilGetPcSampData
CUPTI::​PcSamplingUtil::​CUptiUtil_MergePcSampDataParams
  Params for CuptiUtilMergePcSampData
CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams
  Params for CuptiUtilPutPcSampData
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. (deprecated)
CUpti_ActivityDevice3
  The activity record for a device. (CUDA 7.0 onwards)
CUpti_ActivityDevice4
  The activity record for a device. (CUDA 11.6 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_ActivityGraphTrace
  The activity record for trace of graph execution
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_ActivityJit
  The activity record for JIT operations. This activity represents the JIT operations (compile, load, store) of a CUmodule from the Compute Cache. Gives the exact hashed path of where the cached module is loaded from, or where the module will be stored after Just-In-Time (JIT) compilation
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 (CUDA 9.0(with sm_70 support) onwards). (deprecated in CUDA 11.0)
CUpti_ActivityKernel5
  The activity record for a kernel (CUDA 11.0(with sm_80 support) onwards). (deprecated in CUDA 11.2) 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_ActivityKernel9 activity record
CUpti_ActivityKernel6
  The activity record for kernel. (deprecated in CUDA 11.6)
CUpti_ActivityKernel7
  The activity record for kernel. (deprecated in CUDA 11.8)
CUpti_ActivityKernel8
  The activity record for kernel
CUpti_ActivityKernel9
  The activity record for 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. (deprecated)
CUpti_ActivityMemcpy3
  The activity record for memory copies. (deprecated in CUDA 11.1)
CUpti_ActivityMemcpy4
  The activity record for memory copies. (deprecated in CUDA 11.6)
CUpti_ActivityMemcpy5
  The activity record for memory copies
CUpti_ActivityMemcpyPtoP
  The activity record for peer-to-peer memory copies
CUpti_ActivityMemcpyPtoP2
  The activity record for peer-to-peer memory copies. (deprecated in CUDA 11.1)
CUpti_ActivityMemcpyPtoP3
  The activity record for peer-to-peer memory copies. (deprecated in CUDA 11.6)
CUpti_ActivityMemcpyPtoP4
  The activity record for peer-to-peer memory copies
CUpti_ActivityMemory
  The activity record for memory
CUpti_ActivityMemory2
  The activity record for memory
CUpti_ActivityMemory3
  The activity record for memory
CUpti_ActivityMemory3::​CUpti_ActivityMemory3::​PACKED_ALIGNMENT
CUpti_ActivityMemoryPool
  The activity record for memory pool
CUpti_ActivityMemoryPool2
  The activity record for memory pool
CUpti_ActivityMemset
  The activity record for memset. (deprecated)
CUpti_ActivityMemset2
  The activity record for memset. (deprecated in CUDA 11.1)
CUpti_ActivityMemset3
  The activity record for memset. (deprecated in CUDA 11.6)
CUpti_ActivityMemset4
  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_ActivityNvLink4
  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_GetCubinCrcParams
  Params for cuptiGetCubinCrc
CUpti_GetSassToSourceCorrelationParams
  Params for cuptiGetSassToSourceCorrelation
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_PCSamplingConfigurationInfo
  PC sampling configuration information structure
CUpti_PCSamplingConfigurationInfoParams
  PC sampling configuration structure
CUpti_PCSamplingData
  Collected PC Sampling data
CUpti_PCSamplingDisableParams
  Params for cuptiPCSamplingDisable
CUpti_PCSamplingEnableParams
  Params for cuptiPCSamplingEnable
CUpti_PCSamplingGetDataParams
  Params for cuptiPCSamplingEnable
CUpti_PCSamplingGetNumStallReasonsParams
  Params for cuptiPCSamplingGetNumStallReasons
CUpti_PCSamplingGetStallReasonsParams
  Params for cuptiPCSamplingGetStallReasons
CUpti_PCSamplingPCData
  PC Sampling data
CUpti_PCSamplingStallReason
  PC Sampling stall reasons
CUpti_PCSamplingStartParams
  Params for cuptiPCSamplingStart
CUpti_PCSamplingStopParams
  Params for cuptiPCSamplingStop
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_DeviceSupported_Params
  Params for cuptiProfilerDeviceSupported
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_GetCounterAvailability_Params
  Params for cuptiProfilerGetCounterAvailability
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
Header
  Header info will be stored in file
NV::​Cupti::​Checkpoint::​CUpti_Checkpoint
  Configuration and handle for a CUPTI Checkpoint
PcSamplingStallReasons
  All available stall reasons name and respective indexes will be stored in it

### 6.1. BufferInfo Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

uint64_t bufferByteSize
uint64_t numSelectedStallReasons
size_t numStallReasons
uint64_t recordCount

#### Variables

uint64_t BufferInfo::bufferByteSize [inherited]

  Buffer size in Bytes.

uint64_t BufferInfo::numSelectedStallReasons [inherited]

  Total number of stall reasons in single record.

size_t BufferInfo::numStallReasons [inherited]

  Count of all stall reasons supported on the GPU

uint64_t BufferInfo::recordCount [inherited]

  Total number of PC records.

### 6.2. CUPTI::PcSamplingUtil::CUptiUtil_GetBufferInfoParams Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

struct BufferInfo bufferInfoData
std::ifstream * fileHandler
size_t size

#### Variables

struct BufferInfo CUPTI::​PcSamplingUtil::​CUptiUtil_GetBufferInfoParams::bufferInfoData [inherited]

  Buffer Info.

std::ifstream * CUPTI::​PcSamplingUtil::​CUptiUtil_GetBufferInfoParams::fileHandler [inherited]

  File handle.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_GetBufferInfoParams::size [inherited]

  Size of the data structure i.e. CUpti_PCSamplingDisableParamsSize 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.

### 6.3. CUPTI::PcSamplingUtil::CUptiUtil_GetHeaderDataParams Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

std::ifstream * fileHandler
struct Header headerInfo
size_t size

#### Variables

std::ifstream * CUPTI::​PcSamplingUtil::​CUptiUtil_GetHeaderDataParams::fileHandler [inherited]

  File handle.

struct Header CUPTI::​PcSamplingUtil::​CUptiUtil_GetHeaderDataParams::headerInfo [inherited]

  Header Info.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_GetHeaderDataParams::size [inherited]

  Size of the data structure i.e. CUpti_PCSamplingDisableParamsSize 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.

### 6.4. CUPTI::PcSamplingUtil::CUptiUtil_GetPcSampDataParams Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

PcSamplingBufferType bufferType
std::ifstream * fileHandler
size_t numAttributes
BufferInfo * pBufferInfoData
CUpti_PCSamplingConfigurationInfo * pPCSamplingConfigurationInfo
PcSamplingStallReasons * pPcSamplingStallReasons
void * pSamplingData
size_t size

#### Variables

PcSamplingBufferType CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::bufferType [inherited]

  Type of buffer to store in file

std::ifstream * CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::fileHandler [inherited]

  File handle.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::numAttributes [inherited]

  Number of configuration attributes

BufferInfo * CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::pBufferInfoData [inherited]

  Pointer to collected buffer info using CuptiUtilGetBufferInfo

CUpti_PCSamplingConfigurationInfo * CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::pPCSamplingConfigurationInfo [inherited]

  Refer CUpti_PCSamplingConfigurationInfo

PcSamplingStallReasons * CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::pPcSamplingStallReasons [inherited]

  Refer PcSamplingStallReasons. For stallReasons field of PcSamplingStallReasons it is expected to allocate memory for each string element of array.

void * CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::pSamplingData [inherited]

  Pointer to allocated memory to store retrieved data from file.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_GetPcSampDataParams::size [inherited]

  Size of the data structure i.e. CUpti_PCSamplingDisableParamsSize 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.

### 6.5. CUPTI::PcSamplingUtil::CUptiUtil_MergePcSampDataParams Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

* MergedPcSampDataBuffers
CUpti_PCSamplingData * PcSampDataBuffer
size_t * numMergedBuffer
size_t numberOfBuffers
size_t size

#### Variables

* CUPTI::​PcSamplingUtil::​CUptiUtil_MergePcSampDataParams::MergedPcSampDataBuffers [inherited]

  Pointer to array of merged buffers as per the range id.

CUpti_PCSamplingData * CUPTI::​PcSamplingUtil::​CUptiUtil_MergePcSampDataParams::PcSampDataBuffer [inherited]

  Pointer to array of buffers to merge

size_t * CUPTI::​PcSamplingUtil::​CUptiUtil_MergePcSampDataParams::numMergedBuffer [inherited]

  Number of merged buffers.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_MergePcSampDataParams::numberOfBuffers [inherited]

  Number of buffers to merge.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_MergePcSampDataParams::size [inherited]

  Size of the data structure i.e. CUpti_PCSamplingDisableParamsSize 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.

### 6.6. CUPTI::PcSamplingUtil::CUptiUtil_PutPcSampDataParams Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

PcSamplingBufferType bufferType
const char * fileName
size_t numAttributes
CUpti_PCSamplingConfigurationInfo * pPCSamplingConfigurationInfo
PcSamplingStallReasons * pPcSamplingStallReasons
void * pSamplingData
size_t size

#### Variables

PcSamplingBufferType CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams::bufferType [inherited]

  Type of buffer to store in file

const char * CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams::fileName [inherited]

  File name to store buffer into it.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams::numAttributes [inherited]

  Number of configured attributes

CUpti_PCSamplingConfigurationInfo * CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams::pPCSamplingConfigurationInfo [inherited]

  Refer CUpti_PCSamplingConfigurationInfo It is expected to provide configuration details of at least CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_STALL_REASON attribute.

PcSamplingStallReasons * CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams::pPcSamplingStallReasons [inherited]

  Refer PcSamplingStallReasons.

void * CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams::pSamplingData [inherited]

  PC sampling buffer.

size_t CUPTI::​PcSamplingUtil::​CUptiUtil_PutPcSampDataParams::size [inherited]

  Size of the data structure i.e. CUpti_PCSamplingDisableParamsSize 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.

### 6.7. 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.

### 6.8. 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, CUPTI_ACTIVITY_KIND_RUNTIME, or CUPTI_ACTIVITY_KIND_INTERNAL_LAUNCH_API.

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.

### 6.9. CUpti_ActivityAutoBoostState Struct Reference

### [CUPTI Activity API]

This structure defines auto boost state for a device. See function 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.

### 6.10. 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

### 6.11. 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

### 6.12. 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.

### 6.13. 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

### 6.14. 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.

### 6.15. 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_ActivityDevice4 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.

### 6.16. CUpti_ActivityDevice2 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_ActivityDevice4 activity record.

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

### 6.17. CUpti_ActivityDevice3 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_ActivityDevice4 activity record.

#### 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
uint8_t isCudaVisible
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_ActivityDevice3::computeCapabilityMajor [inherited]

  Compute capability for the device, major number.

uint32_t CUpti_ActivityDevice3::computeCapabilityMinor [inherited]

  Compute capability for the device, minor number.

uint32_t CUpti_ActivityDevice3::constantMemorySize [inherited]

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

uint32_t CUpti_ActivityDevice3::coreClockRate [inherited]

  The core clock rate of the device, in kHz.

uint32_t CUpti_ActivityDevice3::eccEnabled [inherited]

  ECC enabled flag for device

CUpti_ActivityFlag CUpti_ActivityDevice3::flags [inherited]

  The flags associated with the device.

  See also:

  CUpti_ActivityFlag

uint64_t CUpti_ActivityDevice3::globalMemoryBandwidth [inherited]

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

uint64_t CUpti_ActivityDevice3::globalMemorySize [inherited]

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

uint32_t CUpti_ActivityDevice3::id [inherited]

  The device ID.

uint8_t CUpti_ActivityDevice3::isCudaVisible [inherited]

  Flag to indicate whether the device is visible to CUDA. Users can set the device visibility using CUDA_VISIBLE_DEVICES environment

CUpti_ActivityKind CUpti_ActivityDevice3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_DEVICE.

uint32_t CUpti_ActivityDevice3::l2CacheSize [inherited]

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

uint32_t CUpti_ActivityDevice3::maxBlockDimX [inherited]

  Maximum allowed X dimension for a block.

uint32_t CUpti_ActivityDevice3::maxBlockDimY [inherited]

  Maximum allowed Y dimension for a block.

uint32_t CUpti_ActivityDevice3::maxBlockDimZ [inherited]

  Maximum allowed Z dimension for a block.

uint32_t CUpti_ActivityDevice3::maxBlocksPerMultiprocessor [inherited]

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

uint32_t CUpti_ActivityDevice3::maxGridDimX [inherited]

  Maximum allowed X dimension for a grid.

uint32_t CUpti_ActivityDevice3::maxGridDimY [inherited]

  Maximum allowed Y dimension for a grid.

uint32_t CUpti_ActivityDevice3::maxGridDimZ [inherited]

  Maximum allowed Z dimension for a grid.

uint32_t CUpti_ActivityDevice3::maxIPC [inherited]

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

uint32_t CUpti_ActivityDevice3::maxRegistersPerBlock [inherited]

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

uint32_t CUpti_ActivityDevice3::maxRegistersPerMultiprocessor [inherited]

  Maximum number of 32-bit registers available per multiprocessor.

uint32_t CUpti_ActivityDevice3::maxSharedMemoryPerBlock [inherited]

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

uint32_t CUpti_ActivityDevice3::maxSharedMemoryPerMultiprocessor [inherited]

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

uint32_t CUpti_ActivityDevice3::maxThreadsPerBlock [inherited]

  Maximum number of threads allowed in a block.

uint32_t CUpti_ActivityDevice3::maxWarpsPerMultiprocessor [inherited]

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

const char * CUpti_ActivityDevice3::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_ActivityDevice3::numMemcpyEngines [inherited]

  Number of memory copy engines on the device.

uint32_t CUpti_ActivityDevice3::numMultiprocessors [inherited]

  Number of multiprocessors on the device.

uint32_t CUpti_ActivityDevice3::numThreadsPerWarp [inherited]

  The number of threads per warp on the device.

uint32_t CUpti_ActivityDevice3::pad [inherited]

  Undefined. Reserved for internal use.

CUuuid CUpti_ActivityDevice3::uuid [inherited]

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

### 6.18. CUpti_ActivityDevice4 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 computeInstanceId
uint32_t constantMemorySize
uint32_t coreClockRate
uint32_t eccEnabled
CUpti_ActivityFlag flags
uint64_t globalMemoryBandwidth
uint64_t globalMemorySize
uint32_t gpuInstanceId
uint32_t id
uint8_t isCudaVisible
uint8_t isMigEnabled
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
CUuuid migUuid
const char * name
uint32_t numMemcpyEngines
uint32_t numMultiprocessors
uint32_t numThreadsPerWarp
uint32_t pad
CUuuid uuid

#### Variables

uint32_t CUpti_ActivityDevice4::computeCapabilityMajor [inherited]

  Compute capability for the device, major number.

uint32_t CUpti_ActivityDevice4::computeCapabilityMinor [inherited]

  Compute capability for the device, minor number.

uint32_t CUpti_ActivityDevice4::computeInstanceId [inherited]

  Compute Instance id for MIG enabled devices. If mig mode is disabled value is set to UINT32_MAX

uint32_t CUpti_ActivityDevice4::constantMemorySize [inherited]

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

uint32_t CUpti_ActivityDevice4::coreClockRate [inherited]

  The core clock rate of the device, in kHz.

uint32_t CUpti_ActivityDevice4::eccEnabled [inherited]

  ECC enabled flag for device

CUpti_ActivityFlag CUpti_ActivityDevice4::flags [inherited]

  The flags associated with the device.

  See also:

  CUpti_ActivityFlag

uint64_t CUpti_ActivityDevice4::globalMemoryBandwidth [inherited]

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

uint64_t CUpti_ActivityDevice4::globalMemorySize [inherited]

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

uint32_t CUpti_ActivityDevice4::gpuInstanceId [inherited]

  GPU Instance id for MIG enabled devices. If mig mode is disabled value is set to UINT32_MAX

uint32_t CUpti_ActivityDevice4::id [inherited]

  The device ID.

uint8_t CUpti_ActivityDevice4::isCudaVisible [inherited]

  Flag to indicate whether the device is visible to CUDA. Users can set the device visibility using CUDA_VISIBLE_DEVICES environment

uint8_t CUpti_ActivityDevice4::isMigEnabled [inherited]

  MIG enabled flag for device

CUpti_ActivityKind CUpti_ActivityDevice4::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_DEVICE.

uint32_t CUpti_ActivityDevice4::l2CacheSize [inherited]

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

uint32_t CUpti_ActivityDevice4::maxBlockDimX [inherited]

  Maximum allowed X dimension for a block.

uint32_t CUpti_ActivityDevice4::maxBlockDimY [inherited]

  Maximum allowed Y dimension for a block.

uint32_t CUpti_ActivityDevice4::maxBlockDimZ [inherited]

  Maximum allowed Z dimension for a block.

uint32_t CUpti_ActivityDevice4::maxBlocksPerMultiprocessor [inherited]

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

uint32_t CUpti_ActivityDevice4::maxGridDimX [inherited]

  Maximum allowed X dimension for a grid.

uint32_t CUpti_ActivityDevice4::maxGridDimY [inherited]

  Maximum allowed Y dimension for a grid.

uint32_t CUpti_ActivityDevice4::maxGridDimZ [inherited]

  Maximum allowed Z dimension for a grid.

uint32_t CUpti_ActivityDevice4::maxIPC [inherited]

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

uint32_t CUpti_ActivityDevice4::maxRegistersPerBlock [inherited]

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

uint32_t CUpti_ActivityDevice4::maxRegistersPerMultiprocessor [inherited]

  Maximum number of 32-bit registers available per multiprocessor.

uint32_t CUpti_ActivityDevice4::maxSharedMemoryPerBlock [inherited]

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

uint32_t CUpti_ActivityDevice4::maxSharedMemoryPerMultiprocessor [inherited]

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

uint32_t CUpti_ActivityDevice4::maxThreadsPerBlock [inherited]

  Maximum number of threads allowed in a block.

uint32_t CUpti_ActivityDevice4::maxWarpsPerMultiprocessor [inherited]

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

CUuuid CUpti_ActivityDevice4::migUuid [inherited]

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

const char * CUpti_ActivityDevice4::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_ActivityDevice4::numMemcpyEngines [inherited]

  Number of memory copy engines on the device.

uint32_t CUpti_ActivityDevice4::numMultiprocessors [inherited]

  Number of multiprocessors on the device.

uint32_t CUpti_ActivityDevice4::numThreadsPerWarp [inherited]

  The number of threads per warp on the device.

uint32_t CUpti_ActivityDevice4::pad [inherited]

  Undefined. Reserved for internal use.

CUuuid CUpti_ActivityDevice4::uuid [inherited]

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

### 6.19. 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::@23 attribute
uint32_t deviceId
CUpti_ActivityFlag flags
CUpti_ActivityKind kind
CUpti_ActivityDeviceAttribute::@24 value

#### Variables

CUpti_ActivityDeviceAttribute::@23 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::@24 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.

### 6.20. 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::@25::@29 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::@25::@28 power
uint32_t power
uint32_t powerLimit
uint32_t smClock
CUpti_ActivityEnvironment::@25::@26 speed
CUpti_ActivityEnvironment::@25::@27 temperature
uint64_t timestamp

#### Variables

CUpti_EnvironmentClocksThrottleReason CUpti_ActivityEnvironment::clocksThrottleReasons [inherited]

  The clocks throttle reasons.

CUpti_ActivityEnvironment::@25::@29 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::@25::@28 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::@25::@26 CUpti_ActivityEnvironment::speed [inherited]

  Data returned for CUPTI_ACTIVITY_ENVIRONMENT_SPEED environment kind.

CUpti_ActivityEnvironment::@25::@27 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.

### 6.21. 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.

### 6.22. 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.

### 6.23. 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.

### 6.24. 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.

### 6.25. 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.

### 6.26. 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.

### 6.27. 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.

### 6.28. CUpti_ActivityGraphTrace Struct Reference

### [CUPTI Activity API]

This activity record represents execution for a graph without giving visibility about the execution of its nodes. This is intended to reduce overheads in tracing each node. The activity kind is CUPTI_ACTIVITY_KIND_GRAPH_TRACE

#### Public Variables

uint32_t contextId
uint32_t correlationId
uint32_t deviceId
uint64_t end
uint32_t graphId
CUpti_ActivityKind kind
void * reserved
uint64_t start
uint32_t streamId

#### Variables

uint32_t CUpti_ActivityGraphTrace::contextId [inherited]

  The ID of the context where the graph is being launched.

uint32_t CUpti_ActivityGraphTrace::correlationId [inherited]

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

uint32_t CUpti_ActivityGraphTrace::deviceId [inherited]

  The ID of the device where the graph execution is occurring.

uint64_t CUpti_ActivityGraphTrace::end [inherited]

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

uint32_t CUpti_ActivityGraphTrace::graphId [inherited]

  The unique ID of the graph that is launched.

CUpti_ActivityKind CUpti_ActivityGraphTrace::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_GRAPH_TRACE

void * CUpti_ActivityGraphTrace::reserved [inherited]

  This field is reserved for internal use

uint64_t CUpti_ActivityGraphTrace::start [inherited]

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

uint32_t CUpti_ActivityGraphTrace::streamId [inherited]

  The ID of the stream where the graph is being launched.

### 6.29. 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.

### 6.30. 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.

### 6.31. 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.

### 6.32. 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.

### 6.33. 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.

### 6.34. 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.

### 6.35. CUpti_ActivityJit Struct Reference

### [CUPTI Activity API]

#### Public Variables

const char * cachePath
uint64_t cacheSize
uint32_t correlationId
uint32_t deviceId
uint64_t end
CUpti_ActivityJitEntryType jitEntryType
uint64_t jitOperationCorrelationId
CUpti_ActivityJitOperationType jitOperationType
CUpti_ActivityKind kind
uint32_t padding
uint64_t start

#### Variables

const char * CUpti_ActivityJit::cachePath [inherited]

  The path where the fat binary is cached.

uint64_t CUpti_ActivityJit::cacheSize [inherited]

  The size of compute cache.

uint32_t CUpti_ActivityJit::correlationId [inherited]

  The correlation ID of the JIT operation to which records belong to. Each JIT operation is assigned a unique correlation ID that is identical to the correlation ID in the driver or runtime API activity record that launched the JIT operation.

uint32_t CUpti_ActivityJit::deviceId [inherited]

  The device ID.

uint64_t CUpti_ActivityJit::end [inherited]

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

CUpti_ActivityJitEntryType CUpti_ActivityJit::jitEntryType [inherited]

  The JIT entry type.

uint64_t CUpti_ActivityJit::jitOperationCorrelationId [inherited]

  The correlation ID to correlate JIT compilation, load and store operations. Each JIT compilation unit is assigned a unique correlation ID at the time of the JIT compilation. This correlation id can be used to find the matching JIT cache load/store records.

CUpti_ActivityJitOperationType CUpti_ActivityJit::jitOperationType [inherited]

  The JIT operation type.

CUpti_ActivityKind CUpti_ActivityJit::kind [inherited]

  The activity record kind must be CUPTI_ACTIVITY_KIND_JIT.

uint32_t CUpti_ActivityJit::padding [inherited]

  Internal use.

uint64_t CUpti_ActivityJit::start [inherited]

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

### 6.36. 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_ActivityKernel9 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.

### 6.37. 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_ActivityKernel9 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.

### 6.38. 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_ActivityKernel9 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.

### 6.39. CUpti_ActivityKernel4 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_ActivityKernel9 activity record.

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
CUpti_ActivityKernel4::@9 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::@9 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.

### 6.40. CUpti_ActivityKernel5 Struct Reference

### [CUPTI Activity API]

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
CUpti_ActivityKernel5::@11 cacheConfig
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
uint32_t graphId
uint64_t graphNodeId
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
CUpti_FuncShmemLimitConfig shmemLimitConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId
uint64_t submitted

#### Variables

int32_t CUpti_ActivityKernel5::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel5::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel5::blockZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKernel5::@11 CUpti_ActivityKernel5::cacheConfig [inherited]

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

uint64_t CUpti_ActivityKernel5::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_ActivityKernel5::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel5::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_ActivityKernel5::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel5::dynamicSharedMemory [inherited]

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

uint64_t CUpti_ActivityKernel5::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_ActivityKernel5::executed [inherited]

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

uint32_t CUpti_ActivityKernel5::graphId [inherited]

  The unique ID of the graph that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

uint64_t CUpti_ActivityKernel5::graphNodeId [inherited]

  The unique ID of the graph node that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

int64_t CUpti_ActivityKernel5::gridId [inherited]

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

int32_t CUpti_ActivityKernel5::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel5::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel5::gridZ [inherited]

  The Z-dimension grid size for the kernel.

uint8_t CUpti_ActivityKernel5::isSharedMemoryCarveoutRequested [inherited]

  This indicates if CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT was updated for the kernel launch

CUpti_ActivityKind CUpti_ActivityKernel5::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint8_t CUpti_ActivityKernel5::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_ActivityKernel5::localMemoryPerThread [inherited]

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

uint32_t CUpti_ActivityKernel5::localMemoryTotal [inherited]

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

const char * CUpti_ActivityKernel5::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_ActivityKernel5::padding [inherited]

  Undefined. Reserved for internal use.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel5::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_ActivityKernel5::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_ActivityKernel5::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_ActivityKernel5::registersPerThread [inherited]

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

uint8_t CUpti_ActivityKernel5::requested [inherited]

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

void * CUpti_ActivityKernel5::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel5::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_ActivityKernel5::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_ActivityKernel5::sharedMemoryExecuted [inherited]

  Shared memory size set by the driver.

CUpti_FuncShmemLimitConfig CUpti_ActivityKernel5::shmemLimitConfig [inherited]

  The shared memory limit config for the kernel. This field shows whether user has opted for a higher per block limit of dynamic shared memory.

uint64_t CUpti_ActivityKernel5::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_ActivityKernel5::staticSharedMemory [inherited]

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

uint32_t CUpti_ActivityKernel5::streamId [inherited]

  The ID of the stream where the kernel is executing.

uint64_t CUpti_ActivityKernel5::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.

### 6.41. CUpti_ActivityKernel6 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_ActivityKernel9 activity record.

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
CUpti_ActivityKernel6::@13 cacheConfig
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
uint32_t graphId
uint64_t graphNodeId
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
CUaccessPolicyWindow * pAccessPolicyWindow
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
CUpti_FuncShmemLimitConfig shmemLimitConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId
uint64_t submitted

#### Variables

int32_t CUpti_ActivityKernel6::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel6::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel6::blockZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKernel6::@13 CUpti_ActivityKernel6::cacheConfig [inherited]

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

uint64_t CUpti_ActivityKernel6::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_ActivityKernel6::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel6::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_ActivityKernel6::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel6::dynamicSharedMemory [inherited]

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

uint64_t CUpti_ActivityKernel6::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_ActivityKernel6::executed [inherited]

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

uint32_t CUpti_ActivityKernel6::graphId [inherited]

  The unique ID of the graph that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

uint64_t CUpti_ActivityKernel6::graphNodeId [inherited]

  The unique ID of the graph node that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

int64_t CUpti_ActivityKernel6::gridId [inherited]

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

int32_t CUpti_ActivityKernel6::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel6::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel6::gridZ [inherited]

  The Z-dimension grid size for the kernel.

uint8_t CUpti_ActivityKernel6::isSharedMemoryCarveoutRequested [inherited]

  This indicates if CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT was updated for the kernel launch

CUpti_ActivityKind CUpti_ActivityKernel6::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint8_t CUpti_ActivityKernel6::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_ActivityKernel6::localMemoryPerThread [inherited]

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

uint32_t CUpti_ActivityKernel6::localMemoryTotal [inherited]

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

const char * CUpti_ActivityKernel6::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.

CUaccessPolicyWindow * CUpti_ActivityKernel6::pAccessPolicyWindow [inherited]

  The pointer to the access policy window. The structure CUaccessPolicyWindow is defined in cuda.h.

uint8_t CUpti_ActivityKernel6::padding [inherited]

  Undefined. Reserved for internal use.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel6::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_ActivityKernel6::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_ActivityKernel6::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_ActivityKernel6::registersPerThread [inherited]

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

uint8_t CUpti_ActivityKernel6::requested [inherited]

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

void * CUpti_ActivityKernel6::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel6::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_ActivityKernel6::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_ActivityKernel6::sharedMemoryExecuted [inherited]

  Shared memory size set by the driver.

CUpti_FuncShmemLimitConfig CUpti_ActivityKernel6::shmemLimitConfig [inherited]

  The shared memory limit config for the kernel. This field shows whether user has opted for a higher per block limit of dynamic shared memory.

uint64_t CUpti_ActivityKernel6::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_ActivityKernel6::staticSharedMemory [inherited]

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

uint32_t CUpti_ActivityKernel6::streamId [inherited]

  The ID of the stream where the kernel is executing.

uint64_t CUpti_ActivityKernel6::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.

### 6.42. CUpti_ActivityKernel7 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_ActivityKernel9 activity record.

#### Public Variables

int32_t blockX
int32_t blockY
int32_t blockZ
CUpti_ActivityKernel7::@15 cacheConfig
uint32_t channelID
CUpti_ChannelType channelType
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
uint32_t graphId
uint64_t graphNodeId
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
CUaccessPolicyWindow * pAccessPolicyWindow
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
CUpti_FuncShmemLimitConfig shmemLimitConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId
uint64_t submitted

#### Variables

int32_t CUpti_ActivityKernel7::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel7::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel7::blockZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKernel7::@15 CUpti_ActivityKernel7::cacheConfig [inherited]

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

uint32_t CUpti_ActivityKernel7::channelID [inherited]

  The ID of the HW channel on which the kernel is launched.

CUpti_ChannelType CUpti_ActivityKernel7::channelType [inherited]

  The type of the channel

uint64_t CUpti_ActivityKernel7::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_ActivityKernel7::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel7::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_ActivityKernel7::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel7::dynamicSharedMemory [inherited]

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

uint64_t CUpti_ActivityKernel7::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_ActivityKernel7::executed [inherited]

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

uint32_t CUpti_ActivityKernel7::graphId [inherited]

  The unique ID of the graph that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

uint64_t CUpti_ActivityKernel7::graphNodeId [inherited]

  The unique ID of the graph node that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

int64_t CUpti_ActivityKernel7::gridId [inherited]

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

int32_t CUpti_ActivityKernel7::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel7::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel7::gridZ [inherited]

  The Z-dimension grid size for the kernel.

uint8_t CUpti_ActivityKernel7::isSharedMemoryCarveoutRequested [inherited]

  This indicates if CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT was updated for the kernel launch

CUpti_ActivityKind CUpti_ActivityKernel7::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint8_t CUpti_ActivityKernel7::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_ActivityKernel7::localMemoryPerThread [inherited]

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

uint32_t CUpti_ActivityKernel7::localMemoryTotal [inherited]

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

const char * CUpti_ActivityKernel7::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.

CUaccessPolicyWindow * CUpti_ActivityKernel7::pAccessPolicyWindow [inherited]

  The pointer to the access policy window. The structure CUaccessPolicyWindow is defined in cuda.h.

uint8_t CUpti_ActivityKernel7::padding [inherited]

  Undefined. Reserved for internal use.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel7::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_ActivityKernel7::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_ActivityKernel7::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_ActivityKernel7::registersPerThread [inherited]

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

uint8_t CUpti_ActivityKernel7::requested [inherited]

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

void * CUpti_ActivityKernel7::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel7::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_ActivityKernel7::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_ActivityKernel7::sharedMemoryExecuted [inherited]

  Shared memory size set by the driver.

CUpti_FuncShmemLimitConfig CUpti_ActivityKernel7::shmemLimitConfig [inherited]

  The shared memory limit config for the kernel. This field shows whether user has opted for a higher per block limit of dynamic shared memory.

uint64_t CUpti_ActivityKernel7::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_ActivityKernel7::staticSharedMemory [inherited]

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

uint32_t CUpti_ActivityKernel7::streamId [inherited]

  The ID of the stream where the kernel is executing.

uint64_t CUpti_ActivityKernel7::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.

### 6.43. CUpti_ActivityKernel8 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_ActivityKernel8::@17 cacheConfig
uint32_t channelID
CUpti_ChannelType channelType
uint32_t clusterSchedulingPolicy
uint32_t clusterX
uint32_t clusterY
uint32_t clusterZ
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
uint32_t graphId
uint64_t graphNodeId
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
uint64_t localMemoryTotal_v2
const char * name
CUaccessPolicyWindow * pAccessPolicyWindow
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
CUpti_FuncShmemLimitConfig shmemLimitConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId
uint64_t submitted

#### Variables

int32_t CUpti_ActivityKernel8::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel8::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel8::blockZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKernel8::@17 CUpti_ActivityKernel8::cacheConfig [inherited]

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

uint32_t CUpti_ActivityKernel8::channelID [inherited]

  The ID of the HW channel on which the kernel is launched.

CUpti_ChannelType CUpti_ActivityKernel8::channelType [inherited]

  The type of the channel

uint32_t CUpti_ActivityKernel8::clusterSchedulingPolicy [inherited]

  The cluster scheduling policy for the kernel. Refer CUclusterSchedulingPolicy Field is valid for devices with compute capability 9.0 and higher

uint32_t CUpti_ActivityKernel8::clusterX [inherited]

  The X-dimension cluster size for the kernel. Field is valid for devices with compute capability 9.0 and higher

uint32_t CUpti_ActivityKernel8::clusterY [inherited]

  The Y-dimension cluster size for the kernel. Field is valid for devices with compute capability 9.0 and higher

uint32_t CUpti_ActivityKernel8::clusterZ [inherited]

  The Z-dimension cluster size for the kernel. Field is valid for devices with compute capability 9.0 and higher

uint64_t CUpti_ActivityKernel8::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_ActivityKernel8::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel8::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_ActivityKernel8::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel8::dynamicSharedMemory [inherited]

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

uint64_t CUpti_ActivityKernel8::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_ActivityKernel8::executed [inherited]

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

uint32_t CUpti_ActivityKernel8::graphId [inherited]

  The unique ID of the graph that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

uint64_t CUpti_ActivityKernel8::graphNodeId [inherited]

  The unique ID of the graph node that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

int64_t CUpti_ActivityKernel8::gridId [inherited]

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

int32_t CUpti_ActivityKernel8::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel8::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel8::gridZ [inherited]

  The Z-dimension grid size for the kernel.

uint8_t CUpti_ActivityKernel8::isSharedMemoryCarveoutRequested [inherited]

  This indicates if CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT was updated for the kernel launch

CUpti_ActivityKind CUpti_ActivityKernel8::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint8_t CUpti_ActivityKernel8::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_ActivityKernel8::localMemoryPerThread [inherited]

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

uint32_t CUpti_ActivityKernel8::localMemoryTotal [inherited]

  The total amount of local memory reserved for the kernel, in bytes (deprecated in CUDA 11.8). Refer field localMemoryTotal_v2

uint64_t CUpti_ActivityKernel8::localMemoryTotal_v2 [inherited]

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

const char * CUpti_ActivityKernel8::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.

CUaccessPolicyWindow * CUpti_ActivityKernel8::pAccessPolicyWindow [inherited]

  The pointer to the access policy window. The structure CUaccessPolicyWindow is defined in cuda.h.

uint8_t CUpti_ActivityKernel8::padding [inherited]

  Undefined. Reserved for internal use.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel8::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_ActivityKernel8::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_ActivityKernel8::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_ActivityKernel8::registersPerThread [inherited]

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

uint8_t CUpti_ActivityKernel8::requested [inherited]

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

void * CUpti_ActivityKernel8::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel8::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_ActivityKernel8::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_ActivityKernel8::sharedMemoryExecuted [inherited]

  Shared memory size set by the driver.

CUpti_FuncShmemLimitConfig CUpti_ActivityKernel8::shmemLimitConfig [inherited]

  The shared memory limit config for the kernel. This field shows whether user has opted for a higher per block limit of dynamic shared memory.

uint64_t CUpti_ActivityKernel8::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_ActivityKernel8::staticSharedMemory [inherited]

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

uint32_t CUpti_ActivityKernel8::streamId [inherited]

  The ID of the stream where the kernel is executing.

uint64_t CUpti_ActivityKernel8::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.

### 6.44. CUpti_ActivityKernel9 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_ActivityKernel9::@19 cacheConfig
uint32_t channelID
CUpti_ChannelType channelType
uint32_t clusterSchedulingPolicy
uint32_t clusterX
uint32_t clusterY
uint32_t clusterZ
uint64_t completed
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
int32_t dynamicSharedMemory
uint64_t end
uint8_t executed
uint32_t graphId
uint64_t graphNodeId
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
uint64_t localMemoryTotal_v2
uint32_t maxActiveClusters
uint32_t maxPotentialClusterSize
const char * name
CUaccessPolicyWindow * pAccessPolicyWindow
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
CUpti_FuncShmemLimitConfig shmemLimitConfig
uint64_t start
int32_t staticSharedMemory
uint32_t streamId
uint64_t submitted

#### Variables

int32_t CUpti_ActivityKernel9::blockX [inherited]

  The X-dimension block size for the kernel.

int32_t CUpti_ActivityKernel9::blockY [inherited]

  The Y-dimension block size for the kernel.

int32_t CUpti_ActivityKernel9::blockZ [inherited]

  The Z-dimension grid size for the kernel.

CUpti_ActivityKernel9::@19 CUpti_ActivityKernel9::cacheConfig [inherited]

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

uint32_t CUpti_ActivityKernel9::channelID [inherited]

  The ID of the HW channel on which the kernel is launched.

CUpti_ChannelType CUpti_ActivityKernel9::channelType [inherited]

  The type of the channel

uint32_t CUpti_ActivityKernel9::clusterSchedulingPolicy [inherited]

  The cluster scheduling policy for the kernel. Refer CUclusterSchedulingPolicy Field is valid for devices with compute capability 9.0 and higher

uint32_t CUpti_ActivityKernel9::clusterX [inherited]

  The X-dimension cluster size for the kernel. Field is valid for devices with compute capability 9.0 and higher

uint32_t CUpti_ActivityKernel9::clusterY [inherited]

  The Y-dimension cluster size for the kernel. Field is valid for devices with compute capability 9.0 and higher

uint32_t CUpti_ActivityKernel9::clusterZ [inherited]

  The Z-dimension cluster size for the kernel. Field is valid for devices with compute capability 9.0 and higher

uint64_t CUpti_ActivityKernel9::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_ActivityKernel9::contextId [inherited]

  The ID of the context where the kernel is executing.

uint32_t CUpti_ActivityKernel9::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_ActivityKernel9::deviceId [inherited]

  The ID of the device where the kernel is executing.

int32_t CUpti_ActivityKernel9::dynamicSharedMemory [inherited]

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

uint64_t CUpti_ActivityKernel9::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_ActivityKernel9::executed [inherited]

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

uint32_t CUpti_ActivityKernel9::graphId [inherited]

  The unique ID of the graph that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

uint64_t CUpti_ActivityKernel9::graphNodeId [inherited]

  The unique ID of the graph node that launched this kernel through graph launch APIs. This field will be 0 if the kernel is not launched through graph launch APIs.

int64_t CUpti_ActivityKernel9::gridId [inherited]

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

int32_t CUpti_ActivityKernel9::gridX [inherited]

  The X-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel9::gridY [inherited]

  The Y-dimension grid size for the kernel.

int32_t CUpti_ActivityKernel9::gridZ [inherited]

  The Z-dimension grid size for the kernel.

uint8_t CUpti_ActivityKernel9::isSharedMemoryCarveoutRequested [inherited]

  This indicates if CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT was updated for the kernel launch

CUpti_ActivityKind CUpti_ActivityKernel9::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL.

uint8_t CUpti_ActivityKernel9::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_ActivityKernel9::localMemoryPerThread [inherited]

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

uint32_t CUpti_ActivityKernel9::localMemoryTotal [inherited]

  The total amount of local memory reserved for the kernel, in bytes (deprecated in CUDA 11.8). Refer field localMemoryTotal_v2

uint64_t CUpti_ActivityKernel9::localMemoryTotal_v2 [inherited]

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

uint32_t CUpti_ActivityKernel9::maxActiveClusters [inherited]

  The maximum clusters that could co-exist on the target device for the kernel

uint32_t CUpti_ActivityKernel9::maxPotentialClusterSize [inherited]

  The maximum cluster size for the kernel

const char * CUpti_ActivityKernel9::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.

CUaccessPolicyWindow * CUpti_ActivityKernel9::pAccessPolicyWindow [inherited]

  The pointer to the access policy window. The structure CUaccessPolicyWindow is defined in cuda.h.

uint8_t CUpti_ActivityKernel9::padding [inherited]

  Undefined. Reserved for internal use.

CUpti_ActivityPartitionedGlobalCacheConfig CUpti_ActivityKernel9::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_ActivityKernel9::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_ActivityKernel9::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_ActivityKernel9::registersPerThread [inherited]

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

uint8_t CUpti_ActivityKernel9::requested [inherited]

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

void * CUpti_ActivityKernel9::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint8_t CUpti_ActivityKernel9::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_ActivityKernel9::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_ActivityKernel9::sharedMemoryExecuted [inherited]

  Shared memory size set by the driver.

CUpti_FuncShmemLimitConfig CUpti_ActivityKernel9::shmemLimitConfig [inherited]

  The shared memory limit config for the kernel. This field shows whether user has opted for a higher per block limit of dynamic shared memory.

uint64_t CUpti_ActivityKernel9::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_ActivityKernel9::staticSharedMemory [inherited]

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

uint32_t CUpti_ActivityKernel9::streamId [inherited]

  The ID of the stream where the kernel is executing.

uint64_t CUpti_ActivityKernel9::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.

### 6.45. 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.

### 6.46. 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.

### 6.47. 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.

### 6.48. 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.

### 6.49. CUpti_ActivityMemcpy3 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
uint64_t graphNodeId
CUpti_ActivityKind kind
void * reserved0
uint32_t runtimeCorrelationId
uint8_t srcKind
uint64_t start
uint32_t streamId

#### Variables

uint64_t CUpti_ActivityMemcpy3::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpy3::contextId [inherited]

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

uint8_t CUpti_ActivityMemcpy3::copyKind [inherited]

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

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpy3::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_ActivityMemcpy3::deviceId [inherited]

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

uint8_t CUpti_ActivityMemcpy3::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_ActivityMemcpy3::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_ActivityMemcpy3::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

uint64_t CUpti_ActivityMemcpy3::graphNodeId [inherited]

  The unique ID of the graph node that executed this memcpy through graph launch. This field will be 0 if the memcpy is not done through graph launch.

CUpti_ActivityKind CUpti_ActivityMemcpy3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY.

void * CUpti_ActivityMemcpy3::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpy3::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_ActivityMemcpy3::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_ActivityMemcpy3::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_ActivityMemcpy3::streamId [inherited]

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

### 6.50. CUpti_ActivityMemcpy4 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
uint32_t graphId
uint64_t graphNodeId
CUpti_ActivityKind kind
uint32_t padding
void * reserved0
uint32_t runtimeCorrelationId
uint8_t srcKind
uint64_t start
uint32_t streamId

#### Variables

uint64_t CUpti_ActivityMemcpy4::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpy4::contextId [inherited]

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

uint8_t CUpti_ActivityMemcpy4::copyKind [inherited]

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

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpy4::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_ActivityMemcpy4::deviceId [inherited]

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

uint8_t CUpti_ActivityMemcpy4::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_ActivityMemcpy4::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_ActivityMemcpy4::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMemcpy4::graphId [inherited]

  The unique ID of the graph that executed this memcpy through graph launch. This field will be 0 if the memcpy is not done through graph launch.

uint64_t CUpti_ActivityMemcpy4::graphNodeId [inherited]

  The unique ID of the graph node that executed this memcpy through graph launch. This field will be 0 if the memcpy is not done through graph launch.

CUpti_ActivityKind CUpti_ActivityMemcpy4::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY.

uint32_t CUpti_ActivityMemcpy4::padding [inherited]

  Undefined. Reserved for internal use.

void * CUpti_ActivityMemcpy4::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpy4::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_ActivityMemcpy4::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_ActivityMemcpy4::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_ActivityMemcpy4::streamId [inherited]

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

### 6.51. CUpti_ActivityMemcpy5 Struct Reference

### [CUPTI Activity API]

This activity record represents a memory copy (CUPTI_ACTIVITY_KIND_MEMCPY).

#### Public Variables

uint64_t bytes
uint32_t channelID
CUpti_ChannelType channelType
uint32_t contextId
uint8_t copyKind
uint32_t correlationId
uint32_t deviceId
uint8_t dstKind
uint64_t end
uint8_t flags
uint32_t graphId
uint64_t graphNodeId
CUpti_ActivityKind kind
uint32_t pad2
void * reserved0
uint32_t runtimeCorrelationId
uint8_t srcKind
uint64_t start
uint32_t streamId

#### Variables

uint64_t CUpti_ActivityMemcpy5::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpy5::channelID [inherited]

  The ID of the HW channel on which the memory copy is occuring.

CUpti_ChannelType CUpti_ActivityMemcpy5::channelType [inherited]

  The type of the channel

uint32_t CUpti_ActivityMemcpy5::contextId [inherited]

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

uint8_t CUpti_ActivityMemcpy5::copyKind [inherited]

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

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpy5::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_ActivityMemcpy5::deviceId [inherited]

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

uint8_t CUpti_ActivityMemcpy5::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_ActivityMemcpy5::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_ActivityMemcpy5::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMemcpy5::graphId [inherited]

  The unique ID of the graph that executed this memcpy through graph launch. This field will be 0 if the memcpy is not done through graph launch.

uint64_t CUpti_ActivityMemcpy5::graphNodeId [inherited]

  The unique ID of the graph node that executed this memcpy through graph launch. This field will be 0 if the memcpy is not done through graph launch.

CUpti_ActivityKind CUpti_ActivityMemcpy5::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY.

uint32_t CUpti_ActivityMemcpy5::pad2 [inherited]

  Reserved for internal use.

void * CUpti_ActivityMemcpy5::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpy5::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_ActivityMemcpy5::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_ActivityMemcpy5::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_ActivityMemcpy5::streamId [inherited]

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

### 6.52. CUpti_ActivityMemcpyPtoP Struct Reference

### [CUPTI Activity API]

This activity record represents a peer-to-peer memory copy (CUPTI_ACTIVITY_KIND_MEMCPY2) but is no longer generated by CUPTI. Peer-to-peer memory copy activities are now reported using the CUpti_ActivityMemcpyPtoP2 activity record..

#### 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_ActivityMemcpyPtoP::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpyPtoP::contextId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP::copyKind [inherited]

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

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpyPtoP::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_ActivityMemcpyPtoP::deviceId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP::dstContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP::dstDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP::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_ActivityMemcpyPtoP::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_ActivityMemcpyPtoP::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

CUpti_ActivityKind CUpti_ActivityMemcpyPtoP::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY2.

uint32_t CUpti_ActivityMemcpyPtoP::pad [inherited]

  Undefined. Reserved for internal use.

void * CUpti_ActivityMemcpyPtoP::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpyPtoP::srcContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP::srcDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP::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_ActivityMemcpyPtoP::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_ActivityMemcpyPtoP::streamId [inherited]

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

### 6.53. CUpti_ActivityMemcpyPtoP2 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
uint64_t graphNodeId
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_ActivityMemcpyPtoP2::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpyPtoP2::contextId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP2::copyKind [inherited]

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

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpyPtoP2::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_ActivityMemcpyPtoP2::deviceId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP2::dstContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP2::dstDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP2::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_ActivityMemcpyPtoP2::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_ActivityMemcpyPtoP2::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

uint64_t CUpti_ActivityMemcpyPtoP2::graphNodeId [inherited]

  The unique ID of the graph node that executed the memcpy through graph launch. This field will be 0 if memcpy is not done using graph launch.

CUpti_ActivityKind CUpti_ActivityMemcpyPtoP2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY2.

uint32_t CUpti_ActivityMemcpyPtoP2::pad [inherited]

  Undefined. Reserved for internal use.

void * CUpti_ActivityMemcpyPtoP2::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpyPtoP2::srcContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP2::srcDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP2::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_ActivityMemcpyPtoP2::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_ActivityMemcpyPtoP2::streamId [inherited]

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

### 6.54. CUpti_ActivityMemcpyPtoP3 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
uint32_t graphId
uint64_t graphNodeId
CUpti_ActivityKind kind
uint32_t pad
uint32_t padding
void * reserved0
uint32_t srcContextId
uint32_t srcDeviceId
uint8_t srcKind
uint64_t start
uint32_t streamId

#### Variables

uint64_t CUpti_ActivityMemcpyPtoP3::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpyPtoP3::contextId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP3::copyKind [inherited]

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

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpyPtoP3::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_ActivityMemcpyPtoP3::deviceId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP3::dstContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP3::dstDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP3::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_ActivityMemcpyPtoP3::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_ActivityMemcpyPtoP3::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMemcpyPtoP3::graphId [inherited]

  The unique ID of the graph that executed this memcpy through graph launch. This field will be 0 if the memcpy is not done through graph launch.

uint64_t CUpti_ActivityMemcpyPtoP3::graphNodeId [inherited]

  The unique ID of the graph node that executed the memcpy through graph launch. This field will be 0 if memcpy is not done using graph launch.

CUpti_ActivityKind CUpti_ActivityMemcpyPtoP3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY2.

uint32_t CUpti_ActivityMemcpyPtoP3::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpyPtoP3::padding [inherited]

  Undefined. Reserved for internal use.

void * CUpti_ActivityMemcpyPtoP3::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpyPtoP3::srcContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP3::srcDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP3::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_ActivityMemcpyPtoP3::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_ActivityMemcpyPtoP3::streamId [inherited]

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

### 6.55. CUpti_ActivityMemcpyPtoP4 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 channelID
CUpti_ChannelType channelType
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
uint32_t graphId
uint64_t graphNodeId
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_ActivityMemcpyPtoP4::bytes [inherited]

  The number of bytes transferred by the memory copy.

uint32_t CUpti_ActivityMemcpyPtoP4::channelID [inherited]

  The ID of the HW channel on which the memory copy is occuring.

CUpti_ChannelType CUpti_ActivityMemcpyPtoP4::channelType [inherited]

  The type of the channel

uint32_t CUpti_ActivityMemcpyPtoP4::contextId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP4::copyKind [inherited]

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

  See also:

  CUpti_ActivityMemcpyKind

uint32_t CUpti_ActivityMemcpyPtoP4::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_ActivityMemcpyPtoP4::deviceId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP4::dstContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP4::dstDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP4::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_ActivityMemcpyPtoP4::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_ActivityMemcpyPtoP4::flags [inherited]

  The flags associated with the memory copy.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMemcpyPtoP4::graphId [inherited]

  The unique ID of the graph that executed this memcpy through graph launch. This field will be 0 if the memcpy is not done through graph launch.

uint64_t CUpti_ActivityMemcpyPtoP4::graphNodeId [inherited]

  The unique ID of the graph node that executed the memcpy through graph launch. This field will be 0 if memcpy is not done using graph launch.

CUpti_ActivityKind CUpti_ActivityMemcpyPtoP4::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY2.

uint32_t CUpti_ActivityMemcpyPtoP4::pad [inherited]

  Undefined. Reserved for internal use.

void * CUpti_ActivityMemcpyPtoP4::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemcpyPtoP4::srcContextId [inherited]

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

uint32_t CUpti_ActivityMemcpyPtoP4::srcDeviceId [inherited]

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

uint8_t CUpti_ActivityMemcpyPtoP4::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_ActivityMemcpyPtoP4::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_ActivityMemcpyPtoP4::streamId [inherited]

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

### 6.56. CUpti_ActivityMemory Struct Reference

### [CUPTI Activity API]

This activity record represents a memory allocation and free operation (CUPTI_ACTIVITY_KIND_MEMORY). This activity record provides a single record for the memory allocation and memory release operations.

Note: It is recommended to move to the new activity record CUpti_ActivityMemory3 enabled using the kind CUPTI_ACTIVITY_KIND_MEMORY2. CUpti_ActivityMemory3 provides separate records for memory allocation and memory release operations. This allows to correlate the corresponding driver and runtime API activity record with the memory operation.

#### 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. If context is NULL, `contextId` is set to CUPTI_INVALID_CONTEXT_ID.

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.

### 6.57. CUpti_ActivityMemory2 Struct Reference

### [CUPTI Activity API]

This activity record represents a memory allocation and free operation (CUPTI_ACTIVITY_KIND_MEMORY2). This activity record provides separate records for memory allocation and memory release operations. This allows to correlate the corresponding driver and runtime API activity record with the memory operation.

Note: This activity record is an upgrade over CUpti_ActivityMemory enabled using the kind CUPTI_ACTIVITY_KIND_MEMORY. CUpti_ActivityMemory provides a single record for the memory allocation and memory release operations.

#### Public Variables

uint64_t PC
uint64_t address
uint64_t bytes
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
uint32_t isAsync
CUpti_ActivityKind kind
CUpti_ActivityMemoryKind memoryKind
CUpti_ActivityMemoryOperationType memoryOperationType
CUpti_ActivityMemory2::@2 memoryPoolConfig
CUpti_ActivityMemoryPoolType memoryPoolType
const char * name
uint64_t processId
uint32_t processId
uint64_t releaseThreshold
uint64_t size
uint32_t streamId
uint64_t timestamp

#### Variables

uint64_t CUpti_ActivityMemory2::PC [inherited]

  The program counter of the memory operation.

uint64_t CUpti_ActivityMemory2::address [inherited]

  The virtual address of the allocation.

  The base address of the memory pool.

uint64_t CUpti_ActivityMemory2::bytes [inherited]

  The number of bytes of memory allocated.

uint32_t CUpti_ActivityMemory2::contextId [inherited]

  The ID of the context. If context is NULL, `contextId` is set to CUPTI_INVALID_CONTEXT_ID.

uint32_t CUpti_ActivityMemory2::correlationId [inherited]

  The correlation ID of the memory operation. Each memory operation 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 operation.

uint32_t CUpti_ActivityMemory2::deviceId [inherited]

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

uint32_t CUpti_ActivityMemory2::isAsync [inherited]

  `isAsync` is set if memory operation happens through async memory APIs.

CUpti_ActivityKind CUpti_ActivityMemory2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY2

CUpti_ActivityMemoryKind CUpti_ActivityMemory2::memoryKind [inherited]

  The memory kind requested by the user, CUpti_ActivityMemoryKind.

CUpti_ActivityMemoryOperationType CUpti_ActivityMemory2::memoryOperationType [inherited]

  The memory operation requested by the user, CUpti_ActivityMemoryOperationType.

CUpti_ActivityMemory2::@2 CUpti_ActivityMemory2::memoryPoolConfig [inherited]

  The memory pool configuration used for the memory operations.

CUpti_ActivityMemoryPoolType CUpti_ActivityMemory2::memoryPoolType [inherited]

  The type of the memory pool, CUpti_ActivityMemoryPoolType

const char * CUpti_ActivityMemory2::name [inherited]

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

uint64_t CUpti_ActivityMemory2::processId [inherited]

  The processId of the memory pool. `processId` is valid if `memoryPoolType` is CUPTI_ACTIVITY_MEMORY_POOL_TYPE_IMPORTED, CUpti_ActivityMemoryPoolType.

uint32_t CUpti_ActivityMemory2::processId [inherited]

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

uint64_t CUpti_ActivityMemory2::releaseThreshold [inherited]

  The release threshold of the memory pool in bytes. `releaseThreshold` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemory2::size [inherited]

  The size of the memory pool in bytes. `size` is valid if `memoryPoolType` is CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint32_t CUpti_ActivityMemory2::streamId [inherited]

  The ID of the stream. If memory operation is not async, `streamId` is set to CUPTI_INVALID_STREAM_ID.

uint64_t CUpti_ActivityMemory2::timestamp [inherited]

  The start timestamp for the memory operation, in ns.

### 6.58. CUpti_ActivityMemory3 Struct Reference

### [CUPTI Activity API]

This activity record represents a memory allocation and free operation (CUPTI_ACTIVITY_KIND_MEMORY2). This activity record provides separate records for memory allocation and memory release operations. This allows to correlate the corresponding driver and runtime API activity record with the memory operation.

Note: This activity record is an upgrade over CUpti_ActivityMemory enabled using the kind CUPTI_ACTIVITY_KIND_MEMORY. CUpti_ActivityMemory provides a single record for the memory allocation and memory release operations.

#### Public Inner Classes

struct
PACKED_ALIGNMENT

#### Public Variables

uint64_t PC
uint64_t address
uint64_t bytes
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
uint32_t isAsync
CUpti_ActivityKind kind
CUpti_ActivityMemoryKind memoryKind
CUpti_ActivityMemoryOperationType memoryOperationType
struct CUpti_ActivityMemory3::​PACKED_ALIGNMENT memoryPoolConfig
const char * name
uint32_t processId
uint32_t streamId
uint64_t timestamp

#### Variables

uint64_t CUpti_ActivityMemory3::PC [inherited]

  The program counter of the memory operation.

uint64_t CUpti_ActivityMemory3::address [inherited]

  The virtual address of the allocation.

uint64_t CUpti_ActivityMemory3::bytes [inherited]

  The number of bytes of memory allocated.

uint32_t CUpti_ActivityMemory3::contextId [inherited]

  The ID of the context. If context is NULL, `contextId` is set to CUPTI_INVALID_CONTEXT_ID.

uint32_t CUpti_ActivityMemory3::correlationId [inherited]

  The correlation ID of the memory operation. Each memory operation 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 operation.

uint32_t CUpti_ActivityMemory3::deviceId [inherited]

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

uint32_t CUpti_ActivityMemory3::isAsync [inherited]

  `isAsync` is set if memory operation happens through async memory APIs.

CUpti_ActivityKind CUpti_ActivityMemory3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY2

CUpti_ActivityMemoryKind CUpti_ActivityMemory3::memoryKind [inherited]

  The memory kind requested by the user, CUpti_ActivityMemoryKind.

CUpti_ActivityMemoryOperationType CUpti_ActivityMemory3::memoryOperationType [inherited]

  The memory operation requested by the user, CUpti_ActivityMemoryOperationType.

struct CUpti_ActivityMemory3::​PACKED_ALIGNMENT CUpti_ActivityMemory3::memoryPoolConfig [inherited]

  The memory pool configuration used for the memory operations.

const char * CUpti_ActivityMemory3::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_ActivityMemory3::processId [inherited]

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

uint32_t CUpti_ActivityMemory3::streamId [inherited]

  The ID of the stream. If memory operation is not async, `streamId` is set to CUPTI_INVALID_STREAM_ID.

uint64_t CUpti_ActivityMemory3::timestamp [inherited]

  The start timestamp for the memory operation, in ns.

### 6.59. CUpti_ActivityMemory3::PACKED_ALIGNMENT Struct Reference

The memory pool configuration used for the memory operations.

#### Public Variables

uint64_t address
CUpti_ActivityMemoryPoolType memoryPoolType
uint64_t processId
uint64_t releaseThreshold
uint64_t size
uint64_t utilizedSize

#### Variables

uint64_t CUpti_ActivityMemory3::​PACKED_ALIGNMENT::address [inherited]

  The base address of the memory pool.

CUpti_ActivityMemoryPoolType CUpti_ActivityMemory3::​PACKED_ALIGNMENT::memoryPoolType [inherited]

  The type of the memory pool, CUpti_ActivityMemoryPoolType

uint64_t CUpti_ActivityMemory3::​PACKED_ALIGNMENT::processId [inherited]

  The processId of the memory pool. `processId` is valid if `memoryPoolType` is CUPTI_ACTIVITY_MEMORY_POOL_TYPE_IMPORTED, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemory3::​PACKED_ALIGNMENT::releaseThreshold [inherited]

  The release threshold of the memory pool in bytes. `releaseThreshold` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemory3::​PACKED_ALIGNMENT::size [inherited]

  The size of the memory pool in bytes. `size` is valid if `memoryPoolType` is CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemory3::​PACKED_ALIGNMENT::utilizedSize [inherited]

  The utilized size of the memory pool. `utilizedSize` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

### 6.60. CUpti_ActivityMemoryPool Struct Reference

### [CUPTI Activity API]

This activity record represents a memory pool creation, destruction and trimming (CUPTI_ACTIVITY_KIND_MEMORY_POOL). This activity record provides separate records for memory pool creation, destruction and triming operations. This allows to correlate the corresponding driver and runtime API activity record with the memory pool operation.

#### Public Variables

uint64_t address
uint32_t correlationId
uint32_t deviceId
CUpti_ActivityKind kind
CUpti_ActivityMemoryPoolOperationType memoryPoolOperationType
CUpti_ActivityMemoryPoolType memoryPoolType
size_t minBytesToKeep
uint32_t pad
uint32_t processId
uint64_t releaseThreshold
uint64_t size
uint64_t timestamp

#### Variables

uint64_t CUpti_ActivityMemoryPool::address [inherited]

  The virtual address of the allocation.

uint32_t CUpti_ActivityMemoryPool::correlationId [inherited]

  The correlation ID of the memory pool operation. Each memory pool operation 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 operation.

uint32_t CUpti_ActivityMemoryPool::deviceId [inherited]

  The ID of the device where the memory pool is created.

CUpti_ActivityKind CUpti_ActivityMemoryPool::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY_POOL

CUpti_ActivityMemoryPoolOperationType CUpti_ActivityMemoryPool::memoryPoolOperationType [inherited]

  The memory operation requested by the user, CUpti_ActivityMemoryPoolOperationType.

CUpti_ActivityMemoryPoolType CUpti_ActivityMemoryPool::memoryPoolType [inherited]

  The type of the memory pool, CUpti_ActivityMemoryPoolType

size_t CUpti_ActivityMemoryPool::minBytesToKeep [inherited]

  The minimum bytes to keep of the memory pool. `minBytesToKeep` is valid for CUPTI_ACTIVITY_MEMORY_POOL_OPERATION_TYPE_TRIMMED, CUpti_ActivityMemoryPoolOperationType

uint32_t CUpti_ActivityMemoryPool::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemoryPool::processId [inherited]

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

uint64_t CUpti_ActivityMemoryPool::releaseThreshold [inherited]

  The release threshold of the memory pool. `releaseThreshold` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemoryPool::size [inherited]

  The size of the memory pool operation in bytes. `size` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemoryPool::timestamp [inherited]

  The start timestamp for the memory operation, in ns.

### 6.61. CUpti_ActivityMemoryPool2 Struct Reference

### [CUPTI Activity API]

This activity record represents a memory pool creation, destruction and trimming (CUPTI_ACTIVITY_KIND_MEMORY_POOL). This activity record provides separate records for memory pool creation, destruction and triming operations. This allows to correlate the corresponding driver and runtime API activity record with the memory pool operation.

#### Public Variables

uint64_t address
uint32_t correlationId
uint32_t deviceId
CUpti_ActivityKind kind
CUpti_ActivityMemoryPoolOperationType memoryPoolOperationType
CUpti_ActivityMemoryPoolType memoryPoolType
size_t minBytesToKeep
uint32_t pad
uint32_t processId
uint64_t releaseThreshold
uint64_t size
uint64_t timestamp
uint64_t utilizedSize

#### Variables

uint64_t CUpti_ActivityMemoryPool2::address [inherited]

  The virtual address of the allocation.

uint32_t CUpti_ActivityMemoryPool2::correlationId [inherited]

  The correlation ID of the memory pool operation. Each memory pool operation 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 operation.

uint32_t CUpti_ActivityMemoryPool2::deviceId [inherited]

  The ID of the device where the memory pool is created.

CUpti_ActivityKind CUpti_ActivityMemoryPool2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY_POOL

CUpti_ActivityMemoryPoolOperationType CUpti_ActivityMemoryPool2::memoryPoolOperationType [inherited]

  The memory operation requested by the user, CUpti_ActivityMemoryPoolOperationType.

CUpti_ActivityMemoryPoolType CUpti_ActivityMemoryPool2::memoryPoolType [inherited]

  The type of the memory pool, CUpti_ActivityMemoryPoolType

size_t CUpti_ActivityMemoryPool2::minBytesToKeep [inherited]

  The minimum bytes to keep of the memory pool. `minBytesToKeep` is valid for CUPTI_ACTIVITY_MEMORY_POOL_OPERATION_TYPE_TRIMMED, CUpti_ActivityMemoryPoolOperationType

uint32_t CUpti_ActivityMemoryPool2::pad [inherited]

  Undefined. Reserved for internal use.

uint32_t CUpti_ActivityMemoryPool2::processId [inherited]

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

uint64_t CUpti_ActivityMemoryPool2::releaseThreshold [inherited]

  The release threshold of the memory pool. `releaseThreshold` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemoryPool2::size [inherited]

  The size of the memory pool operation in bytes. `size` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

uint64_t CUpti_ActivityMemoryPool2::timestamp [inherited]

  The start timestamp for the memory operation, in ns.

uint64_t CUpti_ActivityMemoryPool2::utilizedSize [inherited]

  The utilized size of the memory pool. `utilizedSize` is valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, CUpti_ActivityMemoryPoolType.

### 6.62. 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.

### 6.63. CUpti_ActivityMemset2 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
uint64_t graphNodeId
CUpti_ActivityKind kind
uint16_t memoryKind
void * reserved0
uint64_t start
uint32_t streamId
uint32_t value

#### Variables

uint64_t CUpti_ActivityMemset2::bytes [inherited]

  The number of bytes being set by the memory set.

uint32_t CUpti_ActivityMemset2::contextId [inherited]

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

uint32_t CUpti_ActivityMemset2::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_ActivityMemset2::deviceId [inherited]

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

uint64_t CUpti_ActivityMemset2::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_ActivityMemset2::flags [inherited]

  The flags associated with the memset.

  See also:

  CUpti_ActivityFlag

uint64_t CUpti_ActivityMemset2::graphNodeId [inherited]

  The unique ID of the graph node that executed this memset through graph launch. This field will be 0 if the memset is not executed through graph launch.

CUpti_ActivityKind CUpti_ActivityMemset2::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMSET.

uint16_t CUpti_ActivityMemset2::memoryKind [inherited]

  The memory kind of the memory set

  See also:

  CUpti_ActivityMemoryKind

void * CUpti_ActivityMemset2::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityMemset2::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_ActivityMemset2::streamId [inherited]

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

uint32_t CUpti_ActivityMemset2::value [inherited]

  The value being assigned to memory by the memory set.

### 6.64. CUpti_ActivityMemset3 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
uint32_t graphId
uint64_t graphNodeId
CUpti_ActivityKind kind
uint16_t memoryKind
uint32_t padding
void * reserved0
uint64_t start
uint32_t streamId
uint32_t value

#### Variables

uint64_t CUpti_ActivityMemset3::bytes [inherited]

  The number of bytes being set by the memory set.

uint32_t CUpti_ActivityMemset3::contextId [inherited]

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

uint32_t CUpti_ActivityMemset3::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_ActivityMemset3::deviceId [inherited]

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

uint64_t CUpti_ActivityMemset3::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_ActivityMemset3::flags [inherited]

  The flags associated with the memset.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMemset3::graphId [inherited]

  The unique ID of the graph that executed this memset through graph launch. This field will be 0 if the memset is not executed through graph launch.

uint64_t CUpti_ActivityMemset3::graphNodeId [inherited]

  The unique ID of the graph node that executed this memset through graph launch. This field will be 0 if the memset is not executed through graph launch.

CUpti_ActivityKind CUpti_ActivityMemset3::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMSET.

uint16_t CUpti_ActivityMemset3::memoryKind [inherited]

  The memory kind of the memory set

  See also:

  CUpti_ActivityMemoryKind

uint32_t CUpti_ActivityMemset3::padding [inherited]

  Undefined. Reserved for internal use.

void * CUpti_ActivityMemset3::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityMemset3::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_ActivityMemset3::streamId [inherited]

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

uint32_t CUpti_ActivityMemset3::value [inherited]

  The value being assigned to memory by the memory set.

### 6.65. CUpti_ActivityMemset4 Struct Reference

### [CUPTI Activity API]

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

#### Public Variables

uint64_t bytes
uint32_t channelID
CUpti_ChannelType channelType
uint32_t contextId
uint32_t correlationId
uint32_t deviceId
uint64_t end
uint16_t flags
uint32_t graphId
uint64_t graphNodeId
CUpti_ActivityKind kind
uint16_t memoryKind
uint32_t pad2
void * reserved0
uint64_t start
uint32_t streamId
uint32_t value

#### Variables

uint64_t CUpti_ActivityMemset4::bytes [inherited]

  The number of bytes being set by the memory set.

uint32_t CUpti_ActivityMemset4::channelID [inherited]

  The ID of the HW channel on which the memory set is occuring.

CUpti_ChannelType CUpti_ActivityMemset4::channelType [inherited]

  The type of the channel

uint32_t CUpti_ActivityMemset4::contextId [inherited]

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

uint32_t CUpti_ActivityMemset4::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_ActivityMemset4::deviceId [inherited]

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

uint64_t CUpti_ActivityMemset4::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_ActivityMemset4::flags [inherited]

  The flags associated with the memset.

  See also:

  CUpti_ActivityFlag

uint32_t CUpti_ActivityMemset4::graphId [inherited]

  The unique ID of the graph that executed this memset through graph launch. This field will be 0 if the memset is not executed through graph launch.

uint64_t CUpti_ActivityMemset4::graphNodeId [inherited]

  The unique ID of the graph node that executed this memset through graph launch. This field will be 0 if the memset is not executed through graph launch.

CUpti_ActivityKind CUpti_ActivityMemset4::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMSET.

uint16_t CUpti_ActivityMemset4::memoryKind [inherited]

  The memory kind of the memory set

  See also:

  CUpti_ActivityMemoryKind

uint32_t CUpti_ActivityMemset4::pad2 [inherited]

  Undefined. Reserved for internal use

void * CUpti_ActivityMemset4::reserved0 [inherited]

  Undefined. Reserved for internal use.

uint64_t CUpti_ActivityMemset4::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_ActivityMemset4::streamId [inherited]

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

uint32_t CUpti_ActivityMemset4::value [inherited]

  The value being assigned to memory by the memory set.

### 6.66. 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.

### 6.67. 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.

### 6.68. 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.

### 6.69. CUpti_ActivityName Struct Reference

### [CUPTI Activity API]

This activity record provides a name for a device, context, thread, etc. and other resource naming done via NVTX APIs (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.

### 6.70. 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::@30 idDev0
CUpti_ActivityNvLink::@31 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::@30 CUpti_ActivityNvLink::idDev0 [inherited]

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

CUpti_ActivityNvLink::@31 CUpti_ActivityNvLink::idDev1 [inherited]

  If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. CUpti_ActivityDevice4. 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

### 6.71. 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_ActivityNvLink4 activity record.

#### Public Variables

uint64_t bandwidth
uint32_t domainId
uint32_t flag
CUpti_ActivityNvLink2::@34 idDev0
CUpti_ActivityNvLink2::@35 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::@34 CUpti_ActivityNvLink2::idDev0 [inherited]

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

CUpti_ActivityNvLink2::@35 CUpti_ActivityNvLink2::idDev1 [inherited]

  If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. CUpti_ActivityDevice4. 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

### 6.72. 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. NvLink information are now reported using the CUpti_ActivityNvLink4 activity record.

#### Public Variables

uint64_t bandwidth
uint32_t domainId
uint32_t flag
CUpti_ActivityNvLink3::@38 idDev0
CUpti_ActivityNvLink3::@39 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::@38 CUpti_ActivityNvLink3::idDev0 [inherited]

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

CUpti_ActivityNvLink3::@39 CUpti_ActivityNvLink3::idDev1 [inherited]

  If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. CUpti_ActivityDevice4. 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

### 6.73. CUpti_ActivityNvLink4 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_ActivityNvLink4::@42 idDev0
CUpti_ActivityNvLink4::@43 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_ActivityNvLink4::bandwidth [inherited]

  Banwidth of NVLink in kbytes/sec

uint32_t CUpti_ActivityNvLink4::domainId [inherited]

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

uint32_t CUpti_ActivityNvLink4::flag [inherited]

  Flag gives capabilities of the link

  See also:

  CUpti_LinkFlag

CUpti_ActivityNvLink4::@42 CUpti_ActivityNvLink4::idDev0 [inherited]

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

CUpti_ActivityNvLink4::@43 CUpti_ActivityNvLink4::idDev1 [inherited]

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

uint32_t CUpti_ActivityNvLink4::index [inherited]

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

CUpti_ActivityKind CUpti_ActivityNvLink4::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_NVLINK.

uint32_t CUpti_ActivityNvLink4::nvlinkVersion [inherited]

  NvLink version.

uint8_t CUpti_ActivityNvLink4::nvswitchConnected [inherited]

  NVSwitch is connected as an intermediate node.

uint8_t CUpti_ActivityNvLink4::pad[7] [inherited]

  Undefined. reserved for internal use

uint32_t CUpti_ActivityNvLink4::physicalNvLinkCount [inherited]

  Number of physical NVLinks present between two devices.

int8_t CUpti_ActivityNvLink4::portDev0[CUPTI_MAX_NVLINK_PORTS] [inherited]

  Port numbers for maximum 32 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_ActivityNvLink4::portDev1[CUPTI_MAX_NVLINK_PORTS] [inherited]

  Port numbers for maximum 32 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_ActivityNvLink4::typeDev0 [inherited]

  Type of device 0 CUpti_DevType

CUpti_DevType CUpti_ActivityNvLink4::typeDev1 [inherited]

  Type of device 1 CUpti_DevType

### 6.74. 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.

### 6.75. 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

uint64_t async
uint64_t asyncMap
uint32_t cuContextId
uint32_t cuDeviceId
uint32_t cuProcessId
uint32_t cuStreamId
uint32_t cuThreadId
uint32_t deviceNumber
uint32_t deviceType
uint64_t end
uint32_t endLineNo
CUpti_OpenAccEventKind eventKind
uint32_t externalId
uint32_t funcEndLineNo
uint32_t funcLineNo
uint32_t implicit
CUpti_ActivityKind kind
uint32_t lineNo
CUpti_OpenAccConstructKind parentConstruct
uint64_t start
uint32_t threadId
uint32_t version

#### Variables

uint64_t CUpti_ActivityOpenAcc::async [inherited]

  Value of async() clause of the corresponding directive

uint64_t CUpti_ActivityOpenAcc::asyncMap [inherited]

  Internal asynchronous queue number used

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.

uint32_t CUpti_ActivityOpenAcc::deviceNumber [inherited]

  Device number

uint32_t CUpti_ActivityOpenAcc::deviceType [inherited]

  Device type

uint64_t CUpti_ActivityOpenAcc::end [inherited]

  CUPTI end timestamp

uint32_t CUpti_ActivityOpenAcc::endLineNo [inherited]

  For an OpenACC construct, this contains the line number of the end of the construct. A zero value means the line number is not known.

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.

uint32_t CUpti_ActivityOpenAcc::funcEndLineNo [inherited]

  The last line number of the function named in funcName. A zero value means the line number is not known.

uint32_t CUpti_ActivityOpenAcc::funcLineNo [inherited]

  The line number of the first line of the function named in funcName. A zero value means the line number is not known.

uint32_t CUpti_ActivityOpenAcc::implicit [inherited]

  1 for any implicit event, such as an implicit wait at a synchronous data construct 0 otherwise

CUpti_ActivityKind CUpti_ActivityOpenAcc::kind [inherited]

  The kind of this activity.

uint32_t CUpti_ActivityOpenAcc::lineNo [inherited]

  The line number of the directive or program construct or the starting line number of the OpenACC construct corresponding to the event. A zero value means the line number is not known.

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

uint32_t CUpti_ActivityOpenAcc::version [inherited]

  Version number

### 6.76. 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

### 6.77. CUpti_ActivityOpenAccLaunch Struct Reference

### [CUPTI Activity API]

(CUPTI_ACTIVITY_KIND_OPENACC_LAUNCH).

#### Public Variables

uint64_t async
uint64_t asyncMap
uint32_t cuContextId
uint32_t cuDeviceId
uint32_t cuProcessId
uint32_t cuStreamId
uint32_t cuThreadId
uint32_t deviceNumber
uint32_t deviceType
uint64_t end
uint32_t endLineNo
CUpti_OpenAccEventKind eventKind
uint32_t externalId
uint32_t funcEndLineNo
uint32_t funcLineNo
const char * funcName
uint32_t implicit
const char * kernelName
CUpti_ActivityKind kind
uint32_t lineNo
uint64_t numGangs
uint64_t numWorkers
uint32_t pad1
CUpti_OpenAccConstructKind parentConstruct
const char * srcFile
uint64_t start
uint32_t threadId
uint64_t vectorLength
uint32_t version

#### Variables

uint64_t CUpti_ActivityOpenAccLaunch::async [inherited]

  Value of async() clause of the corresponding directive

uint64_t CUpti_ActivityOpenAccLaunch::asyncMap [inherited]

  Internal asynchronous queue number used

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.

uint32_t CUpti_ActivityOpenAccLaunch::deviceNumber [inherited]

  Device number

uint32_t CUpti_ActivityOpenAccLaunch::deviceType [inherited]

  Device type

uint64_t CUpti_ActivityOpenAccLaunch::end [inherited]

  CUPTI end timestamp

uint32_t CUpti_ActivityOpenAccLaunch::endLineNo [inherited]

  For an OpenACC construct, this contains the line number of the end of the construct. A negative or zero value means the line number is not known.

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.

uint32_t CUpti_ActivityOpenAccLaunch::funcEndLineNo [inherited]

  The last line number of the function named in func_name. A negative or zero value means the line number is not known.

uint32_t CUpti_ActivityOpenAccLaunch::funcLineNo [inherited]

  The line number of the first line of the function named in func_name. A negative or zero value means the line number is not known.

const char * CUpti_ActivityOpenAccLaunch::funcName [inherited]

  A pointer to a null-terminated string containing the name of the function in which the event occurred.

uint32_t CUpti_ActivityOpenAccLaunch::implicit [inherited]

  1 for any implicit event, such as an implicit wait at a synchronous data construct 0 otherwise

const char * CUpti_ActivityOpenAccLaunch::kernelName [inherited]

  A pointer to null-terminated string containing the name of the kernel being launched, if known, or a null pointer if not.

CUpti_ActivityKind CUpti_ActivityOpenAccLaunch::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_LAUNCH.

uint32_t CUpti_ActivityOpenAccLaunch::lineNo [inherited]

  The line number of the directive or program construct or the starting line number of the OpenACC construct corresponding to the event. A negative or zero value means the line number is not known.

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.

CUpti_OpenAccConstructKind CUpti_ActivityOpenAccLaunch::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.

const char * CUpti_ActivityOpenAccLaunch::srcFile [inherited]

  A pointer to null-terminated string containing the name of or path to the source file, if known, or a null pointer if not.

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

uint32_t CUpti_ActivityOpenAccLaunch::version [inherited]

  Version number

### 6.78. CUpti_ActivityOpenAccOther Struct Reference

### [CUPTI Activity API]

(CUPTI_ACTIVITY_KIND_OPENACC_OTHER).

#### Public Variables

uint64_t async
uint64_t asyncMap
uint32_t cuContextId
uint32_t cuDeviceId
uint32_t cuProcessId
uint32_t cuStreamId
uint32_t cuThreadId
uint32_t deviceNumber
uint32_t deviceType
uint64_t end
uint32_t endLineNo
CUpti_OpenAccEventKind eventKind
uint32_t externalId
uint32_t funcEndLineNo
uint32_t funcLineNo
const char * funcName
uint32_t implicit
CUpti_ActivityKind kind
uint32_t lineNo
CUpti_OpenAccConstructKind parentConstruct
const char * srcFile
uint64_t start
uint32_t threadId
uint32_t version

#### Variables

uint64_t CUpti_ActivityOpenAccOther::async [inherited]

  Value of async() clause of the corresponding directive

uint64_t CUpti_ActivityOpenAccOther::asyncMap [inherited]

  Internal asynchronous queue number used

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.

uint32_t CUpti_ActivityOpenAccOther::deviceNumber [inherited]

  Device number

uint32_t CUpti_ActivityOpenAccOther::deviceType [inherited]

  Device type

uint64_t CUpti_ActivityOpenAccOther::end [inherited]

  CUPTI end timestamp

uint32_t CUpti_ActivityOpenAccOther::endLineNo [inherited]

  For an OpenACC construct, this contains the line number of the end of the construct. A negative or zero value means the line number is not known.

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.

uint32_t CUpti_ActivityOpenAccOther::funcEndLineNo [inherited]

  The last line number of the function named in func_name. A negative or zero value means the line number is not known.

uint32_t CUpti_ActivityOpenAccOther::funcLineNo [inherited]

  The line number of the first line of the function named in func_name. A negative or zero value means the line number is not known.

const char * CUpti_ActivityOpenAccOther::funcName [inherited]

  A pointer to a null-terminated string containing the name of the function in which the event occurred.

uint32_t CUpti_ActivityOpenAccOther::implicit [inherited]

  1 for any implicit event, such as an implicit wait at a synchronous data construct 0 otherwise

CUpti_ActivityKind CUpti_ActivityOpenAccOther::kind [inherited]

  The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_OTHER.

uint32_t CUpti_ActivityOpenAccOther::lineNo [inherited]

  The line number of the directive or program construct or the starting line number of the OpenACC construct corresponding to the event. A negative or zero value means the line number is not known.

CUpti_OpenAccConstructKind CUpti_ActivityOpenAccOther::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.

const char * CUpti_ActivityOpenAccOther::srcFile [inherited]

  A pointer to null-terminated string containing the name of or path to the source file, if known, or a null pointer if not.

uint64_t CUpti_ActivityOpenAccOther::start [inherited]

  CUPTI start timestamp

uint32_t CUpti_ActivityOpenAccOther::threadId [inherited]

  ThreadId

uint32_t CUpti_ActivityOpenAccOther::version [inherited]

  Version number

### 6.79. 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
uint32_t version

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

uint32_t CUpti_ActivityOpenMp::version [inherited]

  Version number

### 6.80. 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.

### 6.81. 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::@47 attr
uint32_t bridgeId
CUdevice devId
uint16_t deviceId
uint32_t domain
CUpti_ActivityPcie::@46 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::@47 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::@46 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_ActivityDevice4.

uint16_t CUpti_ActivityPcie::vendorId [inherited]

  Vendor ID of the bridge

### 6.82. 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

### 6.83. 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

### 6.84. 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

### 6.85. CUpti_ActivityPCSamplingConfig Struct Reference

### [CUPTI Activity API]

This structure defines the pc sampling configuration.

See function 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 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.

### 6.86. 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.

### 6.87. 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.

### 6.88. 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.

### 6.89. 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 .

### 6.90. 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.

### 6.91. 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.

### 6.92. 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 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 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

### 6.93. 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.

### 6.94. 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 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)

### 6.95. 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.

### 6.96. 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.

### 6.97. 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.

### 6.98. CUpti_GetCubinCrcParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

const void * cubin
uint64_t cubinCrc
size_t cubinSize
size_t size

#### Variables

const void * CUpti_GetCubinCrcParams::cubin [inherited]

  [w] Pointer to cubin binary

uint64_t CUpti_GetCubinCrcParams::cubinCrc [inherited]

  [r] Computed CRC will be stored in it.

size_t CUpti_GetCubinCrcParams::cubinSize [inherited]

  [w] Size of cubin binary.

size_t CUpti_GetCubinCrcParams::size [inherited]

  [w] 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.

### 6.99. CUpti_GetSassToSourceCorrelationParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

const void * cubin
size_t cubinSize
char * dirName
char * fileName
const char * functionName
uint32_t lineNumber
uint64_t pcOffset
size_t size

#### Variables

const void * CUpti_GetSassToSourceCorrelationParams::cubin [inherited]

  [w] Pointer to cubin binary where function belongs.

size_t CUpti_GetSassToSourceCorrelationParams::cubinSize [inherited]

  [w] Size of cubin binary.

char * CUpti_GetSassToSourceCorrelationParams::dirName [inherited]

  [r] Path for the directory of source file.

char * CUpti_GetSassToSourceCorrelationParams::fileName [inherited]

  [r] Path for the source file.

const char * CUpti_GetSassToSourceCorrelationParams::functionName [inherited]

  [w] Function name to which PC belongs.

uint32_t CUpti_GetSassToSourceCorrelationParams::lineNumber [inherited]

  [r] Line number in the source code.

uint64_t CUpti_GetSassToSourceCorrelationParams::pcOffset [inherited]

  [w] PC offset

size_t CUpti_GetSassToSourceCorrelationParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_GetSassToSourceCorrelationParamsSize 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.

### 6.100. 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
CUgraphNode originalNode

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

CUgraphNode CUpti_GraphData::originalNode [inherited]

  The original CUDA graph node from which

### 6.101. 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.

### 6.102. 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.

### 6.103. 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
const void * functionReturnValue

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

const void * CUpti_NvtxData::functionReturnValue [inherited]

  Pointer to the return value of the NVTX API call. See nvToolsExt.h for each NVTX API function's return value.

### 6.104. CUpti_PCSamplingConfigurationInfo Struct Reference

### [CUPTI PC Sampling API]

This structure provides CUpti_PCSamplingConfigurationAttributeType which can be configured or queried for PC sampling configuration

#### Public Variables

CUpti_PCSamplingConfigurationAttributeType attributeType
CUpti_PCSamplingConfigurationInfo::@51::@57 collectionModeData
CUpti_PCSamplingConfigurationInfo::@51::@58 enableStartStopControlData
CUpti_PCSamplingConfigurationInfo::@51::@56 hardwareBufferSizeData
CUpti_PCSamplingConfigurationInfo::@51::@52 invalidData
CUpti_PCSamplingConfigurationInfo::@51::@59 outputDataFormatData
CUpti_PCSamplingConfigurationInfo::@51::@60 samplingDataBufferData
CUpti_PCSamplingConfigurationInfo::@51::@53 samplingPeriodData
CUpti_PCSamplingConfigurationInfo::@51::@55 scratchBufferSizeData
CUpti_PCSamplingConfigurationInfo::@51::@54 stallReasonData
CUpti_PCSamplingConfigurationInfo::@51::@61 workerThreadPeriodicSleepSpanData

#### Variables

CUpti_PCSamplingConfigurationAttributeType CUpti_PCSamplingConfigurationInfo::attributeType [inherited]

  Refer CUpti_PCSamplingConfigurationAttributeType for all supported attribute types

CUpti_PCSamplingConfigurationInfo::@51::@57 CUpti_PCSamplingConfigurationInfo::collectionModeData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_COLLECTION_MODE

CUpti_PCSamplingConfigurationInfo::@51::@58 CUpti_PCSamplingConfigurationInfo::enableStartStopControlData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_ENABLE_START_STOP_CONTROL

CUpti_PCSamplingConfigurationInfo::@51::@56 CUpti_PCSamplingConfigurationInfo::hardwareBufferSizeData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_HARDWARE_BUFFER_SIZE

CUpti_PCSamplingConfigurationInfo::@51::@52 CUpti_PCSamplingConfigurationInfo::invalidData [inherited]

  Invalid Value

CUpti_PCSamplingConfigurationInfo::@51::@59 CUpti_PCSamplingConfigurationInfo::outputDataFormatData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_OUTPUT_DATA_FORMAT

CUpti_PCSamplingConfigurationInfo::@51::@60 CUpti_PCSamplingConfigurationInfo::samplingDataBufferData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SAMPLING_DATA_BUFFER

CUpti_PCSamplingConfigurationInfo::@51::@53 CUpti_PCSamplingConfigurationInfo::samplingPeriodData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SAMPLING_PERIOD

CUpti_PCSamplingConfigurationInfo::@51::@55 CUpti_PCSamplingConfigurationInfo::scratchBufferSizeData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SCRATCH_BUFFER_SIZE

CUpti_PCSamplingConfigurationInfo::@51::@54 CUpti_PCSamplingConfigurationInfo::stallReasonData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_STALL_REASON

CUpti_PCSamplingConfigurationInfo::@51::@61 CUpti_PCSamplingConfigurationInfo::workerThreadPeriodicSleepSpanData [inherited]

  Refer CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_WORKER_THREAD_PERIODIC_SLEEP_SPAN

### 6.105. CUpti_PCSamplingConfigurationInfoParams Struct Reference

### [CUPTI PC Sampling API]

This structure configures PC sampling using cuptiPCSamplingSetConfigurationAttribute and queries PC sampling default configuration using cuptiPCSamplingGetConfigurationAttribute

#### Public Variables

CUcontext ctx
size_t numAttributes
CUpti_PCSamplingConfigurationInfo * pPCSamplingConfigurationInfo
void * pPriv
size_t size

#### Variables

CUcontext CUpti_PCSamplingConfigurationInfoParams::ctx [inherited]

  [w] CUcontext

size_t CUpti_PCSamplingConfigurationInfoParams::numAttributes [inherited]

  [w] Number of attributes to configure using cuptiPCSamplingSetConfigurationAttribute or query using cuptiPCSamplingGetConfigurationAttribute

CUpti_PCSamplingConfigurationInfo * CUpti_PCSamplingConfigurationInfoParams::pPCSamplingConfigurationInfo [inherited]

  Refer CUpti_PCSamplingConfigurationInfo

void * CUpti_PCSamplingConfigurationInfoParams::pPriv [inherited]

  [w] Assign to NULL

size_t CUpti_PCSamplingConfigurationInfoParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingConfigurationInfoParamsSize 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.

### 6.106. CUpti_PCSamplingData Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

size_t collectNumPcs
uint64_t droppedSamples
uint8_t hardwareBufferFull
uint64_t nonUsrKernelsTotalSamples
CUpti_PCSamplingPCData * pPcData
  collectNumPcs
uint64_t rangeId
size_t remainingNumPcs
size_t size
size_t totalNumPcs
uint64_t totalSamples

#### Variables

size_t CUpti_PCSamplingData::collectNumPcs [inherited]

  [w] Number of PCs to be collected

uint64_t CUpti_PCSamplingData::droppedSamples [inherited]

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

uint8_t CUpti_PCSamplingData::hardwareBufferFull [inherited]

  [r] Status of the hardware buffer. CUPTI returns the error code CUPTI_ERROR_OUT_OF_MEMORY when hardware buffer is full. When hardware buffer is full, user will get pc data as 0. To mitigate this issue, one or more of the below options can be tried: 1. Increase the hardware buffer size using the attribute CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_HARDWARE_BUFFER_SIZE 2. Decrease the thread sleep span using the attribute CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_WORKER_THREAD_PERIODIC_SLEEP_SPAN 3. Decrease the sampling frequency using the attribute CUPTI_PC_SAMPLING_CONFIGURATION_ATTR_TYPE_SAMPLING_PERIOD

uint64_t CUpti_PCSamplingData::nonUsrKernelsTotalSamples [inherited]

  [r] Number of samples collected across all non user kernels PCs. It includes samples for non-user kernels. It includes counts for all non selected stall reasons as well. CUPTI does not provide PC records for non-user kernels.

CUpti_PCSamplingPCData * CUpti_PCSamplingData::pPcData [inherited]

  collectNumPcs [r] Profiled PC data This data struct should have enough memory to collect number of PCs mentioned in

uint64_t CUpti_PCSamplingData::rangeId [inherited]

  [r] Unique identifier for each range. Data collected across multiple ranges in multiple buffers can be identified using range id.

size_t CUpti_PCSamplingData::remainingNumPcs [inherited]

  [r] Number of PCs available for collection

size_t CUpti_PCSamplingData::size [inherited]

  [w] Size of the data 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.

size_t CUpti_PCSamplingData::totalNumPcs [inherited]

  [r] Number of PCs collected

uint64_t CUpti_PCSamplingData::totalSamples [inherited]

  [r] Number of samples collected across all PCs. It includes samples for user modules, samples for non-user kernels and dropped samples. It includes counts for all non selected stall reasons. CUPTI does not provide PC records for non-user kernels. CUPTI does not provide PC records for instructions for which all selected stall reason metrics counts are zero.

### 6.107. CUpti_PCSamplingDisableParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

CUcontext ctx
void * pPriv
size_t size

#### Variables

CUcontext CUpti_PCSamplingDisableParams::ctx [inherited]

  [w] CUcontext

void * CUpti_PCSamplingDisableParams::pPriv [inherited]

  [w] Assign to NULL

size_t CUpti_PCSamplingDisableParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingDisableParamsSize 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.

### 6.108. CUpti_PCSamplingEnableParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

CUcontext ctx
void * pPriv
size_t size

#### Variables

CUcontext CUpti_PCSamplingEnableParams::ctx [inherited]

  [w] CUcontext

void * CUpti_PCSamplingEnableParams::pPriv [inherited]

  [w] Assign to NULL

size_t CUpti_PCSamplingEnableParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingEnableParamsSize 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.

### 6.109. CUpti_PCSamplingGetDataParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

CUcontext ctx
void * pPriv
void * pcSamplingData
size_t size

#### Variables

CUcontext CUpti_PCSamplingGetDataParams::ctx [inherited]

  [w] CUcontext

void * CUpti_PCSamplingGetDataParams::pPriv [inherited]

  [w] Assign to NULL

void * CUpti_PCSamplingGetDataParams::pcSamplingData [inherited]

size_t CUpti_PCSamplingGetDataParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingGetDataParamsSize 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.

### 6.110. CUpti_PCSamplingGetNumStallReasonsParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

CUcontext ctx
size_t * numStallReasons
void * pPriv
size_t size

#### Variables

CUcontext CUpti_PCSamplingGetNumStallReasonsParams::ctx [inherited]

  [w] CUcontext

size_t * CUpti_PCSamplingGetNumStallReasonsParams::numStallReasons [inherited]

  [r] Number of stall reasons

void * CUpti_PCSamplingGetNumStallReasonsParams::pPriv [inherited]

  [w] Assign to NULL

size_t CUpti_PCSamplingGetNumStallReasonsParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingGetNumStallReasonsParamsSize 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.

### 6.111. CUpti_PCSamplingGetStallReasonsParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

CUcontext ctx
size_t numStallReasons
void * pPriv
size_t size
uint32_t * stallReasonIndex
* stallReasons

#### Variables

CUcontext CUpti_PCSamplingGetStallReasonsParams::ctx [inherited]

  [w] CUcontext

size_t CUpti_PCSamplingGetStallReasonsParams::numStallReasons [inherited]

  [w] Number of stall reasons

void * CUpti_PCSamplingGetStallReasonsParams::pPriv [inherited]

  [w] Assign to NULL

size_t CUpti_PCSamplingGetStallReasonsParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingGetStallReasonsParamsSize 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.

uint32_t * CUpti_PCSamplingGetStallReasonsParams::stallReasonIndex [inherited]

  [r] Stall reason index

* CUpti_PCSamplingGetStallReasonsParams::stallReasons [inherited]

  [r] Stall reasons name

### 6.112. CUpti_PCSamplingPCData Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

uint64_t cubinCrc
uint32_t functionIndex
char * functionName
uint32_t pad
uint64_t pcOffset
size_t size
CUpti_PCSamplingStallReason * stallReason
size_t stallReasonCount

#### Variables

uint64_t CUpti_PCSamplingPCData::cubinCrc [inherited]

  [r] Unique cubin id

uint32_t CUpti_PCSamplingPCData::functionIndex [inherited]

  The function's unique symbol index in the module.

char * CUpti_PCSamplingPCData::functionName [inherited]

  [r] The function name. This name string might be shared across all the records including records from activity APIs representing the same function, and so it should not be modified or freed until post processing of all the records is done. Once done, it is user’s responsibility to free the memory using free() function.

uint32_t CUpti_PCSamplingPCData::pad [inherited]

  Padding

uint64_t CUpti_PCSamplingPCData::pcOffset [inherited]

  [r] PC offset

size_t CUpti_PCSamplingPCData::size [inherited]

  [w] Size of the data 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.

CUpti_PCSamplingStallReason * CUpti_PCSamplingPCData::stallReason [inherited]

  [r] Stall reason id Total samples

size_t CUpti_PCSamplingPCData::stallReasonCount [inherited]

  [r] Collected stall reason count

### 6.113. CUpti_PCSamplingStallReason Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

uint32_t pcSamplingStallReasonIndex
uint32_t samples

#### Variables

uint32_t CUpti_PCSamplingStallReason::pcSamplingStallReasonIndex [inherited]

  [r] Collected stall reason index

uint32_t CUpti_PCSamplingStallReason::samples [inherited]

  [r] Number of times the PC was sampled with the stallReason.

### 6.114. CUpti_PCSamplingStartParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

CUcontext ctx
void * pPriv
size_t size

#### Variables

CUcontext CUpti_PCSamplingStartParams::ctx [inherited]

  [w] CUcontext

void * CUpti_PCSamplingStartParams::pPriv [inherited]

  [w] Assign to NULL

size_t CUpti_PCSamplingStartParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingStartParamsSize 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.

### 6.115. CUpti_PCSamplingStopParams Struct Reference

### [CUPTI PC Sampling API]

#### Public Variables

CUcontext ctx
void * pPriv
size_t size

#### Variables

CUcontext CUpti_PCSamplingStopParams::ctx [inherited]

  [w] CUcontext

void * CUpti_PCSamplingStopParams::pPriv [inherited]

  [w] Assign to NULL

size_t CUpti_PCSamplingStopParams::size [inherited]

  [w] Size of the data structure i.e. CUpti_PCSamplingStopParamsSize 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.

### 6.116. CUpti_Profiler_BeginPass_Params Struct Reference

### [CUPTI Profiling 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

### 6.117. CUpti_Profiler_BeginSession_Params Struct Reference

### [CUPTI Profiling 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

### 6.118. CUpti_Profiler_CounterDataImage_CalculateScratchBufferSize_Params Struct Reference

### [CUPTI Profiling 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

### 6.119. CUpti_Profiler_CounterDataImage_CalculateSize_Params Struct Reference

### [CUPTI Profiling API]

#### Public Variables

size_t counterDataImageSize
  [out]
const CUpti_Profiler_CounterDataImageOptions * pOptions
  [in] Pointer to Counter Data Image Options
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 Counter Data Image Options

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

### 6.120. CUpti_Profiler_CounterDataImage_Initialize_Params Struct Reference

### [CUPTI Profiling 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 Counter Data Image Options
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 Counter Data Image Options

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

### 6.121. CUpti_Profiler_CounterDataImage_InitializeScratchBuffer_Params Struct Reference

### [CUPTI Profiling 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

### 6.122. CUpti_Profiler_CounterDataImageOptions Struct Reference

### [CUPTI Profiling 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

### 6.123. CUpti_Profiler_DeInitialize_Params Struct Reference

### [CUPTI Profiling 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

### 6.124. CUpti_Profiler_DeviceSupported_Params Struct Reference

### [CUPTI Profiling API]

#### Public Variables

CUpti_Profiler_Support_Level architecture
  [out] SUPPORTED if the device architecture level supports the Profiling API (Compute Capability >= 7.0), UNSUPPORTED otherwise
CUpti_Profiler_Support_Level cmp
  [out] SUPPORTED if not NVIDIA Crypto Mining Processors (CMP), UNSUPPORTED otherwise
CUpti_Profiler_Support_Level confidentialCompute
  [out] SUPPORTED if confidential compute is not enabled, UNSUPPORTED otherwise
CUdevice cuDevice
  [in] if NULL, the current CUcontext is used
CUpti_Profiler_Support_Level isSupported
  [out] overall SUPPORTED / UNSUPPORTED flag representing whether Profiling and PC Sampling APIs work on the given device and configuration. SUPPORTED if all following flags are SUPPORTED, UNSUPPORTED otherwise.
void * pPriv
  [in] assign to NULL
CUpti_Profiler_Support_Level sli
  [out] SUPPORTED if SLI is not enabled, UNSUPPORTED otherwise
size_t structSize
  [in] Must be CUpti_Profiler_DeviceSupported_Params_STRUCT_SIZE
CUpti_Profiler_Support_Level vGpu
  [out] SUPPORTED if vGPU is supported and profiling is enabled, DISABLED if profiling is supported but not enabled, UNSUPPORTED otherwise
CUpti_Profiler_Support_Level wsl
  [out] SUPPORTED if WSL supported, UNSUPPORTED otherwise

#### Variables

CUpti_Profiler_Support_Level CUpti_Profiler_DeviceSupported_Params::architecture [inherited]

  [out] SUPPORTED if the device architecture level supports the Profiling API (Compute Capability >= 7.0), UNSUPPORTED otherwise

CUpti_Profiler_Support_Level CUpti_Profiler_DeviceSupported_Params::cmp [inherited]

  [out] SUPPORTED if not NVIDIA Crypto Mining Processors (CMP), UNSUPPORTED otherwise

CUpti_Profiler_Support_Level CUpti_Profiler_DeviceSupported_Params::confidentialCompute [inherited]

  [out] SUPPORTED if confidential compute is not enabled, UNSUPPORTED otherwise

CUdevice CUpti_Profiler_DeviceSupported_Params::cuDevice [inherited]

  [in] if NULL, the current CUcontext is used

CUpti_Profiler_Support_Level CUpti_Profiler_DeviceSupported_Params::isSupported [inherited]

  [out] overall SUPPORTED / UNSUPPORTED flag representing whether Profiling and PC Sampling APIs work on the given device and configuration. SUPPORTED if all following flags are SUPPORTED, UNSUPPORTED otherwise.

void * CUpti_Profiler_DeviceSupported_Params::pPriv [inherited]

  [in] assign to NULL

CUpti_Profiler_Support_Level CUpti_Profiler_DeviceSupported_Params::sli [inherited]

  [out] SUPPORTED if SLI is not enabled, UNSUPPORTED otherwise

size_t CUpti_Profiler_DeviceSupported_Params::structSize [inherited]

  [in] Must be CUpti_Profiler_DeviceSupported_Params_STRUCT_SIZE

CUpti_Profiler_Support_Level CUpti_Profiler_DeviceSupported_Params::vGpu [inherited]

  [out] SUPPORTED if vGPU is supported and profiling is enabled, DISABLED if profiling is supported but not enabled, UNSUPPORTED otherwise

CUpti_Profiler_Support_Level CUpti_Profiler_DeviceSupported_Params::wsl [inherited]

  [out] SUPPORTED if WSL supported, UNSUPPORTED otherwise

### 6.125. CUpti_Profiler_DisableProfiling_Params Struct Reference

### [CUPTI Profiling 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

### 6.126. CUpti_Profiler_EnableProfiling_Params Struct Reference

### [CUPTI Profiling 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

### 6.127. CUpti_Profiler_EndPass_Params Struct Reference

### [CUPTI Profiling 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

### 6.128. CUpti_Profiler_EndSession_Params Struct Reference

### [CUPTI Profiling 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

### 6.129. CUpti_Profiler_FlushCounterData_Params Struct Reference

### [CUPTI Profiling 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

### 6.130. CUpti_Profiler_GetCounterAvailability_Params Struct Reference

### [CUPTI Profiling API]

#### Public Variables

size_t counterAvailabilityImageSize
CUcontext ctx
  [in] if NULL, the current CUcontext is used
uint8_t * pCounterAvailabilityImage
  [in] buffer receiving counter availability image, may be NULL
void * pPriv
  [in] assign to NULL
size_t structSize
  [in] CUpti_Profiler_GetCounterAvailability_Params_STRUCT_SIZE

#### Variables

size_t CUpti_Profiler_GetCounterAvailability_Params::counterAvailabilityImageSize [inherited]

  [in/out] If `pCounterAvailabilityImage` is NULL, then the required size is returned in `counterAvailabilityImageSize`, otherwise `counterAvailabilityImageSize` should be set to the size of `pCounterAvailabilityImage`, and on return it would be overwritten with number of actual bytes copied

CUcontext CUpti_Profiler_GetCounterAvailability_Params::ctx [inherited]

  [in] if NULL, the current CUcontext is used

uint8_t * CUpti_Profiler_GetCounterAvailability_Params::pCounterAvailabilityImage [inherited]

  [in] buffer receiving counter availability image, may be NULL

void * CUpti_Profiler_GetCounterAvailability_Params::pPriv [inherited]

  [in] assign to NULL

size_t CUpti_Profiler_GetCounterAvailability_Params::structSize [inherited]

  [in] CUpti_Profiler_GetCounterAvailability_Params_STRUCT_SIZE

### 6.131. CUpti_Profiler_Initialize_Params Struct Reference

### [CUPTI Profiling 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

### 6.132. CUpti_Profiler_IsPassCollected_Params Struct Reference

### [CUPTI Profiling 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

### 6.133. CUpti_Profiler_SetConfig_Params Struct Reference

### [CUPTI Profiling 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

### 6.134. CUpti_Profiler_UnsetConfig_Params Struct Reference

### [CUPTI Profiling 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

### 6.135. 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.

### 6.136. 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.

### 6.137. Header Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

uint32_t totalBuffers
uint32_t version

#### Variables

uint32_t Header::totalBuffers [inherited]

  Total number of buffers present in the file.

uint32_t Header::version [inherited]

  Version of file format.

### 6.138. NV::Cupti::Checkpoint::CUpti_Checkpoint Struct Reference

### [CUPTI Checkpoint API]

A CUptiCheckpoint object should be initialized with desired options prior to passing into any CUPTI Checkpoint API function. The first call into a Checkpoint API function will initialize internal state based on these options. Subsequent changes to these options will not have any effect.

Checkpoint data is saved in device, host, and filesystem space. There are options to reserve memory at each level (device, host, filesystem) which are intended to allow a guarantee that a certain amount of memory will remain free for use after the checkpoint is saved. Note, however, that falling back to slower levels of memory (host, and then filesystem) to save the checkpoint will result in performance degradation. Currently, the filesystem limitation is not implemented. Note that falling back to filesystem storage may significantly impact the performance for saving and restoring a checkpoint.

#### Public Variables

uint8_t allowOverwrite
  [in] Boolean, Allow checkpoint to save over existing checkpoint
CUcontext ctx
  [in] Set to context to save from, or will use current context if NULL
uint8_t optimizations
  [in] Mask of CUpti_CheckpointOptimizations flags for this checkpoint
void * pPriv
  [in] Assign to NULL
size_t reserveDeviceMB
  [in] Restrict checkpoint from using last N MB of device memory (-1 = use no device memory)
size_t reserveHostMB
  [in] Restrict checkpoint from using last N MB of host memory (-1 = use no host memory)
size_t structSize
  [in] Must be set to CUpti_Checkpoint_STRUCT_SIZE

#### Variables

uint8_t NV::​Cupti::​Checkpoint::​CUpti_Checkpoint::allowOverwrite [inherited]

  [in] Boolean, Allow checkpoint to save over existing checkpoint

CUcontext NV::​Cupti::​Checkpoint::​CUpti_Checkpoint::ctx [inherited]

  [in] Set to context to save from, or will use current context if NULL

uint8_t NV::​Cupti::​Checkpoint::​CUpti_Checkpoint::optimizations [inherited]

  [in] Mask of CUpti_CheckpointOptimizations flags for this checkpoint

void * NV::​Cupti::​Checkpoint::​CUpti_Checkpoint::pPriv [inherited]

  [in] Assign to NULL

size_t NV::​Cupti::​Checkpoint::​CUpti_Checkpoint::reserveDeviceMB [inherited]

  [in] Restrict checkpoint from using last N MB of device memory (-1 = use no device memory)

size_t NV::​Cupti::​Checkpoint::​CUpti_Checkpoint::reserveHostMB [inherited]

  [in] Restrict checkpoint from using last N MB of host memory (-1 = use no host memory)

size_t NV::​Cupti::​Checkpoint::​CUpti_Checkpoint::structSize [inherited]

  [in] Must be set to CUpti_Checkpoint_STRUCT_SIZE

### 6.139. PcSamplingStallReasons Struct Reference

### [CUPTI PC Sampling Utility API]

#### Public Variables

size_t numStallReasons
uint32_t * stallReasonIndex
* stallReasons

#### Variables

size_t PcSamplingStallReasons::numStallReasons [inherited]

  Number of all available stall reasons

uint32_t * PcSamplingStallReasons::stallReasonIndex [inherited]

  Stall reason index of all available stall reasons

* PcSamplingStallReasons::stallReasons [inherited]

  Stall reasons names of all available stall reasons