Device State Inspection

Enumerations

CUDBGBarrierScope

CUDA barrier scope.

CUDBGCbuThreadState

Thread state in the CBU (Convergence Barrier Unit).

CUDBGCoredumpGenerationFlags

Coredump generation flags.

CUDBGCudaLogLevel

CUDA Log severity level.

CUDBGCudaLogLevelFilter

CUDA Log level filter.

CUDBGCudaLogRuleAction

CUDA Log filtering rule action.

CUDBGDeviceInfoAttribute_t

Device-level attributes.

CUDBGDeviceInfoQueryType_t

Device info query type.

CUDBGLaneInfoAttribute_t

Lane-level (thread-level) attributes.

CUDBGSMInfoAttribute_t

SM-level attributes.

CUDBGTcgen05TmemAllocationPhase

Tensor Memory allocation phase.

CUDBGWarpInfoAttribute_t

Warp-level attributes.

ptxStorageKind

Memory segments for DWARF.

Structs

CUDBGCbuWarpState

Warp state in the CBU (Convergence Barrier Unit).

CUDBGCudaLogMessage

CUDA Log Message.

CUDBGCudaLogMessage129

CUDA Log Message for API version 12.9.

CUDBGCudaLogRule

CUDA Log filtering rule.

CUDBGDeviceInfo

Device-level information.

CUDBGDeviceInfoSizes

Sizes of the various structs returned by the batched device update APIs.

CUDBGLaneState

Lane state (state of a single thread).

CUDBGLoadedFunctionInfo

Information about a lazily loaded function.

CUDBGMemoryInfo

Memory information.

CUDBGSMInfo

SM-level information.

CUDBGTcgen05TmemInfo

tcgen05 Tensor Memory information for a warp's CTA.

CUDBGWarpInfo

Warp-level information.

CUDBGWarpResources

Warp resources.

CUDBGWarpState

Warp state information.

CUDBGWarpState120

Warp state for API version 12.0.

CUDBGWarpState127

Warp state for API version 12.7.

CUDBGWarpState60

Warp state for API version 6.0.

Variables

CUDBGResult(* CUDBGAPI_st::consumeCudaLogs

Get CUDA error log entries.

CUDBGResult(* CUDBGAPI_st::consumeCudaLogs129

Get CUDA error log entries.

CUDBGResult(* CUDBGAPI_st::generateCoredump

Generate a coredump for the current GPU state.

CUDBGResult(* CUDBGAPI_st::getBindlessConstAddress

Get bindless constant GPU VA and size from its header.

CUDBGResult(* CUDBGAPI_st::getCbuWarpState

Get the CBU state of a given warp.

CUDBGResult(* CUDBGAPI_st::getClusterExceptionTargetBlock

Get the target block index and validity status for cluster exceptions.

CUDBGResult(* CUDBGAPI_st::getConstBankAddress

Get constant bank GPU VA and size.

CUDBGResult(* CUDBGAPI_st::getConstBankAddress123

Convert constant bank number and offset into GPU VA.

CUDBGResult(* CUDBGAPI_st::getCudaExceptionString

Get the error string for CUDA Exceptions.

CUDBGResult(* CUDBGAPI_st::getDeviceInfo

Read full device info for the device.

CUDBGResult(* CUDBGAPI_st::getDeviceInfoSizes

Return sizes for device info structs and defined attributes.

CUDBGResult(* CUDBGAPI_st::getDevicePCIBusInfo

Get PCI bus and device ids associated with device index.

CUDBGResult(* CUDBGAPI_st::getHardwareBarrierInfo

Get hardware barrier information.

CUDBGResult(* CUDBGAPI_st::getLoadedFunctionInfo

Get the section number and address of loaded functions for a given module.

CUDBGResult(* CUDBGAPI_st::getLoadedFunctionInfo118

Get the section number and address of loaded functions for a given module.

CUDBGResult(* CUDBGAPI_st::getManagedMemoryRegionInfo

Get a sorted list of managed memory regions.

CUDBGResult(* CUDBGAPI_st::memcheckReadErrorAddress

Get the address that memcheck detected an error on.

CUDBGResult(* CUDBGAPI_st::readActiveLanes

Read the lane bitmask of active threads on a valid warp.

CUDBGResult(* CUDBGAPI_st::readAllVirtualReturnAddresses

Read all the virtual return addresses for a thread (the full backtrace).

CUDBGResult(* CUDBGAPI_st::readBlockIdx

Read the CUDA block index running on a valid warp.

CUDBGResult(* CUDBGAPI_st::readBlockIdx32

Read the two-dimensional CUDA block index running on a valid warp.

CUDBGResult(* CUDBGAPI_st::readBrokenWarps

Read the bitmask of warps that are at a breakpoint on a given SM.

CUDBGResult(* CUDBGAPI_st::readCCRegister

Read the hardware CC register.

CUDBGResult(* CUDBGAPI_st::readCPUCallStack

Read the CPU call stack captured at the time of kernel launch.

CUDBGResult(* CUDBGAPI_st::readCallDepth

Read the call depth (number of calls) for a given thread.

CUDBGResult(* CUDBGAPI_st::readCallDepth32

Read the call depth (number of calls) for a given warp.

CUDBGResult(* CUDBGAPI_st::readClusterIdx

Read the CUDA cluster index running on a valid warp.

CUDBGResult(* CUDBGAPI_st::readCodeMemory

Read content at address in the code memory segment.

CUDBGResult(* CUDBGAPI_st::readConstMemory129

Read content at address in the constant memory segment.

CUDBGResult(* CUDBGAPI_st::readDeviceExceptionState

Get the exception state of the SMs on the device.

CUDBGResult(* CUDBGAPI_st::readDeviceExceptionState80

Get the exception state of the SMs on the device.

CUDBGResult(* CUDBGAPI_st::readErrorPC

Get the hardware reported error PC if it exists.

CUDBGResult(* CUDBGAPI_st::readGenericMemory

Read content at an address in any memory segment.

CUDBGResult(* CUDBGAPI_st::readGlobalMemory

Read content at an address in the global address space.

CUDBGResult(* CUDBGAPI_st::readGlobalMemory31

Read content at address in the global memory segment.

CUDBGResult(* CUDBGAPI_st::readGlobalMemory55

Read content at address in the global memory segment.

CUDBGResult(* CUDBGAPI_st::readGridId

Read the 64-bit CUDA grid index running on a valid warp.

CUDBGResult(* CUDBGAPI_st::readGridId50

Read the CUDA grid index running on a valid warp.

CUDBGResult(* CUDBGAPI_st::readLaneException

Read the exception type for a given thread.

CUDBGResult(* CUDBGAPI_st::readLaneStatus

Read the status of the given thread.

CUDBGResult(* CUDBGAPI_st::readLocalMemory

Read content at address in the local memory segment.

CUDBGResult(* CUDBGAPI_st::readPC

Read the PC offset on the given active thread.

CUDBGResult(* CUDBGAPI_st::readParamMemory

Read content at address in the param memory segment.

CUDBGResult(* CUDBGAPI_st::readPinnedMemory

Read content at pinned address in system memory.

CUDBGResult(* CUDBGAPI_st::readPredicates

Read content of hardware predicate registers.

CUDBGResult(* CUDBGAPI_st::readRegister

Read content of a hardware register.

CUDBGResult(* CUDBGAPI_st::readRegisterRange

Read content of a hardware range of hardware registers.

CUDBGResult(* CUDBGAPI_st::readRegisterRange60

Read content of a range of hardware registers.

CUDBGResult(* CUDBGAPI_st::readReturnAddress

Read the return address (offset) for a call level.

CUDBGResult(* CUDBGAPI_st::readReturnAddress32

Read the return address (offset) for a call level.

CUDBGResult(* CUDBGAPI_st::readRpcRegisters

Read the RPC.LO and/or RPC.HI hardware registers for a specific thread.

CUDBGResult(* CUDBGAPI_st::readSharedMemory

Read content at address in the shared memory segment.

CUDBGResult(* CUDBGAPI_st::readSmException

Get the SM exception status if it exists.

CUDBGResult(* CUDBGAPI_st::readSyscallCallDepth

Read the call depth of syscalls for a given thread.

CUDBGResult(* CUDBGAPI_st::readTcgen05TmemInfo

Read tcgen05 Tensor Memory metadata for the CTA containing a warp.

CUDBGResult(* CUDBGAPI_st::readTcgen05TmemMemory

Read tcgen05 Tensor Memory data for the CTA containing a warp.

CUDBGResult(* CUDBGAPI_st::readTextureMemory

This method is no longer supported since CUDA 12.0.

CUDBGResult(* CUDBGAPI_st::readTextureMemoryBindless

This method is no longer supported since CUDA 12.0.

CUDBGResult(* CUDBGAPI_st::readThreadIdx

Read the CUDA thread index running on valid thread.

CUDBGResult(* CUDBGAPI_st::readUniformPredicates

Read contents of uniform predicate registers.

CUDBGResult(* CUDBGAPI_st::readUniformRegisterRange

Read a range of uniform registers.

CUDBGResult(* CUDBGAPI_st::readValidLanes

Read the lane bitmask of valid threads on a given warp.

CUDBGResult(* CUDBGAPI_st::readValidWarps

Read the bitmask of valid warps on a given SM.

CUDBGResult(* CUDBGAPI_st::readVirtualPC

Read the PC (virtual address) on the given active thread.

CUDBGResult(* CUDBGAPI_st::readVirtualReturnAddress

Read the virtual return address for a call level.

CUDBGResult(* CUDBGAPI_st::readVirtualReturnAddress32

Read the virtual return address for a call level.

CUDBGResult(* CUDBGAPI_st::readWarpResources

Get the resources assigned to a given warp.

CUDBGResult(* CUDBGAPI_st::readWarpState

Read the state of a given warp.

CUDBGResult(* CUDBGAPI_st::readWarpState120

Read the state of a given warp.

CUDBGResult(* CUDBGAPI_st::readWarpState127

Read the state of a given warp.

CUDBGResult(* CUDBGAPI_st::readWarpState60

Read the state of a given warp.

CUDBGResult(* CUDBGAPI_st::setCudaLogRules

Set CUDA log filtering rules.

Enumerations

enum CUDBGBarrierScope

CUDA barrier scope.

Values:

enumerator CUDBG_BARRIER_SCOPE_INVALID = 0xFFFFFFFFU

Invalid barrier scope.

enumerator CUDBG_BARRIER_SCOPE_NONE = 0

No barrier.

enumerator CUDBG_BARRIER_SCOPE_WARP = 1

Warp-wide barrier.

enumerator CUDBG_BARRIER_SCOPE_WARP_GROUP = 2

Warp group-wide barrier.

enumerator CUDBG_BARRIER_SCOPE_BLOCK = 3

Block-wide barrier.

enumerator CUDBG_BARRIER_SCOPE_CLUSTER = 4

Cluster-wide barrier.

enumerator CUDBG_BARRIER_SCOPE_KERNEL = 5

Kernel-wide barrier.

enum CUDBGCbuThreadState

Thread state in the CBU (Convergence Barrier Unit).

Values:

enumerator CUDBG_CBU_THREAD_STATE_INVALID = 0xFFFFFFFFU
enumerator CUDBG_CBU_THREAD_STATE_EXITED = 0
enumerator CUDBG_CBU_THREAD_STATE_READY
enumerator CUDBG_CBU_THREAD_STATE_YIELDED
enumerator CUDBG_CBU_THREAD_STATE_SLEEP
enumerator CUDBG_CBU_THREAD_STATE_SLEEPYIELD
enumerator CUDBG_CBU_THREAD_STATE_READYATNEXT
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDPLUS
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDALL
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDCOLLECTIVE
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB0
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB1
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB2
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB3
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB4
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB5
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB6
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB7
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB8
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB9
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB10
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB11
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB12
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB13
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB14
enumerator CUDBG_CBU_THREAD_STATE_BLOCKEDB15
enum CUDBGCoredumpGenerationFlags

Coredump generation flags.

Values:

enumerator CUDBG_COREDUMP_DEFAULT_FLAGS = 0

Default flags.

enumerator CUDBG_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES = (1 << 0)

Skip dumping non-relocated ELF images.

enumerator CUDBG_COREDUMP_SKIP_GLOBAL_MEMORY = (1 << 1)

Skip dumping global memory.

enumerator CUDBG_COREDUMP_SKIP_SHARED_MEMORY = (1 << 2)

Skip dumping shared memory.

enumerator CUDBG_COREDUMP_SKIP_LOCAL_MEMORY = (1 << 3)

Skip dumping local memory.

enumerator CUDBG_COREDUMP_SKIP_CONSTBANK_MEMORY = (1 << 5)

Skip dumping constant bank memory.

enumerator CUDBG_COREDUMP_GZIP_COMPRESS = (1 << 6)

Compress the coredump with gzip.

enumerator CUDBG_COREDUMP_FAULTED_CONTEXTS_ONLY = (1 << 7)

Only include data for contexts which have encountered an exception.

If this flag is used and there are no faulted contexts on any device, then generateCoredump() method will return CUDBG_ERROR_INVALID_CONTEXT error code. Contexts that have warps at breakpoints count as faulted.

enumerator CUDBG_COREDUMP_SKIP_TENSOR_MEMORY = (1 << 8)

Skip dumping tensor memory.

enumerator CUDBG_COREDUMP_LIGHTWEIGHT_FLAGS = CUDBG_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES | CUDBG_COREDUMP_SKIP_GLOBAL_MEMORY | CUDBG_COREDUMP_SKIP_SHARED_MEMORY | CUDBG_COREDUMP_SKIP_LOCAL_MEMORY | CUDBG_COREDUMP_SKIP_CONSTBANK_MEMORY | CUDBG_COREDUMP_SKIP_TENSOR_MEMORY

Lightweight flags.

enum CUDBGCudaLogLevel

CUDA Log severity level.

Values:

enumerator CUDBG_CUDA_LOG_LEVEL_INVALID = 0xFFFFFFFFU

Invalid log level.

enumerator CUDBG_CUDA_LOG_LEVEL_ERROR = 0

Error log level, matches CU_LOG_LEVEL_ERROR.

enumerator CUDBG_CUDA_LOG_LEVEL_WARNING = 1

Warning log level, matches CU_LOG_LEVEL_WARNING.

enum CUDBGCudaLogLevelFilter

CUDA Log level filter.

Values:

enumerator CUDBG_CUDA_LOG_LEVEL_FILTER_ANY = 0xFFFFFFFFU

Any log level.

enumerator CUDBG_CUDA_LOG_LEVEL_FILTER_ERROR = 0

Error log level.

enumerator CUDBG_CUDA_LOG_LEVEL_FILTER_WARNING = 1

Warning log level.

enum CUDBGCudaLogRuleAction

CUDA Log filtering rule action.

Values:

enumerator CUDBG_CUDA_LOG_RULE_ACTION_EXCLUDE = 0xFFFFFFFFU

Exclude the log message.

enumerator CUDBG_CUDA_LOG_RULE_ACTION_SEND_ASYNC = 0

Send the log message asynchronously.

enumerator CUDBG_CUDA_LOG_RULE_ACTION_SEND_SYNC = 1

Send the log message synchronously.

enum CUDBGDeviceInfoAttribute_t

Device-level attributes.

Values:

enumerator CUDBG_DEVICE_ATTRIBUTE_SM_UPDATE_MASK = 0

Mask of updated SMs reported by this response.

Optional: Yes, assume all 1’s if absent. Size: Number of SMs-sized bitmask, rounded up to be divisible by 8.

enumerator CUDBG_DEVICE_ATTRIBUTE_SM_ACTIVE_MASK = 1

Mask of SMs with any valid warp.

Optional: No, always returned by the API. Size: Number of SMs-sized bitmask, rounded up to be divisible by 8.

enumerator CUDBG_DEVICE_ATTRIBUTE_SM_EXCEPTION_MASK = 2

Mask of SMs with any warps with exceptions.

Optional: Yes, assume all 0’s if absent. Size: Number of SMs-sized bitmask, rounded up to be divisible by 8.

enumerator CUDBG_DEVICE_ATTRIBUTE_COUNT

Device attributes count.

enum CUDBGDeviceInfoQueryType_t

Device info query type.

Values:

enumerator CUDBG_RESPONSE_TYPE_FULL

Request state information for all valid SMs/Warps/Lanes.

enumerator CUDBG_RESPONSE_TYPE_UPDATE

Request state information for all changed SMs/Warps/Lanes since the last call.

It’s safe to always use this type, the API will respond with the full information when necessary.

enumerator CUDBG_RESPONSE_TYPE_UNKNOWN = 0xFFFFFFFFU

Unknown device info query type.

enum CUDBGLaneInfoAttribute_t

Lane-level (thread-level) attributes.

Values:

enumerator CUDBG_LANE_ATTRIBUTE_COUNT

Lane (thread) attributes count.

enum CUDBGSMInfoAttribute_t

SM-level attributes.

Values:

enumerator CUDBG_SM_ATTRIBUTE_WARP_UPDATE_MASK = 0

Mask of updated warps reported by this response.

Optional: Yes, assume all 1’s if absent. Size: uint64_t.

enumerator CUDBG_SM_ATTRIBUTE_COUNT

SM attributes count.

enum CUDBGTcgen05TmemAllocationPhase

Tensor Memory allocation phase.

Values:

enumerator CUDBG_TCGEN05_TMEM_ALLOCATION_PHASE_UNKNOWN = 0

Tensor Memory allocation phase is unknown to this API version.

enumerator CUDBG_TCGEN05_TMEM_ALLOCATION_PHASE_ALLOC_PERMIT_AVAILABLE = 1

Tensor Memory allocation permit is available.

enumerator CUDBG_TCGEN05_TMEM_ALLOCATION_PHASE_ALLOC_PERMIT_RELINQUISHED = 2

Tensor Memory allocation permit has been relinquished.

enumerator CUDBG_TCGEN05_TMEM_ALLOCATION_PHASE_EXCLUSIVE_ALLOC_ACTIVE = 3

Tensor Memory allocation permit has been claimed by an exclusive allocation.

enum CUDBGWarpInfoAttribute_t

Warp-level attributes.

Values:

enumerator CUDBG_WARP_ATTRIBUTE_LANE_UPDATE_MASK = 0

Mask of updated lanes reported by this response.

Optional: Yes, assume all 1’s if absent. Size: uint32_t.

enumerator CUDBG_WARP_ATTRIBUTE_LANE_ATTRIBUTES = 1

Signals whether the attribute flags field is present on the lane level for this warp.

Optional: Yes, assume no lane attributes for this warp if absent. Size: 0 (doesn’t have an associated warp-level field).

enumerator CUDBG_WARP_ATTRIBUTE_EXCEPTION = 2

CUDBGException_t for this warp.

Optional: Yes, assume CUDBG_EXCEPTION_NONE if absent. Size: uint32_t.

enumerator CUDBG_WARP_ATTRIBUTE_ERRORPC = 3

Error PC for this warp.

Optional: Yes, assume no error PC is available if absent. Size: uint64_t.

enumerator CUDBG_WARP_ATTRIBUTE_CLUSTERIDX = 4

Cluster index for this warp.

Optional: Yes if warp is not in a cluster. Size: CuDim3.

enumerator CUDBG_WARP_ATTRIBUTE_CLUSTERDIM = 5

Cluster dimensions for this warp.

Optional: Yes if warp is not in a cluster. Size: CuDim3.

enumerator CUDBG_WARP_ATTRIBUTE_CLUSTER_EXCEPTION_TARGET_BLOCK_IDX = 6

For cluster exceptions, this represents the target block index handling cluster requests.

Optional: Yes, assume no block index is available if absent. Size: CuDim3.

enumerator CUDBG_WARP_ATTRIBUTE_IN_SYSCALL_LANES = 7

Lane mask showing threads that are in a syscall.

Optional: Yes, use readSyscallCallDepth() if this attribute is not present. Size: uint32_t.

enumerator CUDBG_WARP_ATTRIBUTE_HIT_BREAKPOINT_HANDLE = 8

Breakpoint handle of a broken warp (of type CUDBGBreakpointHandle) Optional: Yes, only present for broken warps Size: CUDBGBreakpointHandle.

enumerator CUDBG_WARP_ATTRIBUTE_COUNT

Warp attributes count.

enum ptxStorageKind

Memory segments for DWARF.

Values:

enumerator ptxUNSPECIFIEDStorage = 0x0
enumerator ptxCodeStorage = 0x1
enumerator ptxRegStorage = 0x2
enumerator ptxSregStorage = 0x3
enumerator ptxConstStorage = 0x4
enumerator ptxGlobalStorage = 0x5
enumerator ptxLocalStorage = 0x6
enumerator ptxParamStorage = 0x7
enumerator ptxSharedStorage = 0x8
enumerator ptxSurfStorage = 0x9
enumerator ptxTexStorage = 0xA
enumerator ptxTexSamplerStorage = 0xB
enumerator ptxGenericStorage = 0xC
enumerator ptxIParamStorage = 0xD
enumerator ptxOParamStorage = 0xE
enumerator ptxFrameStorage = 0xF
enumerator ptxURegStorage = 0x10
enumerator ptxBoundConstStorage0 = 0x20
enumerator ptxBoundConstStorage1 = 0x21
enumerator ptxBoundConstStorage2 = 0x22
enumerator ptxBoundConstStorage3 = 0x23
enumerator ptxBoundConstStorage4 = 0x24
enumerator ptxBoundConstStorage5 = 0x25
enumerator ptxBoundConstStorage6 = 0x26
enumerator ptxBoundConstStorage7 = 0x27
enumerator ptxBoundConstStorage8 = 0x28
enumerator ptxBoundConstStorage9 = 0x29
enumerator ptxBoundConstStorage10 = 0x2A
enumerator ptxBoundConstStorage11 = 0x2B
enumerator ptxBoundConstStorage12 = 0x2C
enumerator ptxBoundConstStorage13 = 0x2D
enumerator ptxBoundConstStorage14 = 0x2E
enumerator ptxBoundConstStorage15 = 0x2F
enumerator ptxBoundConstStorage16 = 0x30
enumerator ptxBoundConstStorage17 = 0x31
enumerator ptxBoundConstStorage18 = 0x32
enumerator ptxBoundConstStorage19 = 0x33
enumerator ptxBoundConstStorage20 = 0x34
enumerator ptxBoundConstStorage21 = 0x35
enumerator ptxBoundConstStorage22 = 0x36
enumerator ptxBoundConstStorage23 = 0x37
enumerator ptxBoundConstStorage24 = 0x38
enumerator ptxBoundConstStorage25 = 0x39
enumerator ptxBoundConstStorage26 = 0x3A
enumerator ptxBoundConstStorage27 = 0x3B
enumerator ptxBoundConstStorage28 = 0x3C
enumerator ptxBoundConstStorage29 = 0x3D
enumerator ptxBoundConstStorage30 = 0x3E
enumerator ptxBoundConstStorage31 = 0x3F
enumerator ptxMAXStorage