Introduction
This document describes the API for the set routines and data structures available in the CUDA library to any debugger.
-
Performance is greatly improved, both with respect to interactions with the debugger and the performance of applications being debugged.
-
The format of cubins has changed to ELF and, as a consequence, most restrictions on debug compilations have been lifted. More information about the new object format is included below.
Debugger API
The CUDA Debugger API was developed with the goal of adhering to the following principles:
-
Policy free
-
Explicit
-
Axiomatic
-
Extensible
-
Machine oriented
There are two major "modes" of the devices: stopped or running. We switch between these modes explicitly with suspendDevice and resumeDevice, though the machine may suspend on its own accord, for example when hitting a breakpoint.
Only when stopped, can we query the machine's state. Warp state includes which function is it runnning, which block, which lanes are valid, etc.
ELF and DWARF
CUDA applications are compiled in ELF binary format.
DWARF device information is obtained through a CUDBGEvent of type CUDBG_EVENT_ELF_IMAGE_LOADED. This means that the information is not available until runtime, after the CUDA driver has loaded.
DWARF device information contains physical addresses for all device memory regions except for code memory. The address class field (DW_AT_address_class) is set for all device variables, and is used to indicate the memory segment type (ptxStorageKind). The physical addresses must be accessed using several segment-specific API calls:
<2><321>: Abbrev Number: 18 (DW_TAG_formal_parameter) DW_AT_decl_file : 27 DW_AT_decl_line : 5 DW_AT_name : res DW_AT_type : <2c6> DW_AT_location : 9 byte block: 3 18 0 0 0 0 0 0 0 (DW_OP_addr: 18) DW_AT_address_class: 7
The above shows that variable 'res' has an address class of 7 (ptxParamStorage). Its location information shows it is located at address 18 within the parameter memory segment.
Local variables are no longer spilled to local memory by default. The DWARF now contains variable-to-register mapping and liveness information for all variables. It can be the case that variables are spilled to local memory, and this is all contained in the DWARF information which is ULEB128 encoded (as a DW_OP_regx stack operation in the DW_AT_location attribute).
Here is a typical DWARF entry for a variable located in a local register:
<3><359>: Abbrev Number: 20 (DW_TAG_variable) DW_AT_decl_file : 27 DW_AT_decl_line : 7 DW_AT_name : c DW_AT_type : <1aa> DW_AT_location : 7 byte block: 90 b9 e2 90 b3 d6 4 (DW_OP_regx: 160631632185) DW_AT_address_class: 2
ABI Support
For more information, please refer to the ABI documentation titled "Fermi ABI: Application Binary Interface".
Exception Reporting
Exception reporting is only supported on Fermi (sm_20 or greater).
Attaching and Detaching
The debug client must take the following steps to attach to a running CUDA application:
-
Attach to the CPU process corresponding to the CUDA application. The CPU part of the application will be frozen at this point.
-
Check to see if the CUDBG_IPC_FLAG_NAME variable is accessible from the memory space of the application. If not, it implies that the application has not loaded the CUDA driver, and the attaching to the application is complete.
-
Make a dynamic function call to the function cudbgApiInit() with an argument of "2", i.e., "cudbgApiInit(2)". This causes a helper process to be forked off from the application, which assists in attaching to the CUDA process.
-
Ensure that the initialization of the CUDA debug API is complete, or wait till API initialization is successful.
-
Make the "initializeAttachStub()" API call to initialize the helper process that was forked off from the application earlier.
-
Read the value of the CUDBG_ATTACH_HANDLER_AVAILABLE variable from the memory space of the application:
-
If the value is non-zero, resume the CUDA application so that more data can be collected about the application and sent to the debugger. When the application is resumed, the debug client can expect to receive various CUDA events from the CUDA application. Once all state has been collected, the debug client will receive the event CUDBG_EVENT_ATTACH_COMPLETE.
-
If the value is zero, there is no more attach data to collect. Set the CUDBG_IPC_FLAG_NAME variable to 1 in the application's process space, which enables further events from the CUDA application.
-
-
At this point, attaching to the CUDA application is complete and all GPUs belonging to the CUDA application will be suspended.
The debug client must take the following steps to detach from a running CUDA application:
-
Check to see if the CUDBG_IPC_FLAG_NAME variable is accessible from the memory space of the application, and that the CUDA debug API is initialized. If either of these conditions is not met, treat the application as CPU-only and detach from the application.
-
Next, make the "clearAttachState" API call to prepare the CUDA application for detach.
-
Read the value of the CUDBG_ATTACH_HANDLER_AVAILABLE variable from the memory space of the application. If the value is non-zero, make the "requestCleanupOnDetach" API call.
-
Set the CUDBG_DEBUGGER_INITIALIZED variable to 0 in the memory space of the application. This makes sure the debugger is reinitialized from scratch if the debug client re-attaches to the application in the future.
-
If the value of the CUDBG_ATTACH_HANDLER_AVAILABLE variable was found to be non-zero in step 3, delete all breakpoints and resume the CUDA application. This allows the CUDA driver to perform cleanups before the debug client detaches from it. Once the cleanup is complete, the debug client will receive the event CUDBG_EVENT_DETACH_COMPLETE.
-
Set the CUDBG_IPC_FLAG_NAME variable to zero in the memory space of the application. This prevents any more callbacks from the CUDA application to the debugger.
-
The client must then finalize the CUDA debug API.
-
Finally, detach from the CPU part of the CUDA application. At this point all GPUs belonging to the CUDA application will be resumed.
Modules
Here is a list of all modules:
Initialization
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::finalize )( )
- Finalize the API and free all memory.
- CUDBGResult ( *CUDBGAPI_st::initialize )( )
- Initialize the API.
Variables
- CUDBGResult ( *CUDBGAPI_st::finalize )( )
-
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_COMMUNICATION_FAILURE, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::initialize )( )
-
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNKNOWN
Device Execution Control
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::resumeDevice )( uint32_t dev )
- Resume a suspended CUDA device.
- CUDBGResult ( *CUDBGAPI_st::singleStepWarp )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* warpMask )
- Single step an individual warp on a suspended CUDA device.
- CUDBGResult ( *CUDBGAPI_st::singleStepWarp40 )( uint32_t dev, uint32_t sm, uint32_t wp )
- (DEPRECATED)Single step an individual warp on a suspended CUDA device. This function has been deprecated. Use singleStepWarp() instead.
- CUDBGResult ( *CUDBGAPI_st::suspendDevice )( uint32_t dev )
- Suspends a running CUDA device.
Variables
- CUDBGResult ( *CUDBGAPI_st::resumeDevice )( uint32_t dev )
-
Parameters
- dev
- - device index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::singleStepWarp )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* warpMask )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- warpMask
- - the warps that have been single-stepped
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::singleStepWarp40 )( uint32_t dev, uint32_t sm, uint32_t wp )
-
(DEPRECATED)Single step an individual warp on a suspended CUDA device. This function has been deprecated. Use singleStepWarp() instead.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::suspendDevice )( uint32_t dev )
-
Parameters
- dev
- - device index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED
Breakpoints
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::setBreakpoint )( uint32_t dev, uint64_t addr )
- Sets a breakpoint at the given instruction address for the given device.
- CUDBGResult ( *CUDBGAPI_st::setBreakpoint31 )( uint64_t addr )
- Sets a breakpoint at the given instruction address. Deprecated in 3.2.
- CUDBGResult ( *CUDBGAPI_st::unsetBreakpoint )( uint32_t dev, uint64_t addr )
- Unsets a breakpoint at the given instruction address for the given device.
- CUDBGResult ( *CUDBGAPI_st::unsetBreakpoint31 )( uint64_t addr )
- Unsets a breakpoint at the given instruction address. Deprecated in 3.2.
Variables
- CUDBGResult ( *CUDBGAPI_st::setBreakpoint )( uint32_t dev, uint64_t addr )
-
Parameters
- dev
- - the device index
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INVALID_ADDRESS, CUDBG_ERROR_INVALID_DEVICE
- CUDBGResult ( *CUDBGAPI_st::setBreakpoint31 )( uint64_t addr )
-
Parameters
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INVALID_ADDRESS
- CUDBGResult ( *CUDBGAPI_st::unsetBreakpoint )( uint32_t dev, uint64_t addr )
-
Parameters
- dev
- - the device index
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INVALID_ADDRESS, CUDBG_ERROR_INVALID_DEVICE
- CUDBGResult ( *CUDBGAPI_st::unsetBreakpoint31 )( uint64_t addr )
-
Parameters
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED
Device State Inspection
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::memcheckReadErrorAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* address, ptxStorageKind* storage )
- Get the address that memcheck detected an error on.
- CUDBGResult ( *CUDBGAPI_st::readActiveLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* activeLanesMask )
- Reads the bitmask of active lanes on a valid warp.
- CUDBGResult ( *CUDBGAPI_st::readBlockIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx )
- Reads the CUDA block index running on a valid warp.
- CUDBGResult ( *CUDBGAPI_st::readBlockIdx32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* blockIdx )
- Reads the two-dimensional CUDA block index running on a valid warp. Deprecated in 4.0.
- CUDBGResult ( *CUDBGAPI_st::readBrokenWarps )( uint32_t dev, uint32_t sm, uint64_t* brokenWarpsMask )
- Reads the bitmask of warps that are at a breakpoint on a given SM.
- CUDBGResult ( *CUDBGAPI_st::readCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
- Reads the call depth (number of calls) for a given lane.
- CUDBGResult ( *CUDBGAPI_st::readCallDepth32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* depth )
- Reads the call depth (number of calls) for a given warp. Deprecated in 4.0.
- CUDBGResult ( *CUDBGAPI_st::readCodeMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the code memory segment.
- CUDBGResult ( *CUDBGAPI_st::readConstMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the constant memory segment.
- CUDBGResult ( *CUDBGAPI_st::readGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the global memory segment (entire 40-bit VA on Fermi+).
- CUDBGResult ( *CUDBGAPI_st::readGlobalMemory31 )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the global memory segment. Deprecated in 3.2.
- CUDBGResult ( *CUDBGAPI_st::readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* gridId )
- Reads the CUDA grid index running on a valid warp.
- CUDBGResult ( *CUDBGAPI_st::readLaneException )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CUDBGException_t* exception )
- Reads the exception type for a given lane.
- CUDBGResult ( *CUDBGAPI_st::readLaneStatus )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, bool* error )
- Reads the status of the given lane. For specific error values, use readLaneException.
- CUDBGResult ( *CUDBGAPI_st::readLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the local memory segment.
- CUDBGResult ( *CUDBGAPI_st::readPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
- Reads the PC on the given active lane.
- CUDBGResult ( *CUDBGAPI_st::readParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the param memory segment.
- CUDBGResult ( *CUDBGAPI_st::readPinnedMemory )( uint64_t addr, void* buf, uint32_t sz )
- Reads content at pinned address in system memory.
- CUDBGResult ( *CUDBGAPI_st::readRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t* val )
- Reads content of a hardware register.
- CUDBGResult ( *CUDBGAPI_st::readReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
- Reads the physical return address for a call level.
- CUDBGResult ( *CUDBGAPI_st::readReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
- Reads the physical return address for a call level. Deprecated in 4.0.
- CUDBGResult ( *CUDBGAPI_st::readSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the shared memory segment.
- CUDBGResult ( *CUDBGAPI_st::readSyscallCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
- Reads the call depth of syscalls for a given lane.
- CUDBGResult ( *CUDBGAPI_st::readTextureMemory )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t id, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
- Read the content of texture memory with given id and coords on sm_20 and lower.
- CUDBGResult ( *CUDBGAPI_st::readTextureMemoryBindless )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t texSymtabIndex, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
- Read the content of texture memory with given symtab index and coords on sm_30 and higher.
- CUDBGResult ( *CUDBGAPI_st::readThreadIdx )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CuDim3* threadIdx )
- Reads the CUDA thread index running on valid lane.
- CUDBGResult ( *CUDBGAPI_st::readValidLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* validLanesMask )
- Reads the bitmask of valid lanes on a given warp.
- CUDBGResult ( *CUDBGAPI_st::readValidWarps )( uint32_t dev, uint32_t sm, uint64_t* validWarpsMask )
- Reads the bitmask of valid warps on a given SM.
- CUDBGResult ( *CUDBGAPI_st::readVirtualPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
- Reads the virtual PC on the given active lane.
- CUDBGResult ( *CUDBGAPI_st::readVirtualReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
- Reads the virtual return address for a call level.
- CUDBGResult ( *CUDBGAPI_st::readVirtualReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
- Reads the virtual return address for a call level. Deprecated in 4.0.
- CUDBGResult ( *CUDBGAPI_st::writePinnedMemory )( uint64_t addr, const void* buf, uint32_t sz )
- Writes content to pinned address in system memory.
Variables
- CUDBGResult ( *CUDBGAPI_st::memcheckReadErrorAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* address, ptxStorageKind* storage )
-
Get the address that memcheck detected an error on.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- address
- - returned address detected by memcheck
- storage
- - returned address class of address
Returns
CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMCHECK_NOT_ENABLED, CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::readActiveLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* activeLanesMask )
-
Reads the bitmask of active lanes on a valid warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- activeLanesMask
- - the returned bitmask of active lanes
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readBlockIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx )
-
Reads the CUDA block index running on a valid warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- blockIdx
- - the returned CUDA block index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readBlockIdx32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* blockIdx )
-
Reads the two-dimensional CUDA block index running on a valid warp. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- blockIdx
- - the returned CUDA block index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readBrokenWarps )( uint32_t dev, uint32_t sm, uint64_t* brokenWarpsMask )
-
Reads the bitmask of warps that are at a breakpoint on a given SM.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- brokenWarpsMask
- - the returned bitmask of broken warps
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
-
Reads the call depth (number of calls) for a given lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- depth
- - the returned call depth
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readCallDepth32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* depth )
-
Reads the call depth (number of calls) for a given warp. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- depth
- - the returned call depth
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readCodeMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the code memory segment.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readConstMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the constant memory segment.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the global memory segment (entire 40-bit VA on Fermi+).
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM
- CUDBGResult ( *CUDBGAPI_st::readGlobalMemory31 )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the global memory segment. Deprecated in 3.2.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* gridId )
-
Reads the CUDA grid index running on a valid warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- gridId
- - the returned CUDA grid index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readLaneException )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CUDBGException_t* exception )
-
Reads the exception type for a given lane.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- exception
- - the returned exception type
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readLaneStatus )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, bool* error )
-
Reads the status of the given lane. For specific error values, use readLaneException.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- error
- - true if there is an error
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the local memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
-
Reads the PC on the given active lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- pc
- - the returned PC
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the param memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readPinnedMemory )( uint64_t addr, void* buf, uint32_t sz )
-
Reads content at pinned address in system memory.
See also:
Parameters
- addr
- - system memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t* val )
-
Reads content of a hardware register.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- regno
- - register index
- val
- - buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
-
Reads the physical return address for a call level.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- level
- - the specified call level
- ra
- - the returned return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
-
Reads the physical return address for a call level. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- level
- - the specified call level
- ra
- - the returned return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the shared memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readSyscallCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
-
Reads the call depth of syscalls for a given lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- depth
- - the returned call depth
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readTextureMemory )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t id, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
-
Read the content of texture memory with given id and coords on sm_20 and lower. Read the content of texture memory with given id and coords on sm_20 and lower.
On sm_30 and higher, use readTextureMemoryBindless instead.
See also:
Parameters
- devId
- - device index
- vsm
- - SM index
- wp
- - warp index
- id
- - texture id (the value of DW_AT_location attribute in the relocated ELF image)
- dim
- - texture dimension (1 to 4)
- coords
- - array of coordinates of size dim
- buf
- - result buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readTextureMemoryBindless )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t texSymtabIndex, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
-
Read the content of texture memory with given symtab index and coords on sm_30 and higher. Read the content of texture memory with given symtab index and coords on sm_30 and higher.
For sm_20 and lower, use readTextureMemory instead.
See also:
Parameters
- devId
- - device index
- vsm
- - SM index
- wp
- - warp index
- texSymtabIndex
- - global symbol table index of the texture symbol
- dim
- - texture dimension (1 to 4)
- coords
- - array of coordinates of size dim
- buf
- - result buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readThreadIdx )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CuDim3* threadIdx )
-
Reads the CUDA thread index running on valid lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- threadIdx
- - the returned CUDA thread index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readValidLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* validLanesMask )
-
Reads the bitmask of valid lanes on a given warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- validLanesMask
- - the returned bitmask of valid lanes
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readValidWarps )( uint32_t dev, uint32_t sm, uint64_t* validWarpsMask )
-
Reads the bitmask of valid warps on a given SM.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- validWarpsMask
- - the returned bitmask of valid warps
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readVirtualPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- pc
- - the returned PC
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_UNKNOWN_FUNCTION
- CUDBGResult ( *CUDBGAPI_st::readVirtualReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- level
- - the specified call level
- ra
- - the returned virtual return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INTERNAL
- CUDBGResult ( *CUDBGAPI_st::readVirtualReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
-
Reads the virtual return address for a call level. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- level
- - the specified call level
- ra
- - the returned virtual return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INTERNAL
- CUDBGResult ( *CUDBGAPI_st::writePinnedMemory )( uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to pinned address in system memory.
See also:
Parameters
- addr
- - system memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_UNINITIALIZED
Device State Alteration
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::writeGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the global memory segment (entire 40-bit VA on Fermi+).
- CUDBGResult ( *CUDBGAPI_st::writeGlobalMemory31 )( uint32_t dev, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the global memory segment. Deprecated in 3.2.
- CUDBGResult ( *CUDBGAPI_st::writeLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the local memory segment.
- CUDBGResult ( *CUDBGAPI_st::writeParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the param memory segment.
- CUDBGResult ( *CUDBGAPI_st::writeRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t val )
- Writes content to a hardware register.
- CUDBGResult ( *CUDBGAPI_st::writeSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the shared memory segment.
Variables
- CUDBGResult ( *CUDBGAPI_st::writeGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the global memory segment (entire 40-bit VA on Fermi+).
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM
- CUDBGResult ( *CUDBGAPI_st::writeGlobalMemory31 )( uint32_t dev, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the global memory segment. Deprecated in 3.2.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::writeLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the local memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::writeParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the param memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::writeRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t val )
-
Writes content to a hardware register.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- regno
- - register index
- val
- - buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::writeSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the shared memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
Grid Properties
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::getBlockDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockDim )
- Get the number of threads in the given block.
- CUDBGResult ( *CUDBGAPI_st::getElfImage )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint64_t* size )
- Get the relocated or non-relocated ELF image and size for the grid on the given device.
- CUDBGResult ( *CUDBGAPI_st::getElfImage32 )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint32_t* size )
- Get the relocated or non-relocated ELF image and size for the grid on the given device. Deprecated in 4.0.
- CUDBGResult ( *CUDBGAPI_st::getGridAttribute )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttribute attr, uint64_t* value )
- Get the value of a grid attribute.
- CUDBGResult ( *CUDBGAPI_st::getGridAttributes )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeValuePair* pairs, uint32_t numPairs )
- Get several grid attribute values in a single API call.
- CUDBGResult ( *CUDBGAPI_st::getGridDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* gridDim )
- Get the number of blocks in the given grid.
- CUDBGResult ( *CUDBGAPI_st::getGridDim32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* gridDim )
- Get the number of blocks in the given grid. Deprecated in 4.0.
- CUDBGResult ( *CUDBGAPI_st::getTID )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* tid )
- Get the ID of the Linux thread hosting the context of the grid.
Variables
- CUDBGResult ( *CUDBGAPI_st::getBlockDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockDim )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- blockDim
- - the returned number of threads in the block
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getElfImage )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint64_t* size )
-
Get the relocated or non-relocated ELF image and size for the grid on the given device.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- relocated
- - set to true to specify the relocated ELF image, false otherwise
- *elfImage
- - pointer to the ELF image
- size
- - size of the ELF image (64 bits)
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getElfImage32 )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint32_t* size )
-
Get the relocated or non-relocated ELF image and size for the grid on the given device. Deprecated in 4.0.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- relocated
- - set to true to specify the relocated ELF image, false otherwise
- *elfImage
- - pointer to the ELF image
- size
- - size of the ELF image (32 bits)
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridAttribute )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttribute attr, uint64_t* value )
-
Get the value of a grid attribute.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- attr
- - the attribute
- value
- - the returned value of the attribute
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_ATTRIBUTE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridAttributes )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeValuePair* pairs, uint32_t numPairs )
-
Get several grid attribute values in a single API call.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- pairs
- - array of attribute/value pairs
- numPairs
- - the number of attribute/values pairs in the array
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_ATTRIBUTE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* gridDim )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- gridDim
- - the returned number of blocks in the grid
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridDim32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* gridDim )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- gridDim
- - the returned number of blocks in the grid
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getTID )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* tid )
-
Get the ID of the Linux thread hosting the context of the grid.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- tid
- - the returned thread id
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
Device Properties
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::getDeviceType )( uint32_t dev, char* buf, uint32_t sz )
- Get the string description of the device.
- CUDBGResult ( *CUDBGAPI_st::getNumDevices )( uint32_t* numDev )
- Get the number of installed CUDA devices.
- CUDBGResult ( *CUDBGAPI_st::getNumLanes )( uint32_t dev, uint32_t* numLanes )
- Get the number of lanes per warp on the device.
- CUDBGResult ( *CUDBGAPI_st::getNumRegisters )( uint32_t dev, uint32_t* numRegs )
- Get the number of registers per lane on the device.
- CUDBGResult ( *CUDBGAPI_st::getNumSMs )( uint32_t dev, uint32_t* numSMs )
- Get the total number of SMs on the device.
- CUDBGResult ( *CUDBGAPI_st::getNumWarps )( uint32_t dev, uint32_t* numWarps )
- Get the number of warps per SM on the device.
- CUDBGResult ( *CUDBGAPI_st::getSmType )( uint32_t dev, char* buf, uint32_t sz )
- Get the SM type of the device.
Variables
- CUDBGResult ( *CUDBGAPI_st::getDeviceType )( uint32_t dev, char* buf, uint32_t sz )
-
Get the string description of the device.
See also:
getSMType
Parameters
- dev
- - device index
- buf
- - the destination buffer
- sz
- - the size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_BUFFER_TOO_SMALL, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumDevices )( uint32_t* numDev )
-
Get the number of installed CUDA devices.
See also:
Parameters
- numDev
- - the returned number of devices
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumLanes )( uint32_t dev, uint32_t* numLanes )
-
Get the number of lanes per warp on the device.
See also:
Parameters
- dev
- - device index
- numLanes
- - the returned number of lanes
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumRegisters )( uint32_t dev, uint32_t* numRegs )
-
Get the number of registers per lane on the device.
See also:
Parameters
- dev
- - device index
- numRegs
- - the returned number of registers
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumSMs )( uint32_t dev, uint32_t* numSMs )
-
Get the total number of SMs on the device.
See also:
Parameters
- dev
- - device index
- numSMs
- - the returned number of SMs
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumWarps )( uint32_t dev, uint32_t* numWarps )
-
Get the number of warps per SM on the device.
See also:
Parameters
- dev
- - device index
- numWarps
- - the returned number of warps
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getSmType )( uint32_t dev, char* buf, uint32_t sz )
-
Parameters
- dev
- - device index
- buf
- - the destination buffer
- sz
- - the size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_BUFFER_TOO_SMALL, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
DWARF Utilities
Description
Variables
- CUDBGResult ( *CUDBGAPI_st::disassemble )( uint32_t dev, uint64_t addr, uint32_t* instSize, char* buf, uint32_t sz )
- Disassemble instruction at instruction address.
- CUDBGResult ( *CUDBGAPI_st::getHostAddrFromDeviceAddr )( uint32_t dev, uint64_t device_addr, uint64_t* host_addr )
- given a device virtual address, return a corresponding system memory virtual address.
- CUDBGResult ( *CUDBGAPI_st::getPhysicalRegister30 )( uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
- (DEPRECATED) Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. The function has been deprecated. use getWarpPhysicalRegister instead.
- CUDBGResult ( *CUDBGAPI_st::getPhysicalRegister40 )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
- Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC.
- CUDBGResult ( *CUDBGAPI_st::isDeviceCodeAddress )( uintptr_t addr, bool* isDeviceAddress )
- Determines whether a virtual address resides within device code.
- CUDBGResult ( *CUDBGAPI_st::lookupDeviceCodeSymbol )( char* symName, bool* symFound, uintptr_t* symAddr )
- Determines whether a symbol represents a function in device code and returns its virtual address.
Variables
- CUDBGResult ( *CUDBGAPI_st::disassemble )( uint32_t dev, uint64_t addr, uint32_t* instSize, char* buf, uint32_t sz )
-
Disassemble instruction at instruction address.
Parameters
- dev
- - device index
- addr
- - instruction address
- instSize
- - instruction size (32 or 64 bits)
- buf
- - disassembled instruction buffer
- sz
- - disassembled instruction buffer size
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::getHostAddrFromDeviceAddr )( uint32_t dev, uint64_t device_addr, uint64_t* host_addr )
-
given a device virtual address, return a corresponding system memory virtual address.
See also:
Parameters
- dev
- - device index
- device_addr
- - device memory address
- host_addr
- - returned system memory address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_CONTEXT, CUDBG_ERROR_INVALID_MEMORY_SEGMENT
- CUDBGResult ( *CUDBGAPI_st::getPhysicalRegister30 )( uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
-
(DEPRECATED) Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. The function has been deprecated. use getWarpPhysicalRegister instead.
Parameters
- pc
- - Program counter
- reg
- - virtual register index
- buf
- - physical register name(s)
- sz
- - the physical register name buffer size
- numPhysRegs
- - number of physical register names returned
- regClass
- - the class of the physical registers
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UKNOWN_FUNCTION, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::getPhysicalRegister40 )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
-
Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. If a virtual register name is mapped to more than one physical register, the physical register with the lowest physical register index will contain the highest bits of the virtual register, and the the physical register with the highest physical register index will contain the lowest bits.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp indx
- pc
- - Program counter
- reg
- - virtual register index
- buf
- - physical register name(s)
- sz
- - the physical register name buffer size
- numPhysRegs
- - number of physical register names returned
- regClass
- - the class of the physical registers
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UKNOWN_FUNCTION, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::isDeviceCodeAddress )( uintptr_t addr, bool* isDeviceAddress )
-
Determines whether a virtual address resides within device code.
Parameters
- addr
- - virtual address
- isDeviceAddress
- - true if address resides within device code
Returns
CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UNINITIALIZED, CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::lookupDeviceCodeSymbol )( char* symName, bool* symFound, uintptr_t* symAddr )
-
Determines whether a symbol represents a function in device code and returns its virtual address.
Parameters
- symName
- - symbol name
- symFound
- - set to true if the symbol is found
- symAddr
- - the symbol virtual address if found
Returns
CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UNINITIALIZED, CUDBG_SUCCESS
Events
Description
One of those events will create a CUDBGEvent:
-
the elf image of the current kernel has been loaded and the addresses within its DWARF sections have been relocated (and can now be used to set breakpoints),
-
a device breakpoint has been hit,
-
a CUDA kernel is ready to be launched,
-
a CUDA kernel has terminated.
Upon notification the debugger is responsible for handling the CUDBGEvents in the event queue by using CUDBGAPI_st::getNextEvent(), and for acknowledging the debugger API that the event has been handled by calling CUDBGAPI_st::acknowledgeEvent(). In the case of an event raised by the device itself, such as a breakpoint being hit, the event queue will be empty. It is the responsibility of the debugger to inspect the hardware any time a CUDBGEvent is received.
Example:
CUDBGEvent event; CUDBGResult res; for (res = cudbgAPI->getNextEvent(&event); res == CUDBG_SUCCESS && event.kind != CUDBG_EVENT_INVALID; res = cudbgAPI->getNextEvent(&event)) { switch (event.kind) { case CUDBG_EVENT_ELF_IMAGE_LOADED: //... break; case CUDBG_EVENT_KERNEL_READY: //... break; case CUDBG_EVENT_KERNEL_FINISHED: //... break; default: error(...); } }
See cuda-tdep.c and cuda-linux-nat.c files in the cuda-gdb source code for a more detailed example on how to use CUDBGEvent.
Classes
- struct
- Event information container.
- struct
- Event information container. Deprecated in 3.1.
- struct
- Event information container. Deprecated in 4.0.
- struct
- Event information container. Deprecated in 4.2.
- struct
- Event information passed to callback set with setNotifyNewEventCallback function.
- struct
- Event information passed to callback set with setNotifyNewEventCallback function. Deprecated in 4.1.
Typedefs
- typedef void ( *CUDBGNotifyNewEventCallback )( CUDBGEventCallbackData* data )
- function type of the function called to nofify debugger of the presence of a new event in the event queue.
- typedef void ( *CUDBGNotifyNewEventCallback31 )( void* data )
- function type of the function called to nofify debugger of the presence of a new event in the event queue. Deprecated in 3.2.
Enumerations
- enum CUDBGEventKind
- CUDA Kernel Events.
Variables
- CUDBGResult ( *CUDBGAPI_st::acknowledgeEvent30 )( CUDBGEvent30* event )
- Inform the debugger API that the event has been processed. Deprecated in 3.1.
- CUDBGResult ( *CUDBGAPI_st::acknowledgeEvents42 )( )
- Inform the debugger API that synchronous events have been processed. Deprecated in 5.0.
- CUDBGResult ( *CUDBGAPI_st::acknowledgeSyncEvents )( )
- Inform the debugger API that synchronous events have been processed.
- CUDBGResult ( *CUDBGAPI_st::getNextAsyncEvent )( CUDBGEvent* event )
- Copies the next available event in the asynchronous event queue into 'event' and removes it from the queue. The asynchronous event queue is held separate from the normal event queue, and does not require acknowledgement from the debug client.
- CUDBGResult ( *CUDBGAPI_st::getNextEvent30 )( CUDBGEvent30* event )
- Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 3.1.
- CUDBGResult ( *CUDBGAPI_st::getNextEvent32 )( CUDBGEvent32* event )
- Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 4.0.
- CUDBGResult ( *CUDBGAPI_st::getNextEvent42 )( CUDBGEvent42* event )
- Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 5.0.
- CUDBGResult ( *CUDBGAPI_st::getNextSyncEvent )( CUDBGEvent* event )
- Copies the next available event in the synchronous event queue into 'event' and removes it from the queue.
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback )( CUDBGNotifyNewEventCallback callback )
- Provides the API with the function to call to notify the debugger of a new application or device event.
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback31 )( CUDBGNotifyNewEventCallback31 callback, void* data )
- Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 3.2.
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback40 )( CUDBGNotifyNewEventCallback40 callback )
- Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 4.1.
Typedefs
- void ( *CUDBGNotifyNewEventCallback )( CUDBGEventCallbackData* data )
-
function type of the function called to nofify debugger of the presence of a new event in the event queue.
- void ( *CUDBGNotifyNewEventCallback31 )( void* data )
-
function type of the function called to nofify debugger of the presence of a new event in the event queue. Deprecated in 3.2.
Enumerations
- enum CUDBGEventKind
-
CUDA Kernel Events.
Values
- CUDBG_EVENT_INVALID = 0x000
- Invalid event.
- CUDBG_EVENT_ELF_IMAGE_LOADED = 0x001
- The ELF image for a CUDA source module is available.
- CUDBG_EVENT_KERNEL_READY = 0x002
- A CUDA kernel is about to be launched.
- CUDBG_EVENT_KERNEL_FINISHED = 0x003
- A CUDA kernel has terminated.
- CUDBG_EVENT_INTERNAL_ERROR = 0x004
- An internal error occur. The debugging framework may be unstable.
- CUDBG_EVENT_CTX_PUSH = 0x005
- A CUDA context was pushed.
- CUDBG_EVENT_CTX_POP = 0x006
- A CUDA CTX was popped.
- CUDBG_EVENT_CTX_CREATE = 0x007
- A CUDA CTX was created.
- CUDBG_EVENT_CTX_DESTROY = 0x008
- A CUDA context was destroyed.
- CUDBG_EVENT_TIMEOUT = 0x009
- An timeout event is sent at regular interval. This event can safely ge ignored.
- CUDBG_EVENT_ATTACH_COMPLETE = 0x00a
- The attach process has completed and debugging of device code may start.
- CUDBG_EVENT_DETACH_COMPLETE = 0x00b
Variables
- CUDBGResult ( *CUDBGAPI_st::acknowledgeEvent30 )( CUDBGEvent30* event )
-
Inform the debugger API that the event has been processed. Deprecated in 3.1.
Parameters
- event
- - pointer to the event that has been processed
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::acknowledgeEvents42 )( )
-
Inform the debugger API that synchronous events have been processed. Deprecated in 5.0.
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::acknowledgeSyncEvents )( )
-
Inform the debugger API that synchronous events have been processed.
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::getNextAsyncEvent )( CUDBGEvent* event )
-
Copies the next available event in the asynchronous event queue into 'event' and removes it from the queue. The asynchronous event queue is held separate from the normal event queue, and does not require acknowledgement from the debug client.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextEvent30 )( CUDBGEvent30* event )
-
Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 3.1.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextEvent32 )( CUDBGEvent32* event )
-
Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 4.0.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextEvent42 )( CUDBGEvent42* event )
-
Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 5.0.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextSyncEvent )( CUDBGEvent* event )
-
Copies the next available event in the synchronous event queue into 'event' and removes it from the queue.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback )( CUDBGNotifyNewEventCallback callback )
-
Provides the API with the function to call to notify the debugger of a new application or device event.
Parameters
- callback
- - the callback function
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback31 )( CUDBGNotifyNewEventCallback31 callback, void* data )
-
Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 3.2.
Parameters
- callback
- - the callback function
- data
- - a pointer to be passed to the callback when called
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback40 )( CUDBGNotifyNewEventCallback40 callback )
-
Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 4.1.
Parameters
- callback
- - the callback function
Returns
CUDBG_SUCCESS
Data Structures
Here are the data structures with brief descriptions:
- cudbgGetAPI
- The CUDA debugger API routines
- CUDBGEvent
- Event information container
- CUDBGEvent30
- Event information container. Deprecated in 3.1
- CUDBGEvent30::CUDBGEvent30::cases30_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::elfImageLoaded30_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelFinished30_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelReady30_st
- CUDBGEvent32
- Event information container. Deprecated in 4.0
- CUDBGEvent32::CUDBGEvent32::cases32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextCreate32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextDestroy32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPop32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPush32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::elfImageLoaded32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- CUDBGEvent42
- Event information container. Deprecated in 4.2
- CUDBGEvent42::CUDBGEvent42::cases42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextCreate42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextDestroy42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPop42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPush42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent::CUDBGEvent::cases_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextCreate_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextDestroy_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPop_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPush_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::internalError_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEventCallbackData
- Event information passed to callback set with setNotifyNewEventCallback function
- CUDBGEventCallbackData40
- Event information passed to callback set with setNotifyNewEventCallback function. Deprecated in 4.1
CUDBGAPI_st Struct Reference
Description
The CUDA debugger API routines.
Public Variables
- CUDBGResult ( *acknowledgeEvent30 )( CUDBGEvent30* event )
- Inform the debugger API that the event has been processed. Deprecated in 3.1.
- CUDBGResult ( *acknowledgeEvents42 )( )
- Inform the debugger API that synchronous events have been processed. Deprecated in 5.0.
- CUDBGResult ( *acknowledgeSyncEvents )( )
- Inform the debugger API that synchronous events have been processed.
- CUDBGResult ( *clearAttachState )( )
- Clear attach-specific state prior to detach.
- CUDBGResult ( *disassemble )( uint32_t dev, uint64_t addr, uint32_t* instSize, char* buf, uint32_t sz )
- Disassemble instruction at instruction address.
- CUDBGResult ( *finalize )( )
- Finalize the API and free all memory.
- CUDBGResult ( *getBlockDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockDim )
- Get the number of threads in the given block.
- CUDBGResult ( *getDeviceType )( uint32_t dev, char* buf, uint32_t sz )
- Get the string description of the device.
- CUDBGResult ( *getElfImage )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint64_t* size )
- Get the relocated or non-relocated ELF image and size for the grid on the given device.
- CUDBGResult ( *getElfImage32 )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint32_t* size )
- Get the relocated or non-relocated ELF image and size for the grid on the given device. Deprecated in 4.0.
- CUDBGResult ( *getGridAttribute )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttribute attr, uint64_t* value )
- Get the value of a grid attribute.
- CUDBGResult ( *getGridAttributes )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeValuePair* pairs, uint32_t numPairs )
- Get several grid attribute values in a single API call.
- CUDBGResult ( *getGridDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* gridDim )
- Get the number of blocks in the given grid.
- CUDBGResult ( *getGridDim32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* gridDim )
- Get the number of blocks in the given grid. Deprecated in 4.0.
- CUDBGResult ( *getGridStatus )( uint32_t dev, uint32_t gridId, CUDBGGridStatus* status )
- Check whether the grid corresponding to the given gridId is still present on the device.
- CUDBGResult ( *getHostAddrFromDeviceAddr )( uint32_t dev, uint64_t device_addr, uint64_t* host_addr )
- given a device virtual address, return a corresponding system memory virtual address.
- CUDBGResult ( *getNextAsyncEvent )( CUDBGEvent* event )
- Copies the next available event in the asynchronous event queue into 'event' and removes it from the queue. The asynchronous event queue is held separate from the normal event queue, and does not require acknowledgement from the debug client.
- CUDBGResult ( *getNextEvent30 )( CUDBGEvent30* event )
- Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 3.1.
- CUDBGResult ( *getNextEvent32 )( CUDBGEvent32* event )
- Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 4.0.
- CUDBGResult ( *getNextEvent42 )( CUDBGEvent42* event )
- Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 5.0.
- CUDBGResult ( *getNextSyncEvent )( CUDBGEvent* event )
- Copies the next available event in the synchronous event queue into 'event' and removes it from the queue.
- CUDBGResult ( *getNumDevices )( uint32_t* numDev )
- Get the number of installed CUDA devices.
- CUDBGResult ( *getNumLanes )( uint32_t dev, uint32_t* numLanes )
- Get the number of lanes per warp on the device.
- CUDBGResult ( *getNumRegisters )( uint32_t dev, uint32_t* numRegs )
- Get the number of registers per lane on the device.
- CUDBGResult ( *getNumSMs )( uint32_t dev, uint32_t* numSMs )
- Get the total number of SMs on the device.
- CUDBGResult ( *getNumWarps )( uint32_t dev, uint32_t* numWarps )
- Get the number of warps per SM on the device.
- CUDBGResult ( *getPhysicalRegister30 )( uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
- (DEPRECATED) Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. The function has been deprecated. use getWarpPhysicalRegister instead.
- CUDBGResult ( *getPhysicalRegister40 )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
- Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC.
- CUDBGResult ( *getSmType )( uint32_t dev, char* buf, uint32_t sz )
- Get the SM type of the device.
- CUDBGResult ( *getTID )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* tid )
- Get the ID of the Linux thread hosting the context of the grid.
- CUDBGResult ( *initialize )( )
- Initialize the API.
- CUDBGResult ( *isDeviceCodeAddress )( uintptr_t addr, bool* isDeviceAddress )
- Determines whether a virtual address resides within device code.
- CUDBGResult ( *lookupDeviceCodeSymbol )( char* symName, bool* symFound, uintptr_t* symAddr )
- Determines whether a symbol represents a function in device code and returns its virtual address.
- CUDBGResult ( *memcheckReadErrorAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* address, ptxStorageKind* storage )
- Get the address that memcheck detected an error on.
- CUDBGResult ( *readActiveLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* activeLanesMask )
- Reads the bitmask of active lanes on a valid warp.
- CUDBGResult ( *readBlockIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx )
- Reads the CUDA block index running on a valid warp.
- CUDBGResult ( *readBlockIdx32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* blockIdx )
- Reads the two-dimensional CUDA block index running on a valid warp. Deprecated in 4.0.
- CUDBGResult ( *readBrokenWarps )( uint32_t dev, uint32_t sm, uint64_t* brokenWarpsMask )
- Reads the bitmask of warps that are at a breakpoint on a given SM.
- CUDBGResult ( *readCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
- Reads the call depth (number of calls) for a given lane.
- CUDBGResult ( *readCallDepth32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* depth )
- Reads the call depth (number of calls) for a given warp. Deprecated in 4.0.
- CUDBGResult ( *readCodeMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the code memory segment.
- CUDBGResult ( *readConstMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the constant memory segment.
- CUDBGResult ( *readGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the global memory segment (entire 40-bit VA on Fermi+).
- CUDBGResult ( *readGlobalMemory31 )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the global memory segment. Deprecated in 3.2.
- CUDBGResult ( *readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* gridId )
- Reads the CUDA grid index running on a valid warp.
- CUDBGResult ( *readLaneException )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CUDBGException_t* exception )
- Reads the exception type for a given lane.
- CUDBGResult ( *readLaneStatus )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, bool* error )
- Reads the status of the given lane. For specific error values, use readLaneException.
- CUDBGResult ( *readLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the local memory segment.
- CUDBGResult ( *readPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
- Reads the PC on the given active lane.
- CUDBGResult ( *readParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the param memory segment.
- CUDBGResult ( *readPinnedMemory )( uint64_t addr, void* buf, uint32_t sz )
- Reads content at pinned address in system memory.
- CUDBGResult ( *readRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t* val )
- Reads content of a hardware register.
- CUDBGResult ( *readReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
- Reads the physical return address for a call level.
- CUDBGResult ( *readReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
- Reads the physical return address for a call level. Deprecated in 4.0.
- CUDBGResult ( *readSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
- Reads content at address in the shared memory segment.
- CUDBGResult ( *readSyscallCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
- Reads the call depth of syscalls for a given lane.
- CUDBGResult ( *readTextureMemory )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t id, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
- Read the content of texture memory with given id and coords on sm_20 and lower.
- CUDBGResult ( *readTextureMemoryBindless )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t texSymtabIndex, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
- Read the content of texture memory with given symtab index and coords on sm_30 and higher.
- CUDBGResult ( *readThreadIdx )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CuDim3* threadIdx )
- Reads the CUDA thread index running on valid lane.
- CUDBGResult ( *readValidLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* validLanesMask )
- Reads the bitmask of valid lanes on a given warp.
- CUDBGResult ( *readValidWarps )( uint32_t dev, uint32_t sm, uint64_t* validWarpsMask )
- Reads the bitmask of valid warps on a given SM.
- CUDBGResult ( *readVirtualPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
- Reads the virtual PC on the given active lane.
- CUDBGResult ( *readVirtualReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
- Reads the virtual return address for a call level.
- CUDBGResult ( *readVirtualReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
- Reads the virtual return address for a call level. Deprecated in 4.0.
- CUDBGResult ( *requestCleanupOnDetach )( )
- Request for cleanup of driver state when detaching.
- CUDBGResult ( *resumeDevice )( uint32_t dev )
- Resume a suspended CUDA device.
- CUDBGResult ( *setBreakpoint )( uint32_t dev, uint64_t addr )
- Sets a breakpoint at the given instruction address for the given device.
- CUDBGResult ( *setBreakpoint31 )( uint64_t addr )
- Sets a breakpoint at the given instruction address. Deprecated in 3.2.
- CUDBGResult ( *setNotifyNewEventCallback )( CUDBGNotifyNewEventCallback callback )
- Provides the API with the function to call to notify the debugger of a new application or device event.
- CUDBGResult ( *setNotifyNewEventCallback31 )( CUDBGNotifyNewEventCallback31 callback, void* data )
- Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 3.2.
- CUDBGResult ( *setNotifyNewEventCallback40 )( CUDBGNotifyNewEventCallback40 callback )
- Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 4.1.
- CUDBGResult ( *singleStepWarp )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* warpMask )
- Single step an individual warp on a suspended CUDA device.
- CUDBGResult ( *singleStepWarp40 )( uint32_t dev, uint32_t sm, uint32_t wp )
- (DEPRECATED)Single step an individual warp on a suspended CUDA device. This function has been deprecated. Use singleStepWarp() instead.
- CUDBGResult ( *suspendDevice )( uint32_t dev )
- Suspends a running CUDA device.
- CUDBGResult ( *unsetBreakpoint )( uint32_t dev, uint64_t addr )
- Unsets a breakpoint at the given instruction address for the given device.
- CUDBGResult ( *unsetBreakpoint31 )( uint64_t addr )
- Unsets a breakpoint at the given instruction address. Deprecated in 3.2.
- CUDBGResult ( *writeGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the global memory segment (entire 40-bit VA on Fermi+).
- CUDBGResult ( *writeGlobalMemory31 )( uint32_t dev, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the global memory segment. Deprecated in 3.2.
- CUDBGResult ( *writeLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the local memory segment.
- CUDBGResult ( *writeParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the param memory segment.
- CUDBGResult ( *writePinnedMemory )( uint64_t addr, const void* buf, uint32_t sz )
- Writes content to pinned address in system memory.
- CUDBGResult ( *writeRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t val )
- Writes content to a hardware register.
- CUDBGResult ( *writeSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
- Writes content to address in the shared memory segment.
Variables
- CUDBGResult ( *CUDBGAPI_st::acknowledgeEvent30 )( CUDBGEvent30* event )
-
Inform the debugger API that the event has been processed. Deprecated in 3.1.
Parameters
- event
- - pointer to the event that has been processed
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::acknowledgeEvents42 )( )
-
Inform the debugger API that synchronous events have been processed. Deprecated in 5.0.
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::acknowledgeSyncEvents )( )
-
Inform the debugger API that synchronous events have been processed.
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::clearAttachState )( )
-
Clear attach-specific state prior to detach.
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::disassemble )( uint32_t dev, uint64_t addr, uint32_t* instSize, char* buf, uint32_t sz )
-
Disassemble instruction at instruction address.
Parameters
- dev
- - device index
- addr
- - instruction address
- instSize
- - instruction size (32 or 64 bits)
- buf
- - disassembled instruction buffer
- sz
- - disassembled instruction buffer size
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::finalize )( )
-
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_COMMUNICATION_FAILURE, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::getBlockDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockDim )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- blockDim
- - the returned number of threads in the block
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getDeviceType )( uint32_t dev, char* buf, uint32_t sz )
-
Get the string description of the device.
See also:
getSMType
Parameters
- dev
- - device index
- buf
- - the destination buffer
- sz
- - the size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_BUFFER_TOO_SMALL, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getElfImage )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint64_t* size )
-
Get the relocated or non-relocated ELF image and size for the grid on the given device.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- relocated
- - set to true to specify the relocated ELF image, false otherwise
- *elfImage
- - pointer to the ELF image
- size
- - size of the ELF image (64 bits)
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getElfImage32 )( uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void* *elfImage, uint32_t* size )
-
Get the relocated or non-relocated ELF image and size for the grid on the given device. Deprecated in 4.0.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- relocated
- - set to true to specify the relocated ELF image, false otherwise
- *elfImage
- - pointer to the ELF image
- size
- - size of the ELF image (32 bits)
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridAttribute )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttribute attr, uint64_t* value )
-
Get the value of a grid attribute.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- attr
- - the attribute
- value
- - the returned value of the attribute
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_ATTRIBUTE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridAttributes )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeValuePair* pairs, uint32_t numPairs )
-
Get several grid attribute values in a single API call.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- pairs
- - array of attribute/value pairs
- numPairs
- - the number of attribute/values pairs in the array
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_ATTRIBUTE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* gridDim )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- gridDim
- - the returned number of blocks in the grid
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridDim32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* gridDim )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- gridDim
- - the returned number of blocks in the grid
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getGridStatus )( uint32_t dev, uint32_t gridId, CUDBGGridStatus* status )
-
Check whether the grid corresponding to the given gridId is still present on the device.
Parameters
- dev
- gridId
- - grid ID
- status
- - enum indicating whether the grid status is INVALID, PENDING, ACTIVE, SLEEPING, TERMINATED or UNDETERMINED
Returns
CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INTERNAL
- CUDBGResult ( *CUDBGAPI_st::getHostAddrFromDeviceAddr )( uint32_t dev, uint64_t device_addr, uint64_t* host_addr )
-
given a device virtual address, return a corresponding system memory virtual address.
See also:
Parameters
- dev
- - device index
- device_addr
- - device memory address
- host_addr
- - returned system memory address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_CONTEXT, CUDBG_ERROR_INVALID_MEMORY_SEGMENT
- CUDBGResult ( *CUDBGAPI_st::getNextAsyncEvent )( CUDBGEvent* event )
-
Copies the next available event in the asynchronous event queue into 'event' and removes it from the queue. The asynchronous event queue is held separate from the normal event queue, and does not require acknowledgement from the debug client.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextEvent30 )( CUDBGEvent30* event )
-
Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 3.1.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextEvent32 )( CUDBGEvent32* event )
-
Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 4.0.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextEvent42 )( CUDBGEvent42* event )
-
Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 5.0.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNextSyncEvent )( CUDBGEvent* event )
-
Copies the next available event in the synchronous event queue into 'event' and removes it from the queue.
Parameters
- event
- - pointer to an event container where to copy the event parameters
Returns
CUDBG_SUCCESS, CUDBG_ERROR_NO_EVENT_AVAILABLE, CUDBG_ERROR_INVALID_ARGS
- CUDBGResult ( *CUDBGAPI_st::getNumDevices )( uint32_t* numDev )
-
Get the number of installed CUDA devices.
See also:
Parameters
- numDev
- - the returned number of devices
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumLanes )( uint32_t dev, uint32_t* numLanes )
-
Get the number of lanes per warp on the device.
See also:
Parameters
- dev
- - device index
- numLanes
- - the returned number of lanes
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumRegisters )( uint32_t dev, uint32_t* numRegs )
-
Get the number of registers per lane on the device.
See also:
Parameters
- dev
- - device index
- numRegs
- - the returned number of registers
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumSMs )( uint32_t dev, uint32_t* numSMs )
-
Get the total number of SMs on the device.
See also:
Parameters
- dev
- - device index
- numSMs
- - the returned number of SMs
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getNumWarps )( uint32_t dev, uint32_t* numWarps )
-
Get the number of warps per SM on the device.
See also:
Parameters
- dev
- - device index
- numWarps
- - the returned number of warps
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getPhysicalRegister30 )( uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
-
(DEPRECATED) Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. The function has been deprecated. use getWarpPhysicalRegister instead.
Parameters
- pc
- - Program counter
- reg
- - virtual register index
- buf
- - physical register name(s)
- sz
- - the physical register name buffer size
- numPhysRegs
- - number of physical register names returned
- regClass
- - the class of the physical registers
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UKNOWN_FUNCTION, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::getPhysicalRegister40 )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t pc, char* reg, uint32_t* buf, uint32_t sz, uint32_t* numPhysRegs, CUDBGRegClass* regClass )
-
Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. If a virtual register name is mapped to more than one physical register, the physical register with the lowest physical register index will contain the highest bits of the virtual register, and the the physical register with the highest physical register index will contain the lowest bits.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp indx
- pc
- - Program counter
- reg
- - virtual register index
- buf
- - physical register name(s)
- sz
- - the physical register name buffer size
- numPhysRegs
- - number of physical register names returned
- regClass
- - the class of the physical registers
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UKNOWN_FUNCTION, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::getSmType )( uint32_t dev, char* buf, uint32_t sz )
-
Parameters
- dev
- - device index
- buf
- - the destination buffer
- sz
- - the size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_BUFFER_TOO_SMALL, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::getTID )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* tid )
-
Get the ID of the Linux thread hosting the context of the grid.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- tid
- - the returned thread id
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::initialize )( )
-
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::isDeviceCodeAddress )( uintptr_t addr, bool* isDeviceAddress )
-
Determines whether a virtual address resides within device code.
Parameters
- addr
- - virtual address
- isDeviceAddress
- - true if address resides within device code
Returns
CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UNINITIALIZED, CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::lookupDeviceCodeSymbol )( char* symName, bool* symFound, uintptr_t* symAddr )
-
Determines whether a symbol represents a function in device code and returns its virtual address.
Parameters
- symName
- - symbol name
- symFound
- - set to true if the symbol is found
- symAddr
- - the symbol virtual address if found
Returns
CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_UNINITIALIZED, CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::memcheckReadErrorAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* address, ptxStorageKind* storage )
-
Get the address that memcheck detected an error on.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- address
- - returned address detected by memcheck
- storage
- - returned address class of address
Returns
CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMCHECK_NOT_ENABLED, CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::readActiveLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* activeLanesMask )
-
Reads the bitmask of active lanes on a valid warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- activeLanesMask
- - the returned bitmask of active lanes
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readBlockIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx )
-
Reads the CUDA block index running on a valid warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- blockIdx
- - the returned CUDA block index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readBlockIdx32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* blockIdx )
-
Reads the two-dimensional CUDA block index running on a valid warp. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- blockIdx
- - the returned CUDA block index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readBrokenWarps )( uint32_t dev, uint32_t sm, uint64_t* brokenWarpsMask )
-
Reads the bitmask of warps that are at a breakpoint on a given SM.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- brokenWarpsMask
- - the returned bitmask of broken warps
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
-
Reads the call depth (number of calls) for a given lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- depth
- - the returned call depth
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readCallDepth32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* depth )
-
Reads the call depth (number of calls) for a given warp. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- depth
- - the returned call depth
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readCodeMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the code memory segment.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readConstMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the constant memory segment.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the global memory segment (entire 40-bit VA on Fermi+).
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM
- CUDBGResult ( *CUDBGAPI_st::readGlobalMemory31 )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the global memory segment. Deprecated in 3.2.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* gridId )
-
Reads the CUDA grid index running on a valid warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- gridId
- - the returned CUDA grid index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readLaneException )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CUDBGException_t* exception )
-
Reads the exception type for a given lane.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- exception
- - the returned exception type
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readLaneStatus )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, bool* error )
-
Reads the status of the given lane. For specific error values, use readLaneException.
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- error
- - true if there is an error
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the local memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
-
Reads the PC on the given active lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- pc
- - the returned PC
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the param memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readPinnedMemory )( uint64_t addr, void* buf, uint32_t sz )
-
Reads content at pinned address in system memory.
See also:
Parameters
- addr
- - system memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t* val )
-
Reads content of a hardware register.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- regno
- - register index
- val
- - buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
-
Reads the physical return address for a call level.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- level
- - the specified call level
- ra
- - the returned return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
-
Reads the physical return address for a call level. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- level
- - the specified call level
- ra
- - the returned return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
-
Reads content at address in the shared memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readSyscallCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
-
Reads the call depth of syscalls for a given lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- depth
- - the returned call depth
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readTextureMemory )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t id, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
-
Read the content of texture memory with given id and coords on sm_20 and lower. Read the content of texture memory with given id and coords on sm_20 and lower.
On sm_30 and higher, use readTextureMemoryBindless instead.
See also:
Parameters
- devId
- - device index
- vsm
- - SM index
- wp
- - warp index
- id
- - texture id (the value of DW_AT_location attribute in the relocated ELF image)
- dim
- - texture dimension (1 to 4)
- coords
- - array of coordinates of size dim
- buf
- - result buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readTextureMemoryBindless )( uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t texSymtabIndex, uint32_t dim, uint32_t* coords, void* buf, uint32_t sz )
-
Read the content of texture memory with given symtab index and coords on sm_30 and higher. Read the content of texture memory with given symtab index and coords on sm_30 and higher.
For sm_20 and lower, use readTextureMemory instead.
See also:
Parameters
- devId
- - device index
- vsm
- - SM index
- wp
- - warp index
- texSymtabIndex
- - global symbol table index of the texture symbol
- dim
- - texture dimension (1 to 4)
- coords
- - array of coordinates of size dim
- buf
- - result buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::readThreadIdx )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CuDim3* threadIdx )
-
Reads the CUDA thread index running on valid lane.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- threadIdx
- - the returned CUDA thread index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readValidLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* validLanesMask )
-
Reads the bitmask of valid lanes on a given warp.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- validLanesMask
- - the returned bitmask of valid lanes
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readValidWarps )( uint32_t dev, uint32_t sm, uint64_t* validWarpsMask )
-
Reads the bitmask of valid warps on a given SM.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- validWarpsMask
- - the returned bitmask of valid warps
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::readVirtualPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- pc
- - the returned PC
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_UNKNOWN_FUNCTION
- CUDBGResult ( *CUDBGAPI_st::readVirtualReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- level
- - the specified call level
- ra
- - the returned virtual return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INTERNAL
- CUDBGResult ( *CUDBGAPI_st::readVirtualReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
-
Reads the virtual return address for a call level. Deprecated in 4.0.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- level
- - the specified call level
- ra
- - the returned virtual return address for level
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_CALL_LEVEL, CUDBG_ERROR_ZERO_CALL_DEPTH, CUDBG_ERROR_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INTERNAL
- CUDBGResult ( *CUDBGAPI_st::requestCleanupOnDetach )( )
-
Request for cleanup of driver state when detaching.
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::resumeDevice )( uint32_t dev )
-
Parameters
- dev
- - device index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::setBreakpoint )( uint32_t dev, uint64_t addr )
-
Parameters
- dev
- - the device index
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INVALID_ADDRESS, CUDBG_ERROR_INVALID_DEVICE
- CUDBGResult ( *CUDBGAPI_st::setBreakpoint31 )( uint64_t addr )
-
Parameters
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INVALID_ADDRESS
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback )( CUDBGNotifyNewEventCallback callback )
-
Provides the API with the function to call to notify the debugger of a new application or device event.
Parameters
- callback
- - the callback function
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback31 )( CUDBGNotifyNewEventCallback31 callback, void* data )
-
Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 3.2.
Parameters
- callback
- - the callback function
- data
- - a pointer to be passed to the callback when called
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::setNotifyNewEventCallback40 )( CUDBGNotifyNewEventCallback40 callback )
-
Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 4.1.
Parameters
- callback
- - the callback function
Returns
CUDBG_SUCCESS
- CUDBGResult ( *CUDBGAPI_st::singleStepWarp )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* warpMask )
-
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- warpMask
- - the warps that have been single-stepped
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::singleStepWarp40 )( uint32_t dev, uint32_t sm, uint32_t wp )
-
(DEPRECATED)Single step an individual warp on a suspended CUDA device. This function has been deprecated. Use singleStepWarp() instead.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_UNKNOWN
- CUDBGResult ( *CUDBGAPI_st::suspendDevice )( uint32_t dev )
-
Parameters
- dev
- - device index
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_RUNNING_DEVICE, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::unsetBreakpoint )( uint32_t dev, uint64_t addr )
-
Parameters
- dev
- - the device index
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INVALID_ADDRESS, CUDBG_ERROR_INVALID_DEVICE
- CUDBGResult ( *CUDBGAPI_st::unsetBreakpoint31 )( uint64_t addr )
-
Parameters
- addr
- - instruction address
Returns
CUDBG_SUCCESS, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::writeGlobalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the global memory segment (entire 40-bit VA on Fermi+).
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM
- CUDBGResult ( *CUDBGAPI_st::writeGlobalMemory31 )( uint32_t dev, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the global memory segment. Deprecated in 3.2.
See also:
Parameters
- dev
- - device index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::writeLocalMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the local memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::writeParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the param memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
- CUDBGResult ( *CUDBGAPI_st::writePinnedMemory )( uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to pinned address in system memory.
See also:
Parameters
- addr
- - system memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::writeRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t val )
-
Writes content to a hardware register.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- ln
- - lane index
- regno
- - register index
- val
- - buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_LANE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED
- CUDBGResult ( *CUDBGAPI_st::writeSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void* buf, uint32_t sz )
-
Writes content to address in the shared memory segment.
See also:
Parameters
- dev
- - device index
- sm
- - SM index
- wp
- - warp index
- addr
- - memory address
- buf
- - buffer
- sz
- - size of the buffer
Returns
CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED
CUDBGEvent Struct Reference
[Events]
Description
Event information container.
Public Variables
- union CUDBGEvent::cases_st cases
- Information for each type of event.
- CUDBGEventKind kind
- Event type.
Variables
- union CUDBGEvent::cases_stCUDBGEvent::cases [inherited]
-
Information for each type of event.
- CUDBGEventKindCUDBGEvent::kind [inherited]
-
Event type.
CUDBGEvent30 Struct Reference
[Events]
Description
Event information container. Deprecated in 3.1.
Public Variables
- union CUDBGEvent30::cases30_st cases
- Information for each type of event.
- CUDBGEventKind kind
- Event type.
Variables
- union CUDBGEvent30::cases30_stCUDBGEvent30::cases [inherited]
-
Information for each type of event.
- CUDBGEventKindCUDBGEvent30::kind [inherited]
-
Event type.
CUDBGEvent30::cases30_st Union Reference
Description
Public Variables
- struct CUDBGEvent30::cases30_st::elfImageLoaded30_st elfImageLoaded
- Information about the loaded ELF image.
- struct CUDBGEvent30::cases30_st::kernelFinished30_st kernelFinished
- Information about the kernel that just terminated.
- struct CUDBGEvent30::cases30_st::kernelReady30_st kernelReady
- Information about the kernel ready to be launched.
Variables
- struct CUDBGEvent30::cases30_st::elfImageLoaded30_stCUDBGEvent30::cases30_st::elfImageLoaded [inherited]
-
Information about the loaded ELF image.
- struct CUDBGEvent30::cases30_st::kernelFinished30_stCUDBGEvent30::cases30_st::kernelFinished [inherited]
-
Information about the kernel that just terminated.
- struct CUDBGEvent30::cases30_st::kernelReady30_stCUDBGEvent30::cases30_st::kernelReady [inherited]
-
Information about the kernel ready to be launched.
CUDBGEvent30::cases30_st::elfImageLoaded30_st Struct Reference
Description
Public Variables
- char * nonRelocatedElfImage
- pointer to the non-relocated ELF image for a CUDA source module.
- char * relocatedElfImage
- pointer to the relocated ELF image for a CUDA source module.
- uint32_t size
- size of the ELF image (32-bit).
Variables
- char * CUDBGEvent30::cases30_st::elfImageLoaded30_st::nonRelocatedElfImage [inherited]
-
pointer to the non-relocated ELF image for a CUDA source module.
- char * CUDBGEvent30::cases30_st::elfImageLoaded30_st::relocatedElfImage [inherited]
-
pointer to the relocated ELF image for a CUDA source module.
- uint32_t CUDBGEvent30::cases30_st::elfImageLoaded30_st::size [inherited]
-
size of the ELF image (32-bit).
CUDBGEvent30::cases30_st::kernelFinished30_st Struct Reference
Description
Public Variables
- uint32_t dev
- device index of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
Variables
- uint32_t CUDBGEvent30::cases30_st::kernelFinished30_st::dev [inherited]
-
device index of the kernel.
- uint32_t CUDBGEvent30::cases30_st::kernelFinished30_st::gridId [inherited]
-
grid index of the kernel.
- uint32_t CUDBGEvent30::cases30_st::kernelFinished30_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
CUDBGEvent30::cases30_st::kernelReady30_st Struct Reference
Description
Public Variables
- uint32_t dev
- device index of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
Variables
- uint32_t CUDBGEvent30::cases30_st::kernelReady30_st::dev [inherited]
-
device index of the kernel.
- uint32_t CUDBGEvent30::cases30_st::kernelReady30_st::gridId [inherited]
-
grid index of the kernel.
- uint32_t CUDBGEvent30::cases30_st::kernelReady30_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
CUDBGEvent32 Struct Reference
[Events]
Description
Event information container. Deprecated in 4.0.
Public Variables
- union CUDBGEvent32::cases32_st cases
- Information for each type of event.
- CUDBGEventKind kind
- Event type.
Variables
- union CUDBGEvent32::cases32_stCUDBGEvent32::cases [inherited]
-
Information for each type of event.
- CUDBGEventKindCUDBGEvent32::kind [inherited]
-
Event type.
CUDBGEvent32::cases32_st Union Reference
Description
Public Variables
- struct CUDBGEvent32::cases32_st::contextCreate32_st contextCreate
- Information about the context being created.
- struct CUDBGEvent32::cases32_st::contextDestroy32_st contextDestroy
- Information about the context being destroyed.
- struct CUDBGEvent32::cases32_st::contextPop32_st contextPop
- Information about the context being popped.
- struct CUDBGEvent32::cases32_st::contextPush32_st contextPush
- Information about the context being pushed.
- struct CUDBGEvent32::cases32_st::elfImageLoaded32_st elfImageLoaded
- Information about the loaded ELF image.
- struct CUDBGEvent32::cases32_st::kernelFinished32_st kernelFinished
- Information about the kernel that just terminated.
- struct CUDBGEvent32::cases32_st::kernelReady32_st kernelReady
- Information about the kernel ready to be launched.
Variables
- struct CUDBGEvent32::cases32_st::contextCreate32_stCUDBGEvent32::cases32_st::contextCreate [inherited]
-
Information about the context being created.
- struct CUDBGEvent32::cases32_st::contextDestroy32_stCUDBGEvent32::cases32_st::contextDestroy [inherited]
-
Information about the context being destroyed.
- struct CUDBGEvent32::cases32_st::contextPop32_stCUDBGEvent32::cases32_st::contextPop [inherited]
-
Information about the context being popped.
- struct CUDBGEvent32::cases32_st::contextPush32_stCUDBGEvent32::cases32_st::contextPush [inherited]
-
Information about the context being pushed.
- struct CUDBGEvent32::cases32_st::elfImageLoaded32_stCUDBGEvent32::cases32_st::elfImageLoaded [inherited]
-
Information about the loaded ELF image.
- struct CUDBGEvent32::cases32_st::kernelFinished32_stCUDBGEvent32::cases32_st::kernelFinished [inherited]
-
Information about the kernel that just terminated.
- struct CUDBGEvent32::cases32_st::kernelReady32_stCUDBGEvent32::cases32_st::kernelReady [inherited]
-
Information about the kernel ready to be launched.
CUDBGEvent32::cases32_st::contextCreate32_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being created.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent32::cases32_st::contextCreate32_st::context [inherited]
-
the context being created.
- uint32_t CUDBGEvent32::cases32_st::contextCreate32_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent32::cases32_st::contextCreate32_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent32::cases32_st::contextDestroy32_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being destroyed.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent32::cases32_st::contextDestroy32_st::context [inherited]
-
the context being destroyed.
- uint32_t CUDBGEvent32::cases32_st::contextDestroy32_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent32::cases32_st::contextDestroy32_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent32::cases32_st::contextPop32_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being popped.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent32::cases32_st::contextPop32_st::context [inherited]
-
the context being popped.
- uint32_t CUDBGEvent32::cases32_st::contextPop32_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent32::cases32_st::contextPop32_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent32::cases32_st::contextPush32_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being pushed.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent32::cases32_st::contextPush32_st::context [inherited]
-
the context being pushed.
- uint32_t CUDBGEvent32::cases32_st::contextPush32_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent32::cases32_st::contextPush32_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent32::cases32_st::elfImageLoaded32_st Struct Reference
Description
Public Variables
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t module
- module of the kernel.
- char * nonRelocatedElfImage
- pointer to the non-relocated ELF image for a CUDA source module.
- char * relocatedElfImage
- pointer to the relocated ELF image for a CUDA source module.
- uint32_t size
- size of the ELF image (32-bit).
Variables
- uint64_t CUDBGEvent32::cases32_st::elfImageLoaded32_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent32::cases32_st::elfImageLoaded32_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent32::cases32_st::elfImageLoaded32_st::module [inherited]
-
module of the kernel.
- char * CUDBGEvent32::cases32_st::elfImageLoaded32_st::nonRelocatedElfImage [inherited]
-
pointer to the non-relocated ELF image for a CUDA source module.
- char * CUDBGEvent32::cases32_st::elfImageLoaded32_st::relocatedElfImage [inherited]
-
pointer to the relocated ELF image for a CUDA source module.
- uint32_t CUDBGEvent32::cases32_st::elfImageLoaded32_st::size [inherited]
-
size of the ELF image (32-bit).
CUDBGEvent32::cases32_st::kernelFinished32_st Struct Reference
Description
Public Variables
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t function
- function of the kernel.
- uint64_t functionEntry
- entry PC of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint64_t module
- module of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
Variables
- uint64_t CUDBGEvent32::cases32_st::kernelFinished32_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent32::cases32_st::kernelFinished32_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent32::cases32_st::kernelFinished32_st::function [inherited]
-
function of the kernel.
- uint64_t CUDBGEvent32::cases32_st::kernelFinished32_st::functionEntry [inherited]
-
entry PC of the kernel.
- uint32_t CUDBGEvent32::cases32_st::kernelFinished32_st::gridId [inherited]
-
grid index of the kernel.
- uint64_t CUDBGEvent32::cases32_st::kernelFinished32_st::module [inherited]
-
module of the kernel.
- uint32_t CUDBGEvent32::cases32_st::kernelFinished32_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
CUDBGEvent32::cases32_st::kernelReady32_st Struct Reference
Description
Public Variables
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t function
- function of the kernel.
- uint64_t functionEntry
- entry PC of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint64_t module
- module of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
Variables
- uint64_t CUDBGEvent32::cases32_st::kernelReady32_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent32::cases32_st::kernelReady32_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent32::cases32_st::kernelReady32_st::function [inherited]
-
function of the kernel.
- uint64_t CUDBGEvent32::cases32_st::kernelReady32_st::functionEntry [inherited]
-
entry PC of the kernel.
- uint32_t CUDBGEvent32::cases32_st::kernelReady32_st::gridId [inherited]
-
grid index of the kernel.
- uint64_t CUDBGEvent32::cases32_st::kernelReady32_st::module [inherited]
-
module of the kernel.
- uint32_t CUDBGEvent32::cases32_st::kernelReady32_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
CUDBGEvent42 Struct Reference
[Events]
Description
Event information container. Deprecated in 4.2.
Public Variables
- union CUDBGEvent42::cases42_st cases
- Information for each type of event.
- CUDBGEventKind kind
- Event type.
Variables
- union CUDBGEvent42::cases42_stCUDBGEvent42::cases [inherited]
-
Information for each type of event.
- CUDBGEventKindCUDBGEvent42::kind [inherited]
-
Event type.
CUDBGEvent42::cases42_st Union Reference
Description
Public Variables
- struct CUDBGEvent42::cases42_st::contextCreate42_st contextCreate
- Information about the context being created.
- struct CUDBGEvent42::cases42_st::contextDestroy42_st contextDestroy
- Information about the context being destroyed.
- struct CUDBGEvent42::cases42_st::contextPop42_st contextPop
- Information about the context being popped.
- struct CUDBGEvent42::cases42_st::contextPush42_st contextPush
- Information about the context being pushed.
- struct CUDBGEvent42::cases42_st::elfImageLoaded42_st elfImageLoaded
- Information about the loaded ELF image.
- struct CUDBGEvent42::cases42_st::kernelFinished42_st kernelFinished
- Information about the kernel that just terminated.
- struct CUDBGEvent42::cases42_st::kernelReady42_st kernelReady
- Information about the kernel ready to be launched.
Variables
- struct CUDBGEvent42::cases42_st::contextCreate42_stCUDBGEvent42::cases42_st::contextCreate [inherited]
-
Information about the context being created.
- struct CUDBGEvent42::cases42_st::contextDestroy42_stCUDBGEvent42::cases42_st::contextDestroy [inherited]
-
Information about the context being destroyed.
- struct CUDBGEvent42::cases42_st::contextPop42_stCUDBGEvent42::cases42_st::contextPop [inherited]
-
Information about the context being popped.
- struct CUDBGEvent42::cases42_st::contextPush42_stCUDBGEvent42::cases42_st::contextPush [inherited]
-
Information about the context being pushed.
- struct CUDBGEvent42::cases42_st::elfImageLoaded42_stCUDBGEvent42::cases42_st::elfImageLoaded [inherited]
-
Information about the loaded ELF image.
- struct CUDBGEvent42::cases42_st::kernelFinished42_stCUDBGEvent42::cases42_st::kernelFinished [inherited]
-
Information about the kernel that just terminated.
- struct CUDBGEvent42::cases42_st::kernelReady42_stCUDBGEvent42::cases42_st::kernelReady [inherited]
-
Information about the kernel ready to be launched.
CUDBGEvent42::cases42_st::contextCreate42_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being created.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent42::cases42_st::contextCreate42_st::context [inherited]
-
the context being created.
- uint32_t CUDBGEvent42::cases42_st::contextCreate42_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent42::cases42_st::contextCreate42_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent42::cases42_st::contextDestroy42_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being destroyed.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent42::cases42_st::contextDestroy42_st::context [inherited]
-
the context being destroyed.
- uint32_t CUDBGEvent42::cases42_st::contextDestroy42_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent42::cases42_st::contextDestroy42_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent42::cases42_st::contextPop42_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being popped.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent42::cases42_st::contextPop42_st::context [inherited]
-
the context being popped.
- uint32_t CUDBGEvent42::cases42_st::contextPop42_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent42::cases42_st::contextPop42_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent42::cases42_st::contextPush42_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being pushed.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent42::cases42_st::contextPush42_st::context [inherited]
-
the context being pushed.
- uint32_t CUDBGEvent42::cases42_st::contextPush42_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent42::cases42_st::contextPush42_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent42::cases42_st::elfImageLoaded42_st Struct Reference
Description
Public Variables
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t module
- module of the kernel.
- char * nonRelocatedElfImage
- pointer to the non-relocated ELF image for a CUDA source module.
- char * relocatedElfImage
- pointer to the relocated ELF image for a CUDA source module.
- uint64_t size
- size of the ELF image (64-bit).
- uint32_t size32
- size of the ELF image (32-bit). Deprecated in 4.0.
Variables
- uint64_t CUDBGEvent42::cases42_st::elfImageLoaded42_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent42::cases42_st::elfImageLoaded42_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent42::cases42_st::elfImageLoaded42_st::module [inherited]
-
module of the kernel.
- char * CUDBGEvent42::cases42_st::elfImageLoaded42_st::nonRelocatedElfImage [inherited]
-
pointer to the non-relocated ELF image for a CUDA source module.
- char * CUDBGEvent42::cases42_st::elfImageLoaded42_st::relocatedElfImage [inherited]
-
pointer to the relocated ELF image for a CUDA source module.
- uint64_t CUDBGEvent42::cases42_st::elfImageLoaded42_st::size [inherited]
-
size of the ELF image (64-bit).
- uint32_t CUDBGEvent42::cases42_st::elfImageLoaded42_st::size32 [inherited]
-
size of the ELF image (32-bit). Deprecated in 4.0.
CUDBGEvent42::cases42_st::kernelFinished42_st Struct Reference
Description
Public Variables
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t function
- function of the kernel.
- uint64_t functionEntry
- entry PC of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint64_t module
- module of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
Variables
- uint64_t CUDBGEvent42::cases42_st::kernelFinished42_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent42::cases42_st::kernelFinished42_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent42::cases42_st::kernelFinished42_st::function [inherited]
-
function of the kernel.
- uint64_t CUDBGEvent42::cases42_st::kernelFinished42_st::functionEntry [inherited]
-
entry PC of the kernel.
- uint32_t CUDBGEvent42::cases42_st::kernelFinished42_st::gridId [inherited]
-
grid index of the kernel.
- uint64_t CUDBGEvent42::cases42_st::kernelFinished42_st::module [inherited]
-
module of the kernel.
- uint32_t CUDBGEvent42::cases42_st::kernelFinished42_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
CUDBGEvent42::cases42_st::kernelReady42_st Struct Reference
Description
Public Variables
- CuDim3 blockDim
- block dimensions of the kernel.
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t function
- function of the kernel.
- uint64_t functionEntry
- entry PC of the kernel.
- CuDim3 gridDim
- grid dimensions of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint64_t module
- module of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
- CUDBGKernelType type
- the type of the kernel: system or application.
Variables
- CuDim3 CUDBGEvent42::cases42_st::kernelReady42_st::blockDim [inherited]
-
block dimensions of the kernel.
- uint64_t CUDBGEvent42::cases42_st::kernelReady42_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent42::cases42_st::kernelReady42_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent42::cases42_st::kernelReady42_st::function [inherited]
-
function of the kernel.
- uint64_t CUDBGEvent42::cases42_st::kernelReady42_st::functionEntry [inherited]
-
entry PC of the kernel.
- CuDim3 CUDBGEvent42::cases42_st::kernelReady42_st::gridDim [inherited]
-
grid dimensions of the kernel.
- uint32_t CUDBGEvent42::cases42_st::kernelReady42_st::gridId [inherited]
-
grid index of the kernel.
- uint64_t CUDBGEvent42::cases42_st::kernelReady42_st::module [inherited]
-
module of the kernel.
- uint32_t CUDBGEvent42::cases42_st::kernelReady42_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
- CUDBGKernelTypeCUDBGEvent42::cases42_st::kernelReady42_st::type [inherited]
-
the type of the kernel: system or application.
CUDBGEvent::cases_st Union Reference
Description
Public Variables
- struct CUDBGEvent::cases_st::contextCreate_st contextCreate
- Information about the context being created.
- struct CUDBGEvent::cases_st::contextDestroy_st contextDestroy
- Information about the context being destroyed.
- struct CUDBGEvent::cases_st::contextPop_st contextPop
- Information about the context being popped.
- struct CUDBGEvent::cases_st::contextPush_st contextPush
- Information about the context being pushed.
- struct CUDBGEvent::cases_st::elfImageLoaded_st elfImageLoaded
- Information about the loaded ELF image.
- struct CUDBGEvent::cases_st::internalError_st internalError
- Information about internal erros.
- struct CUDBGEvent::cases_st::kernelFinished_st kernelFinished
- Information about the kernel that just terminated.
- struct CUDBGEvent::cases_st::kernelReady_st kernelReady
- Information about the kernel ready to be launched.
Variables
- struct CUDBGEvent::cases_st::contextCreate_stCUDBGEvent::cases_st::contextCreate [inherited]
-
Information about the context being created.
- struct CUDBGEvent::cases_st::contextDestroy_stCUDBGEvent::cases_st::contextDestroy [inherited]
-
Information about the context being destroyed.
- struct CUDBGEvent::cases_st::contextPop_stCUDBGEvent::cases_st::contextPop [inherited]
-
Information about the context being popped.
- struct CUDBGEvent::cases_st::contextPush_stCUDBGEvent::cases_st::contextPush [inherited]
-
Information about the context being pushed.
- struct CUDBGEvent::cases_st::elfImageLoaded_stCUDBGEvent::cases_st::elfImageLoaded [inherited]
-
Information about the loaded ELF image.
- struct CUDBGEvent::cases_st::internalError_stCUDBGEvent::cases_st::internalError [inherited]
-
Information about internal erros.
- struct CUDBGEvent::cases_st::kernelFinished_stCUDBGEvent::cases_st::kernelFinished [inherited]
-
Information about the kernel that just terminated.
- struct CUDBGEvent::cases_st::kernelReady_stCUDBGEvent::cases_st::kernelReady [inherited]
-
Information about the kernel ready to be launched.
CUDBGEvent::cases_st::contextCreate_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being created.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent::cases_st::contextCreate_st::context [inherited]
-
the context being created.
- uint32_t CUDBGEvent::cases_st::contextCreate_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent::cases_st::contextCreate_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent::cases_st::contextDestroy_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being destroyed.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent::cases_st::contextDestroy_st::context [inherited]
-
the context being destroyed.
- uint32_t CUDBGEvent::cases_st::contextDestroy_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent::cases_st::contextDestroy_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent::cases_st::contextPop_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being popped.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent::cases_st::contextPop_st::context [inherited]
-
the context being popped.
- uint32_t CUDBGEvent::cases_st::contextPop_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent::cases_st::contextPop_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent::cases_st::contextPush_st Struct Reference
Description
Public Variables
- uint64_t context
- the context being pushed.
- uint32_t dev
- device index of the context.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the context (Linux only).
Variables
- uint64_t CUDBGEvent::cases_st::contextPush_st::context [inherited]
-
the context being pushed.
- uint32_t CUDBGEvent::cases_st::contextPush_st::dev [inherited]
-
device index of the context.
- uint32_t CUDBGEvent::cases_st::contextPush_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the context (Linux only).
CUDBGEvent::cases_st::elfImageLoaded_st Struct Reference
Description
Public Variables
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t module
- module of the kernel.
- char * nonRelocatedElfImage
- pointer to the non-relocated ELF image for a CUDA source module.
- char * relocatedElfImage
- pointer to the relocated ELF image for a CUDA source module.
- uint64_t size
- size of the ELF image (64-bit).
- uint32_t size32
- size of the ELF image (32-bit). Deprecated in 4.0.
Variables
- uint64_t CUDBGEvent::cases_st::elfImageLoaded_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent::cases_st::elfImageLoaded_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent::cases_st::elfImageLoaded_st::module [inherited]
-
module of the kernel.
- char * CUDBGEvent::cases_st::elfImageLoaded_st::nonRelocatedElfImage [inherited]
-
pointer to the non-relocated ELF image for a CUDA source module.
- char * CUDBGEvent::cases_st::elfImageLoaded_st::relocatedElfImage [inherited]
-
pointer to the relocated ELF image for a CUDA source module.
- uint64_t CUDBGEvent::cases_st::elfImageLoaded_st::size [inherited]
-
size of the ELF image (64-bit).
- uint32_t CUDBGEvent::cases_st::elfImageLoaded_st::size32 [inherited]
-
size of the ELF image (32-bit). Deprecated in 4.0.
CUDBGEvent::cases_st::internalError_st Struct Reference
Description
Public Variables
- CUDBGResult errorType
- Type of the internal error.
Variables
- CUDBGResultCUDBGEvent::cases_st::internalError_st::errorType [inherited]
-
Type of the internal error.
CUDBGEvent::cases_st::kernelFinished_st Struct Reference
Description
Public Variables
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t function
- function of the kernel.
- uint64_t functionEntry
- entry PC of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint64_t module
- module of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
Variables
- uint64_t CUDBGEvent::cases_st::kernelFinished_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent::cases_st::kernelFinished_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent::cases_st::kernelFinished_st::function [inherited]
-
function of the kernel.
- uint64_t CUDBGEvent::cases_st::kernelFinished_st::functionEntry [inherited]
-
entry PC of the kernel.
- uint32_t CUDBGEvent::cases_st::kernelFinished_st::gridId [inherited]
-
grid index of the kernel.
- uint64_t CUDBGEvent::cases_st::kernelFinished_st::module [inherited]
-
module of the kernel.
- uint32_t CUDBGEvent::cases_st::kernelFinished_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
CUDBGEvent::cases_st::kernelReady_st Struct Reference
Description
Public Variables
- CuDim3 blockDim
- block dimensions of the kernel.
- uint64_t context
- context of the kernel.
- uint32_t dev
- device index of the kernel.
- uint64_t function
- function of the kernel.
- uint64_t functionEntry
- entry PC of the kernel.
- CuDim3 gridDim
- grid dimensions of the kernel.
- uint32_t gridId
- grid index of the kernel.
- uint64_t module
- module of the kernel.
- uint32_t tid
- host thread id (or LWP id) of the thread hosting the kernel (Linux only).
- CUDBGKernelType type
- the type of the kernel: system or application.
Variables
- CuDim3 CUDBGEvent::cases_st::kernelReady_st::blockDim [inherited]
-
block dimensions of the kernel.
- uint64_t CUDBGEvent::cases_st::kernelReady_st::context [inherited]
-
context of the kernel.
- uint32_t CUDBGEvent::cases_st::kernelReady_st::dev [inherited]
-
device index of the kernel.
- uint64_t CUDBGEvent::cases_st::kernelReady_st::function [inherited]
-
function of the kernel.
- uint64_t CUDBGEvent::cases_st::kernelReady_st::functionEntry [inherited]
-
entry PC of the kernel.
- CuDim3 CUDBGEvent::cases_st::kernelReady_st::gridDim [inherited]
-
grid dimensions of the kernel.
- uint32_t CUDBGEvent::cases_st::kernelReady_st::gridId [inherited]
-
grid index of the kernel.
- uint64_t CUDBGEvent::cases_st::kernelReady_st::module [inherited]
-
module of the kernel.
- uint32_t CUDBGEvent::cases_st::kernelReady_st::tid [inherited]
-
host thread id (or LWP id) of the thread hosting the kernel (Linux only).
- CUDBGKernelTypeCUDBGEvent::cases_st::kernelReady_st::type [inherited]
-
the type of the kernel: system or application.
CUDBGEventCallbackData Struct Reference
[Events]
Description
Event information passed to callback set with setNotifyNewEventCallback function.
Public Variables
- uint32_t tid
- Host thread id of the context generating the event. Zero if not available.
- uint32_t timeout
- A boolean notifying the debugger that the debug API timed while waiting for a reponse from the debugger to a previous event. It is up to the debugger to decide what to do in response to a timeout.
Variables
- uint32_t CUDBGEventCallbackData::tid [inherited]
-
Host thread id of the context generating the event. Zero if not available.
- uint32_t CUDBGEventCallbackData::timeout [inherited]
-
A boolean notifying the debugger that the debug API timed while waiting for a reponse from the debugger to a previous event. It is up to the debugger to decide what to do in response to a timeout.
CUDBGEventCallbackData40 Struct Reference
[Events]
Description
Event information passed to callback set with setNotifyNewEventCallback function. Deprecated in 4.1.
Public Variables
- uint32_t tid
- Host thread id of the context generating the event. Zero if not available.
Variables
- uint32_t CUDBGEventCallbackData40::tid [inherited]
-
Host thread id of the context generating the event. Zero if not available.
Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
C
- cases
- CUDBGEvent30
- CUDBGEvent32
- CUDBGEvent
- CUDBGEvent42
- clearAttachState
- cudbgGetAPI
- context
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPush42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPop42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPush32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextCreate42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextDestroy42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPop32_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextDestroy_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextCreate_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextCreate32_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPush_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::elfImageLoaded32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextDestroy32_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPop_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
- contextCreate
- CUDBGEvent42::CUDBGEvent42::cases42_st
- CUDBGEvent::CUDBGEvent::cases_st
- CUDBGEvent32::CUDBGEvent32::cases32_st
- contextDestroy
- CUDBGEvent32::CUDBGEvent32::cases32_st
- CUDBGEvent::CUDBGEvent::cases_st
- CUDBGEvent42::CUDBGEvent42::cases42_st
- contextPop
- CUDBGEvent42::CUDBGEvent42::cases42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st
- CUDBGEvent::CUDBGEvent::cases_st
- contextPush
- CUDBGEvent32::CUDBGEvent32::cases32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st
- CUDBGEvent::CUDBGEvent::cases_st
D
- dev
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelReady30_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelFinished30_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextDestroy_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextCreate_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPop_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPush_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextCreate42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPop42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPush42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextDestroy32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextCreate32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPop32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPush32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextDestroy42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::elfImageLoaded32_st
- disassemble
- cudbgGetAPI
F
- finalize
- cudbgGetAPI
- function
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
- functionEntry
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
G
- getBlockDim
- cudbgGetAPI
- getDeviceType
- cudbgGetAPI
- getElfImage
- cudbgGetAPI
- getElfImage32
- cudbgGetAPI
- getGridAttribute
- cudbgGetAPI
- getGridAttributes
- cudbgGetAPI
- getGridDim
- cudbgGetAPI
- getGridDim32
- cudbgGetAPI
- getGridStatus
- cudbgGetAPI
- getHostAddrFromDeviceAddr
- cudbgGetAPI
- getNextAsyncEvent
- cudbgGetAPI
- getNextEvent30
- cudbgGetAPI
- getNextEvent32
- cudbgGetAPI
- getNextEvent42
- cudbgGetAPI
- getNextSyncEvent
- cudbgGetAPI
- getNumDevices
- cudbgGetAPI
- getNumLanes
- cudbgGetAPI
- getNumRegisters
- cudbgGetAPI
- getNumSMs
- cudbgGetAPI
- getNumWarps
- cudbgGetAPI
- getPhysicalRegister30
- cudbgGetAPI
- getPhysicalRegister40
- cudbgGetAPI
- getSmType
- cudbgGetAPI
- getTID
- cudbgGetAPI
- gridDim
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- gridId
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelReady30_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelFinished30_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
I
- initialize
- cudbgGetAPI
- internalError
- CUDBGEvent::CUDBGEvent::cases_st
- isDeviceCodeAddress
- cudbgGetAPI
K
- kernelFinished
- CUDBGEvent30::CUDBGEvent30::cases30_st
- CUDBGEvent32::CUDBGEvent32::cases32_st
- CUDBGEvent::CUDBGEvent::cases_st
- CUDBGEvent42::CUDBGEvent42::cases42_st
- kernelReady
- CUDBGEvent::CUDBGEvent::cases_st
- CUDBGEvent30::CUDBGEvent30::cases30_st
- CUDBGEvent42::CUDBGEvent42::cases42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st
- kind
- CUDBGEvent30
- CUDBGEvent42
- CUDBGEvent32
- CUDBGEvent
M
- memcheckReadErrorAddress
- cudbgGetAPI
- module
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::elfImageLoaded32_st
N
- nonRelocatedElfImage
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::elfImageLoaded30_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::elfImageLoaded32_st
R
- readActiveLanes
- cudbgGetAPI
- readBlockIdx
- cudbgGetAPI
- readBlockIdx32
- cudbgGetAPI
- readBrokenWarps
- cudbgGetAPI
- readCallDepth
- cudbgGetAPI
- readCallDepth32
- cudbgGetAPI
- readCodeMemory
- cudbgGetAPI
- readConstMemory
- cudbgGetAPI
- readGlobalMemory
- cudbgGetAPI
- readGlobalMemory31
- cudbgGetAPI
- readGridId
- cudbgGetAPI
- readLaneException
- cudbgGetAPI
- readLaneStatus
- cudbgGetAPI
- readLocalMemory
- cudbgGetAPI
- readParamMemory
- cudbgGetAPI
- readPC
- cudbgGetAPI
- readPinnedMemory
- cudbgGetAPI
- readRegister
- cudbgGetAPI
- readReturnAddress
- cudbgGetAPI
- readReturnAddress32
- cudbgGetAPI
- readSharedMemory
- cudbgGetAPI
- readSyscallCallDepth
- cudbgGetAPI
- readTextureMemory
- cudbgGetAPI
- readTextureMemoryBindless
- cudbgGetAPI
- readThreadIdx
- cudbgGetAPI
- readValidLanes
- cudbgGetAPI
- readValidWarps
- cudbgGetAPI
- readVirtualPC
- cudbgGetAPI
- readVirtualReturnAddress
- cudbgGetAPI
- readVirtualReturnAddress32
- cudbgGetAPI
- relocatedElfImage
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::elfImageLoaded32_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::elfImageLoaded30_st
- requestCleanupOnDetach
- cudbgGetAPI
- resumeDevice
- cudbgGetAPI
S
- setBreakpoint
- cudbgGetAPI
- setBreakpoint31
- cudbgGetAPI
- setNotifyNewEventCallback
- cudbgGetAPI
- setNotifyNewEventCallback31
- cudbgGetAPI
- setNotifyNewEventCallback40
- cudbgGetAPI
- singleStepWarp
- cudbgGetAPI
- singleStepWarp40
- cudbgGetAPI
- size
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::elfImageLoaded30_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::elfImageLoaded32_st
- size32
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::elfImageLoaded_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::elfImageLoaded42_st
- suspendDevice
- cudbgGetAPI
T
- tid
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelReady30_st
- CUDBGEvent30::CUDBGEvent30::cases30_st::CUDBGEvent30::cases30_st::kernelFinished30_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelFinished32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextDestroy32_st
- CUDBGEventCallbackData
- CUDBGEventCallbackData40
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextDestroy_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextCreate_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPop_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelFinished_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::contextPush_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextDestroy42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextCreate42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPop42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::contextPush42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelFinished42_st
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPush32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextCreate32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::contextPop32_st
- CUDBGEvent32::CUDBGEvent32::cases32_st::CUDBGEvent32::cases32_st::kernelReady32_st
- timeout
- CUDBGEventCallbackData
- type
- CUDBGEvent42::CUDBGEvent42::cases42_st::CUDBGEvent42::cases42_st::kernelReady42_st
- CUDBGEvent::CUDBGEvent::cases_st::CUDBGEvent::cases_st::kernelReady_st
W
- writeGlobalMemory
- cudbgGetAPI
- writeGlobalMemory31
- cudbgGetAPI
- writeLocalMemory
- cudbgGetAPI
- writeParamMemory
- cudbgGetAPI
- writePinnedMemory
- cudbgGetAPI
- writeRegister
- cudbgGetAPI
- writeSharedMemory
- cudbgGetAPI
File List
Here is a list of all documented files with brief descriptions:
- cudadebugger.h
- Header file for the CUDA debugger API
cudadebugger.h File Reference
Description
Header file for the CUDA debugger API.
cudadebugger.h
/*
* Copyright 2007-2012 NVIDIA Corporation. All rights reserved.
*
* NOTICE TO LICENSEE:
*
* This source code and/or documentation ("Licensed Deliverables") are
* subject to NVIDIA intellectual property rights under U.S. and
* international Copyright laws.
*
* These Licensed Deliverables contained herein is PROPRIETARY and
* CONFIDENTIAL to NVIDIA and is being provided under the terms and
* conditions of a form of NVIDIA software license agreement by and
* between NVIDIA and Licensee ("License Agreement") or electronically
* accepted by Licensee. Notwithstanding any terms or conditions to
* the contrary in the License Agreement, reproduction or disclosure
* of the Licensed Deliverables to any third party without the express
* written consent of NVIDIA is prohibited.
*
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
* SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
* PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
* NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
* DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
* NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
* SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
* DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THESE LICENSED DELIVERABLES.
*
* U.S. Government End Users. These Licensed Deliverables are a
* "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
* 1995), consisting of "commercial computer software" and "commercial
* computer software documentation" as such terms are used in 48
* C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
* only as a commercial end item. Consistent with 48 C.F.R.12.212 and
* 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
* U.S. Government End Users acquire the Licensed Deliverables with
* only those rights set forth herein.
*
* Any use of the Licensed Deliverables in individual and commercial
* software must include, in the user documentation and internal
* comments to the code, the above Disclaimer and U.S. Government End
* Users Notice.
*/
/*--------------------------------- Includes --------------------------------*/
#ifndef CUDADEBUGGER_H
#define CUDADEBUGGER_H
#include <stdlib.h>
#include "cuda_stdint.h"
#if defined(__STDC__)
#include <inttypes.h>
#include <stdbool.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if defined(_WIN32) && !defined(_WIN64)
/* Windows 32-bit */
#define PRIxPTR "I32x"
#endif
#if defined(_WIN64)
/* Windows 64-bit */
#define PRIxPTR "I64x"
#endif
#if defined(_WIN32)
/* Windows 32- and 64-bit */
#define PRIx64 "I64x"
typedef unsigned char bool;
#undef false
#undef true
#define false 0
#define true 1
#endif
/*--------------------------------- API Version ------------------------------*/
#define CUDBG_API_VERSION_MAJOR 5 /* Major release version number */
#define CUDBG_API_VERSION_MINOR 0 /* Minor release version number */
#define CUDBG_API_VERSION_REVISION 77 /* Revision (build) number */
/*---------------------------------- Constants -------------------------------*/
#define CUDBG_MAX_DEVICES 32 /* Maximum number of supported devices */
#define CUDBG_MAX_SMS 64 /* Maximum number of SMs per device */
#define CUDBG_MAX_WARPS 64 /* Maximum number of warps per SM */
#define CUDBG_MAX_LANES 32 /* Maximum number of lanes per warp */
/*----------------------- Thread/Block Coordinates Types ---------------------*/
typedef struct { uint32_t x, y; } CuDim2; /* DEPRECATED */
typedef struct { uint32_t x, y, z; } CuDim3; /* 3-dimensional coordinates for threads,... */
/*--------------------- Memory Segments (as used in DWARF) -------------------*/
typedef enum {
ptxUNSPECIFIEDStorage,
ptxCodeStorage,
ptxRegStorage,
ptxSregStorage,
ptxConstStorage,
ptxGlobalStorage,
ptxLocalStorage,
ptxParamStorage,
ptxSharedStorage,
ptxSurfStorage,
ptxTexStorage,
ptxTexSamplerStorage,
ptxGenericStorage,
ptxIParamStorage,
ptxOParamStorage,
ptxFrameStorage,
ptxMAXStorage
} ptxStorageKind;
/*--------------------------- Debugger System Calls --------------------------*/
#define CUDBG_IPC_FLAG_NAME cudbgIpcFlag
#define CUDBG_RPC_ENABLED cudbgRpcEnabled
#define CUDBG_APICLIENT_PID cudbgApiClientPid
#define CUDBG_DEBUGGER_INITIALIZED cudbgDebuggerInitialized
#define CUDBG_APICLIENT_REVISION cudbgApiClientRevision
#define CUDBG_SESSION_ID cudbgSessionId
#define CUDBG_ATTACH_HANDLER_AVAILABLE cudbgAttachHandlerAvailable
#define CUDBG_DETACH_SUSPENDED_DEVICES_MASK cudbgDetachSuspendedDevicesMask
/*---------------- Internal Breakpoint Entries for Error Reporting ------------*/
#define CUDBG_REPORT_DRIVER_API_ERROR cudbgReportDriverApiError
#define CUDBG_REPORTED_DRIVER_API_ERROR_CODE cudbgReportedDriverApiErrorCode
#define CUDBG_REPORTED_DRIVER_API_ERROR_FUNC_NAME_SIZE cudbgReportedDriverApiErrorFuncNameSize
#define CUDBG_REPORTED_DRIVER_API_ERROR_FUNC_NAME_ADDR cudbgReportedDriverApiErrorFuncNameAddr
#define CUDBG_REPORT_DRIVER_INTERNAL_ERROR cudbgReportDriverInternalError
#define CUDBG_REPORTED_DRIVER_INTERNAL_ERROR_CODE cudbgReportedDriverInternalErrorCode
/*----------------------------- API Return Types -----------------------------*/
typedef enum {
CUDBG_SUCCESS = 0x0000, /* Succesful execution */
CUDBG_ERROR_UNKNOWN = 0x0001, /* Error type not listed below */
CUDBG_ERROR_BUFFER_TOO_SMALL = 0x0002, /* Cannot copy all the queried data into the buffer argument */
CUDBG_ERROR_UNKNOWN_FUNCTION = 0x0003, /* Function cannot be found in the CUDA kernel */
CUDBG_ERROR_INVALID_ARGS = 0x0004, /* Wrong use of arguments (NULL pointer, illegal value,...) */
CUDBG_ERROR_UNINITIALIZED = 0x0005, /* Debugger API has not yet been properly initialized */
CUDBG_ERROR_INVALID_COORDINATES = 0x0006, /* Invalid block or thread coordinates were provided */
CUDBG_ERROR_INVALID_MEMORY_SEGMENT = 0x0007, /* Invalid memory segment requested (read/write) */
CUDBG_ERROR_INVALID_MEMORY_ACCESS = 0x0008, /* Requested address (+size) is not within proper segment boundaries */
CUDBG_ERROR_MEMORY_MAPPING_FAILED = 0x0009, /* Memory is not mapped and can't be mapped */
CUDBG_ERROR_INTERNAL = 0x000a, /* A debugger internal error occurred */
CUDBG_ERROR_INVALID_DEVICE = 0x000b, /* Specified device cannot be found */
CUDBG_ERROR_INVALID_SM = 0x000c, /* Specified sm cannot be found */
CUDBG_ERROR_INVALID_WARP = 0x000d, /* Specified warp cannot be found */
CUDBG_ERROR_INVALID_LANE = 0x000e, /* Specified lane cannot be found */
CUDBG_ERROR_SUSPENDED_DEVICE = 0x000f, /* device is suspended */
CUDBG_ERROR_RUNNING_DEVICE = 0x0010, /* device is running and not suspended */
CUDBG_ERROR_INVALID_ADDRESS = 0x0012, /* address is out-of-range */
CUDBG_ERROR_INCOMPATIBLE_API = 0x0013, /* API version does not match */
CUDBG_ERROR_INITIALIZATION_FAILURE = 0x0014, /* The CUDA Driver failed to initialize */
CUDBG_ERROR_INVALID_GRID = 0x0015, /* Specified grid cannot be found */
CUDBG_ERROR_NO_EVENT_AVAILABLE = 0x0016, /* No event left to be processed */
CUDBG_ERROR_SOME_DEVICES_WATCHDOGGED = 0x0017, /* One or more devices have an associated watchdog (eg. X) */
CUDBG_ERROR_ALL_DEVICES_WATCHDOGGED = 0x0018, /* All devices have an associated watchdog (eg. X) */
CUDBG_ERROR_INVALID_ATTRIBUTE = 0x0019, /* Specified attribute does not exist or is incorrect */
CUDBG_ERROR_ZERO_CALL_DEPTH = 0x001a, /* No function calls have been made on the device */
CUDBG_ERROR_INVALID_CALL_LEVEL = 0x001b, /* Specified call level is invalid */
CUDBG_ERROR_COMMUNICATION_FAILURE = 0x001c, /* Communication error between the debugger and the application. */
CUDBG_ERROR_INVALID_CONTEXT = 0x001d, /* Specified context cannot be found */
CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM = 0x001e, /* Requested address was not originally allocated from device memory (most likely visible in system memory) */
CUDBG_ERROR_MEMORY_UNMAPPING_FAILED = 0x001f, /* Memory is not unmapped and can't be unmapped */
CUDBG_ERROR_INCOMPATIBLE_DISPLAY_DRIVER = 0x0020, /* The display driver is incompatible with the API */
CUDBG_ERROR_INVALID_MODULE = 0x0021, /* The specified module is not valid */
CUDBG_ERROR_LANE_NOT_IN_SYSCALL = 0x0022, /* The specified lane is not inside a device syscall */
CUDBG_ERROR_MEMCHECK_NOT_ENABLED = 0x0023, /* Memcheck has not been enabled */
CUDBG_ERROR_INVALID_ENVVAR_ARGS = 0x0024, /* Some environment variable's value is invalid */
CUDBG_ERROR_OS_RESOURCES = 0x0025, /* Error while allocating resources from the OS */
CUDBG_ERROR_FORK_FAILED = 0x0026, /* Error while forking the debugger process */
} CUDBGResultResult values of all the API routines. ;
/*------------------------------ Grid Attributes -----------------------------*/
typedef enum {
CUDBG_ATTR_GRID_LAUNCH_BLOCKING = 0x000, /* Whether the grid launch is blocking or not. */
CUDBG_ATTR_GRID_TID = 0x001, /* Id of the host thread that launched the grid. */
} CUDBGAttributeQuery attribute. ;
typedef struct {
CUDBGAttributeQuery attribute. attribute;
uint64_t value;
} CUDBGAttributeValuePair;
typedef enum {
CUDBG_GRID_STATUS_INVALID, /* An invalid grid ID was passed, or an error occurred during status lookup */
CUDBG_GRID_STATUS_PENDING, /* The grid was launched but is not running on the HW yet */
CUDBG_GRID_STATUS_ACTIVE, /* The grid is currently running on the HW */
CUDBG_GRID_STATUS_SLEEPING, /* The grid is on the device, doing a join */
CUDBG_GRID_STATUS_TERMINATED, /* The grid has finished executing */
CUDBG_GRID_STATUS_UNDETERMINED, /* The grid is either PENDING or TERMINATED */
} CUDBGGridStatusGrid status. ;
/*------------------------------- Kernel Types -------------------------------*/
typedef enum {
CUDBG_KNL_TYPE_UNKNOWN = 0x000, /* Any type not listed below. */
CUDBG_KNL_TYPE_SYSTEM = 0x001, /* System kernel, such as MemCpy. */
CUDBG_KNL_TYPE_APPLICATION = 0x002, /* Application kernel, user-defined or libraries. */
} CUDBGKernelTypeKernel types. ;
/*-------------------------- Physical Register Types -------------------------*/
typedef enum {
REG_CLASS_INVALID = 0x000, /* invalid register */
REG_CLASS_REG_CC = 0x001, /* Condition register */
REG_CLASS_REG_PRED = 0x002, /* Predicate register */
REG_CLASS_REG_ADDR = 0x003, /* Address register */
REG_CLASS_REG_HALF = 0x004, /* 16-bit register (Currently unused) */
REG_CLASS_REG_FULL = 0x005, /* 32-bit register */
REG_CLASS_MEM_LOCAL = 0x006, /* register spilled in memory */
REG_CLASS_LMEM_REG_OFFSET = 0x007, /* register at stack offset (ABI only) */
} CUDBGRegClassPhysical register types. ;
/*---------------------------- Application Events ----------------------------*/
typedef enum {
CUDBG_EVENT_INVALID = 0x000, /* Invalid event */
CUDBG_EVENT_ELF_IMAGE_LOADED = 0x001, /* ELF image for CUDA kernel(s) is ready */
CUDBG_EVENT_KERNEL_READY = 0x002, /* A CUDA kernel is ready to be launched */
CUDBG_EVENT_KERNEL_FINISHED = 0x003, /* A CUDA kernel has terminated */
CUDBG_EVENT_INTERNAL_ERROR = 0x004, /* Unexpected error. The API may be unstable. */
CUDBG_EVENT_CTX_PUSH = 0x005, /* A CUDA context has been pushed. */
CUDBG_EVENT_CTX_POP = 0x006, /* A CUDA context has been popped. */
CUDBG_EVENT_CTX_CREATE = 0x007, /* A CUDA context has been created and pushed. */
CUDBG_EVENT_CTX_DESTROY = 0x008, /* A CUDA context has been, popped if pushed, then destroyed. */
CUDBG_EVENT_TIMEOUT = 0x009, /* Nothing happened for a while. This is heartbeat event. */
CUDBG_EVENT_ATTACH_COMPLETE = 0x00a, /* Attach complete. */
CUDBG_EVENT_DETACH_COMPLETE = 0x00b, /* Detach complete. */
} CUDBGEventKindCUDA Kernel Events. ;
/* Deprecated */
typedef struct {
CUDBGEventKindCUDA Kernel Events. kind;
union cases30_st {
struct elfImageLoaded30_st {
char *relocatedElfImage;
char *nonRelocatedElfImage;
uint32_t size;
} elfImageLoaded;
struct kernelReady30_st {
uint32_t dev;
uint32_t gridId;
uint32_t tid;
} kernelReady;
struct kernelFinished30_st {
uint32_t dev;
uint32_t gridId;
uint32_t tid;
} kernelFinished;
} cases;
} CUDBGEvent30Event information container. Deprecated in 3.1. ;
/* Deprecated */
typedef struct {
CUDBGEventKindCUDA Kernel Events. kind;
union cases32_st {
struct elfImageLoaded32_st {
char *relocatedElfImage;
char *nonRelocatedElfImage;
uint32_t size;
uint32_t dev;
uint64_t context;
uint64_t module;
} elfImageLoaded;
struct kernelReady32_st {
uint32_t dev;
uint32_t gridId;
uint32_t tid;
uint64_t context;
uint64_t module;
uint64_t function;
uint64_t functionEntry;
} kernelReady;
struct kernelFinished32_st {
uint32_t dev;
uint32_t gridId;
uint32_t tid;
uint64_t context;
uint64_t module;
uint64_t function;
uint64_t functionEntry;
} kernelFinished;
struct contextPush32_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextPush;
struct contextPop32_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextPop;
struct contextCreate32_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextCreate;
struct contextDestroy32_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextDestroy;
} cases;
} CUDBGEvent32Event information container. Deprecated in 4.0. ;
/* Deprecated */
typedef struct {
CUDBGEventKindCUDA Kernel Events. kind;
union cases42_st {
struct elfImageLoaded42_st {
char *relocatedElfImage;
char *nonRelocatedElfImage;
uint32_t size32;
uint32_t dev;
uint64_t context;
uint64_t module;
uint64_t size;
} elfImageLoaded;
struct kernelReady42_st {
uint32_t dev;
uint32_t gridId;
uint32_t tid;
uint64_t context;
uint64_t module;
uint64_t function;
uint64_t functionEntry;
CuDim3 gridDim;
CuDim3 blockDim;
CUDBGKernelTypeKernel types. type;
} kernelReady;
struct kernelFinished42_st {
uint32_t dev;
uint32_t gridId;
uint32_t tid;
uint64_t context;
uint64_t module;
uint64_t function;
uint64_t functionEntry;
} kernelFinished;
struct contextPush42_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextPush;
struct contextPop42_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextPop;
struct contextCreate42_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextCreate;
struct contextDestroy42_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextDestroy;
} cases;
} CUDBGEvent42Event information container. Deprecated in 4.2. ;
typedef struct {
CUDBGEventKindCUDA Kernel Events. kind;
union cases_st {
struct elfImageLoaded_st {
char *relocatedElfImage;
char *nonRelocatedElfImage;
uint32_t size32;
uint32_t dev;
uint64_t context;
uint64_t module;
uint64_t size;
} elfImageLoaded;
struct kernelReady_st{
uint32_t dev;
uint32_t gridId;
uint32_t tid;
uint64_t context;
uint64_t module;
uint64_t function;
uint64_t functionEntry;
CuDim3 gridDim;
CuDim3 blockDim;
CUDBGKernelTypeKernel types. type;
} kernelReady;
struct kernelFinished_st {
uint32_t dev;
uint32_t gridId;
uint32_t tid;
uint64_t context;
uint64_t module;
uint64_t function;
uint64_t functionEntry;
} kernelFinished;
struct contextPush_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextPush;
struct contextPop_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextPop;
struct contextCreate_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextCreate;
struct contextDestroy_st {
uint32_t dev;
uint32_t tid;
uint64_t context;
} contextDestroy;
struct internalError_st {
CUDBGResultResult values of all the API routines. errorType;
} internalError;
} cases;
} CUDBGEventEvent information container. ;
typedef struct {
uint32_t tid;
} CUDBGEventCallbackData40Event information passed to callback set with setNotifyNewEventCallback function. Deprecated in 4.1. ;
typedef struct {
uint32_t tid;
uint32_t timeout;
} CUDBGEventCallbackDataEvent information passed to callback set with setNotifyNewEventCallback function. ;
typedef void (*CUDBGNotifyNewEventCallback31function type of the function called to nofify debugger of the presence of a new event in the event queue. Deprecated in 3.2. )(void *data);
typedef void (*CUDBGNotifyNewEventCallback40)(CUDBGEventCallbackData40Event information passed to callback set with setNotifyNewEventCallback function. Deprecated in 4.1. *data);
typedef void (*CUDBGNotifyNewEventCallbackfunction type of the function called to nofify debugger of the presence of a new event in the event queue. )(CUDBGEventCallbackDataEvent information passed to callback set with setNotifyNewEventCallback function. *data);
/*-------------------------------- Exceptions ------------------------------*/
typedef enum {
CUDBG_EXCEPTION_UNKNOWN = 0xFFFFFFFFU, // Force sizeof(CUDBGException_t)==4
CUDBG_EXCEPTION_NONE = 0,
CUDBG_EXCEPTION_LANE_ILLEGAL_ADDRESS = 1,
CUDBG_EXCEPTION_LANE_USER_STACK_OVERFLOW = 2,
CUDBG_EXCEPTION_DEVICE_HARDWARE_STACK_OVERFLOW = 3,
CUDBG_EXCEPTION_WARP_ILLEGAL_INSTRUCTION = 4,
CUDBG_EXCEPTION_WARP_OUT_OF_RANGE_ADDRESS = 5,
CUDBG_EXCEPTION_WARP_MISALIGNED_ADDRESS = 6,
CUDBG_EXCEPTION_WARP_INVALID_ADDRESS_SPACE = 7,
CUDBG_EXCEPTION_WARP_INVALID_PC = 8,
CUDBG_EXCEPTION_WARP_HARDWARE_STACK_OVERFLOW = 9,
CUDBG_EXCEPTION_DEVICE_ILLEGAL_ADDRESS = 10,
CUDBG_EXCEPTION_LANE_MISALIGNED_ADDRESS = 11,
CUDBG_EXCEPTION_WARP_ASSERT = 12,
CUDBG_EXCEPTION_LANE_SYSCALL_ERROR = 13,
} CUDBGException_tHarwdare Exception Types. ;
/*--------------------------------- Exports --------------------------------*/
typedef const struct CUDBGAPI_stThe CUDA debugger API routines. *CUDBGAPI;
CUDBGResultResult values of all the API routines. cudbgGetAPI(uint32_t major, uint32_t minor, uint32_t rev, CUDBGAPI *api);
CUDBGResultResult values of all the API routines. cudbgGetAPIVersion(uint32_t *major, uint32_t *minor, uint32_t *rev);
CUDBGResultResult values of all the API routines. cudbgMain(int apiClientPid, uint32_t apiClientRevision, int sessionId, int attachState,
int attachEventInitialized, int writeFd, int detachFd, int attachStubInUse);
struct CUDBGAPI_stThe CUDA debugger API routines. {
/* Initialization */
CUDBGResultResult values of all the API routines. (*initializeInitialize the API. )(void);
CUDBGResultResult values of all the API routines. (*finalizeFinalize the API and free all memory. )(void);
/* Device Execution Control */
CUDBGResultResult values of all the API routines. (*suspendDeviceSuspends a running CUDA device. )(uint32_t dev);
CUDBGResultResult values of all the API routines. (*resumeDeviceResume a suspended CUDA device. )(uint32_t dev);
CUDBGResultResult values of all the API routines. (*singleStepWarp40(DEPRECATED)Single step an individual warp on a suspended CUDA device. This function has been deprecated. Use singleStepWarp() instead. )(uint32_t dev, uint32_t sm, uint32_t wp);
/* Breakpoints */
CUDBGResultResult values of all the API routines. (*setBreakpoint31Sets a breakpoint at the given instruction address. Deprecated in 3.2. )(uint64_t addr);
CUDBGResultResult values of all the API routines. (*unsetBreakpoint31Unsets a breakpoint at the given instruction address. Deprecated in 3.2. )(uint64_t addr);
/* Device State Inspection */
CUDBGResultResult values of all the API routines. (*readGridIdReads the CUDA grid index running on a valid warp. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t *gridId);
CUDBGResultResult values of all the API routines. (*readBlockIdx32Reads the two-dimensional CUDA block index running on a valid warp. Deprecated in 4.0. )(uint32_t dev, uint32_t sm, uint32_t wp, CuDim2 *blockIdx);
CUDBGResultResult values of all the API routines. (*readThreadIdxReads the CUDA thread index running on valid lane. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CuDim3 *threadIdx);
CUDBGResultResult values of all the API routines. (*readBrokenWarpsReads the bitmask of warps that are at a breakpoint on a given SM. )(uint32_t dev, uint32_t sm, uint64_t *brokenWarpsMask);
CUDBGResultResult values of all the API routines. (*readValidWarpsReads the bitmask of valid warps on a given SM. )(uint32_t dev, uint32_t sm, uint64_t *validWarpsMask);
CUDBGResultResult values of all the API routines. (*readValidLanesReads the bitmask of valid lanes on a given warp. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t *validLanesMask);
CUDBGResultResult values of all the API routines. (*readActiveLanesReads the bitmask of active lanes on a valid warp. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t *activeLanesMask);
CUDBGResultResult values of all the API routines. (*readCodeMemoryReads content at address in the code memory segment. )(uint32_t dev, uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readConstMemoryReads content at address in the constant memory segment. )(uint32_t dev, uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readGlobalMemory31Reads content at address in the global memory segment. Deprecated in 3.2. )(uint32_t dev, uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readParamMemoryReads content at address in the param memory segment. )(uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readSharedMemoryReads content at address in the shared memory segment. )(uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readLocalMemoryReads content at address in the local memory segment. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readRegisterReads content of a hardware register. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t *val);
CUDBGResultResult values of all the API routines. (*readPCReads the PC on the given active lane. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t *pc);
CUDBGResultResult values of all the API routines. (*readVirtualPCReads the virtual PC on the given active lane. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t *pc);
CUDBGResultResult values of all the API routines. (*readLaneStatusReads the status of the given lane. For specific error values, use readLaneException. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, bool *error);
/* Device State Alteration */
CUDBGResultResult values of all the API routines. (*writeGlobalMemory31Writes content to address in the global memory segment. Deprecated in 3.2. )(uint32_t dev, uint64_t addr, const void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*writeParamMemoryWrites content to address in the param memory segment. )(uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*writeSharedMemoryWrites content to address in the shared memory segment. )(uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, const void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*writeLocalMemoryWrites content to address in the local memory segment. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*writeRegisterWrites content to a hardware register. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t val);
/* Grid Properties */
CUDBGResultResult values of all the API routines. (*getGridDim32Get the number of blocks in the given grid. Deprecated in 4.0. )(uint32_t dev, uint32_t sm, uint32_t wp, CuDim2 *gridDim);
CUDBGResultResult values of all the API routines. (*getBlockDimGet the number of threads in the given block. )(uint32_t dev, uint32_t sm, uint32_t wp, CuDim3 *blockDim);
CUDBGResultResult values of all the API routines. (*getTIDGet the ID of the Linux thread hosting the context of the grid. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t *tid);
CUDBGResultResult values of all the API routines. (*getElfImage32Get the relocated or non-relocated ELF image and size for the grid on the given device. Deprecated in 4.0. )(uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void **elfImage, uint32_t *size);
/* Device Properties */
CUDBGResultResult values of all the API routines. (*getDeviceTypeGet the string description of the device. )(uint32_t dev, char *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*getSmTypeGet the SM type of the device. )(uint32_t dev, char *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*getNumDevicesGet the number of installed CUDA devices. )(uint32_t *numDev);
CUDBGResultResult values of all the API routines. (*getNumSMsGet the total number of SMs on the device. )(uint32_t dev, uint32_t *numSMs);
CUDBGResultResult values of all the API routines. (*getNumWarpsGet the number of warps per SM on the device. )(uint32_t dev, uint32_t *numWarps);
CUDBGResultResult values of all the API routines. (*getNumLanesGet the number of lanes per warp on the device. )(uint32_t dev, uint32_t *numLanes);
CUDBGResultResult values of all the API routines. (*getNumRegistersGet the number of registers per lane on the device. )(uint32_t dev, uint32_t *numRegs);
/* DWARF-related routines */
CUDBGResultResult values of all the API routines. (*getPhysicalRegister30(DEPRECATED) Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. The function has been deprecated. use getWarpPhysicalRegister instead. )(uint64_t pc, char *reg, uint32_t *buf, uint32_t sz, uint32_t *numPhysRegs, CUDBGRegClassPhysical register types. *regClass);
CUDBGResultResult values of all the API routines. (*disassembleDisassemble instruction at instruction address. )(uint32_t dev, uint64_t addr, uint32_t *instSize, char *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*isDeviceCodeAddressDetermines whether a virtual address resides within device code. )(uintptr_t addr, bool *isDeviceAddress);
CUDBGResultResult values of all the API routines. (*lookupDeviceCodeSymbolDetermines whether a symbol represents a function in device code and returns its virtual address. )(char *symName, bool *symFound, uintptr_t *symAddr);
/* Events */
CUDBGResultResult values of all the API routines. (*setNotifyNewEventCallback31Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 3.2. )(CUDBGNotifyNewEventCallback31function type of the function called to nofify debugger of the presence of a new event in the event queue. Deprecated in 3.2. callback, void *data);
CUDBGResultResult values of all the API routines. (*getNextEvent30Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 3.1. )(CUDBGEvent30Event information container. Deprecated in 3.1. *event);
CUDBGResultResult values of all the API routines. (*acknowledgeEvent30Inform the debugger API that the event has been processed. Deprecated in 3.1. )(CUDBGEvent30Event information container. Deprecated in 3.1. *event);
/* 3.1 Extensions */
CUDBGResultResult values of all the API routines. (*getGridAttributeGet the value of a grid attribute. )(uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeQuery attribute. attr, uint64_t *value);
CUDBGResultResult values of all the API routines. (*getGridAttributesGet several grid attribute values in a single API call. )(uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeValuePair *pairs, uint32_t numPairs);
CUDBGResultResult values of all the API routines. (*getPhysicalRegister40Get the physical register number(s) assigned to a virtual register name 'reg' at a given PC, if 'reg' is live at that PC. )(uint32_t dev, uint32_t sm, uint32_t wp, uint64_t pc, char *reg, uint32_t *buf, uint32_t sz, uint32_t *numPhysRegs, CUDBGRegClassPhysical register types. *regClass);
CUDBGResultResult values of all the API routines. (*readLaneExceptionReads the exception type for a given lane. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CUDBGException_tHarwdare Exception Types. *exception);
CUDBGResultResult values of all the API routines. (*getNextEvent32Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 4.0. )(CUDBGEvent32Event information container. Deprecated in 4.0. *event);
CUDBGResultResult values of all the API routines. (*acknowledgeEvents42Inform the debugger API that synchronous events have been processed. Deprecated in 5.0. )(void);
/* 3.1 - ABI */
CUDBGResultResult values of all the API routines. (*readCallDepth32Reads the call depth (number of calls) for a given warp. Deprecated in 4.0. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t *depth);
CUDBGResultResult values of all the API routines. (*readReturnAddress32Reads the physical return address for a call level. Deprecated in 4.0. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t *ra);
CUDBGResultResult values of all the API routines. (*readVirtualReturnAddress32Reads the virtual return address for a call level. Deprecated in 4.0. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t *ra);
/* 3.2 Extensions */
CUDBGResultResult values of all the API routines. (*readGlobalMemoryReads content at address in the global memory segment (entire 40-bit VA on Fermi+). )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*writeGlobalMemoryWrites content to address in the global memory segment (entire 40-bit VA on Fermi+). )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, const void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readPinnedMemoryReads content at pinned address in system memory. )(uint64_t addr, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*writePinnedMemoryWrites content to pinned address in system memory. )(uint64_t addr, const void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*setBreakpointSets a breakpoint at the given instruction address for the given device. )(uint32_t dev, uint64_t addr);
CUDBGResultResult values of all the API routines. (*unsetBreakpointUnsets a breakpoint at the given instruction address for the given device. )(uint32_t dev, uint64_t addr);
CUDBGResultResult values of all the API routines. (*setNotifyNewEventCallback40Provides the API with the function to call to notify the debugger of a new application or device event. Deprecated in 4.1. )(CUDBGNotifyNewEventCallback40 callback);
/* 4.0 Extensions */
CUDBGResultResult values of all the API routines. (*getNextEvent42Copies the next available event in the event queue into 'event' and removes it from the queue. Deprecated in 5.0. )(CUDBGEvent42Event information container. Deprecated in 4.2. *event);
CUDBGResultResult values of all the API routines. (*readTextureMemoryRead the content of texture memory with given id and coords on sm_20 and lower. )(uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t id, uint32_t dim, uint32_t *coords, void *buf, uint32_t sz);
CUDBGResultResult values of all the API routines. (*readBlockIdxReads the CUDA block index running on a valid warp. )(uint32_t dev, uint32_t sm, uint32_t wp, CuDim3 *blockIdx);
CUDBGResultResult values of all the API routines. (*getGridDimGet the number of blocks in the given grid. )(uint32_t dev, uint32_t sm, uint32_t wp, CuDim3 *gridDim);
CUDBGResultResult values of all the API routines. (*readCallDepthReads the call depth (number of calls) for a given lane. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t *depth);
CUDBGResultResult values of all the API routines. (*readReturnAddressReads the physical return address for a call level. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t *ra);
CUDBGResultResult values of all the API routines. (*readVirtualReturnAddressReads the virtual return address for a call level. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t *ra);
CUDBGResultResult values of all the API routines. (*getElfImageGet the relocated or non-relocated ELF image and size for the grid on the given device. )(uint32_t dev, uint32_t sm, uint32_t wp, bool relocated, void **elfImage, uint64_t *size);
/* 4.1 Extensions */
CUDBGResultResult values of all the API routines. (*getHostAddrFromDeviceAddrgiven a device virtual address, return a corresponding system memory virtual address. )(uint32_t dev, uint64_t device_addr, uint64_t *host_addr);
CUDBGResultResult values of all the API routines. (*singleStepWarpSingle step an individual warp on a suspended CUDA device. )(uint32_t dev, uint32_t sm, uint32_t wp, uint64_t *warpMask);
CUDBGResultResult values of all the API routines. (*setNotifyNewEventCallbackProvides the API with the function to call to notify the debugger of a new application or device event. )(CUDBGNotifyNewEventCallbackfunction type of the function called to nofify debugger of the presence of a new event in the event queue. callback);
CUDBGResultResult values of all the API routines. (*readSyscallCallDepthReads the call depth of syscalls for a given lane. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t *depth);
/* 4.2 Extensions */
CUDBGResultResult values of all the API routines. (*readTextureMemoryBindlessRead the content of texture memory with given symtab index and coords on sm_30 and higher. )(uint32_t devId, uint32_t vsm, uint32_t wp, uint32_t texSymtabIndex, uint32_t dim, uint32_t *coords, void *buf, uint32_t sz);
/* 5.0 Extensions */
CUDBGResultResult values of all the API routines. (*clearAttachStateClear attach-specific state prior to detach. )(void);
CUDBGResultResult values of all the API routines. (*getNextSyncEventCopies the next available event in the synchronous event queue into 'event' and removes it from the queue. )(CUDBGEventEvent information container. *event);
CUDBGResultResult values of all the API routines. (*memcheckReadErrorAddressGet the address that memcheck detected an error on. )(uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t *address, ptxStorageKind *storage);
CUDBGResultResult values of all the API routines. (*acknowledgeSyncEventsInform the debugger API that synchronous events have been processed. )(void);
CUDBGResultResult values of all the API routines. (*getNextAsyncEventCopies the next available event in the asynchronous event queue into 'event' and removes it from the queue. The asynchronous event queue is held separate from the normal event queue, and does not require acknowledgement from the debug client. )(CUDBGEventEvent information container. *event);
CUDBGResultResult values of all the API routines. (*requestCleanupOnDetachRequest for cleanup of driver state when detaching. )(void);
CUDBGResultResult values of all the API routines. (*initializeAttachStub)(void);
CUDBGResultResult values of all the API routines. (*getGridStatusCheck whether the grid corresponding to the given gridId is still present on the device. )(uint32_t dev, uint32_t gridId, CUDBGGridStatusGrid status. *status);
};
#ifdef __cplusplus
}
#endif
#endif
Classes
- struct
- The CUDA debugger API routines.
- struct
- Event information container.
- struct
- Event information container. Deprecated in 3.1.
- struct
- Event information container. Deprecated in 4.0.
- struct
- Event information container. Deprecated in 4.2.
- struct
- Event information passed to callback set with setNotifyNewEventCallback function.
- struct
- Event information passed to callback set with setNotifyNewEventCallback function. Deprecated in 4.1.
Typedefs
- typedef void
- function type of the function called to nofify debugger of the presence of a new event in the event queue.
- typedef void
- function type of the function called to nofify debugger of the presence of a new event in the event queue. Deprecated in 3.2.
Enumerations
- enum {CUDBG_ATTR_GRID_LAUNCH_BLOCKING = 0x000, CUDBG_ATTR_GRID_TID = 0x001 }
- Query attribute.
- enum {CUDBG_EVENT_INVALID = 0x000, CUDBG_EVENT_ELF_IMAGE_LOADED = 0x001, CUDBG_EVENT_KERNEL_READY = 0x002, CUDBG_EVENT_KERNEL_FINISHED = 0x003, CUDBG_EVENT_INTERNAL_ERROR = 0x004, CUDBG_EVENT_CTX_PUSH = 0x005, CUDBG_EVENT_CTX_POP = 0x006, CUDBG_EVENT_CTX_CREATE = 0x007, CUDBG_EVENT_CTX_DESTROY = 0x008, CUDBG_EVENT_TIMEOUT = 0x009, CUDBG_EVENT_ATTACH_COMPLETE = 0x00a, CUDBG_EVENT_DETACH_COMPLETE = 0x00b }
- CUDA Kernel Events.
- enum {CUDBG_EXCEPTION_UNKNOWN = 0xFFFFFFFFU, CUDBG_EXCEPTION_NONE = 0, CUDBG_EXCEPTION_LANE_ILLEGAL_ADDRESS = 1, CUDBG_EXCEPTION_LANE_USER_STACK_OVERFLOW = 2, CUDBG_EXCEPTION_DEVICE_HARDWARE_STACK_OVERFLOW = 3, CUDBG_EXCEPTION_WARP_ILLEGAL_INSTRUCTION = 4, CUDBG_EXCEPTION_WARP_OUT_OF_RANGE_ADDRESS = 5, CUDBG_EXCEPTION_WARP_MISALIGNED_ADDRESS = 6, CUDBG_EXCEPTION_WARP_INVALID_ADDRESS_SPACE = 7, CUDBG_EXCEPTION_WARP_INVALID_PC = 8, CUDBG_EXCEPTION_WARP_HARDWARE_STACK_OVERFLOW = 9, CUDBG_EXCEPTION_DEVICE_ILLEGAL_ADDRESS = 10, CUDBG_EXCEPTION_LANE_MISALIGNED_ADDRESS = 11, CUDBG_EXCEPTION_WARP_ASSERT = 12, CUDBG_EXCEPTION_LANE_SYSCALL_ERROR = 13 }
- Harwdare Exception Types.
- enum {CUDBG_GRID_STATUS_INVALID, CUDBG_GRID_STATUS_PENDING, CUDBG_GRID_STATUS_ACTIVE, CUDBG_GRID_STATUS_SLEEPING, CUDBG_GRID_STATUS_TERMINATED, CUDBG_GRID_STATUS_UNDETERMINED }
- Grid status.
- enum {CUDBG_KNL_TYPE_UNKNOWN = 0x000, CUDBG_KNL_TYPE_SYSTEM = 0x001, CUDBG_KNL_TYPE_APPLICATION = 0x002 }
- Kernel types.
- enum {REG_CLASS_INVALID = 0x000, REG_CLASS_REG_CC = 0x001, REG_CLASS_REG_PRED = 0x002, REG_CLASS_REG_ADDR = 0x003, REG_CLASS_REG_HALF = 0x004, REG_CLASS_REG_FULL = 0x005, REG_CLASS_MEM_LOCAL = 0x006, REG_CLASS_LMEM_REG_OFFSET = 0x007 }
- Physical register types.
- enum {CUDBG_SUCCESS = 0x0000, CUDBG_ERROR_UNKNOWN = 0x0001, CUDBG_ERROR_BUFFER_TOO_SMALL = 0x0002, CUDBG_ERROR_UNKNOWN_FUNCTION = 0x0003, CUDBG_ERROR_INVALID_ARGS = 0x0004, CUDBG_ERROR_UNINITIALIZED = 0x0005, CUDBG_ERROR_INVALID_COORDINATES = 0x0006, CUDBG_ERROR_INVALID_MEMORY_SEGMENT = 0x0007, CUDBG_ERROR_INVALID_MEMORY_ACCESS = 0x0008, CUDBG_ERROR_MEMORY_MAPPING_FAILED = 0x0009, CUDBG_ERROR_INTERNAL = 0x000a, CUDBG_ERROR_INVALID_DEVICE = 0x000b, CUDBG_ERROR_INVALID_SM = 0x000c, CUDBG_ERROR_INVALID_WARP = 0x000d, CUDBG_ERROR_INVALID_LANE = 0x000e, CUDBG_ERROR_SUSPENDED_DEVICE = 0x000f, CUDBG_ERROR_RUNNING_DEVICE = 0x0010, CUDBG_ERROR_INVALID_ADDRESS = 0x0012, CUDBG_ERROR_INCOMPATIBLE_API = 0x0013, CUDBG_ERROR_INITIALIZATION_FAILURE = 0x0014, CUDBG_ERROR_INVALID_GRID = 0x0015, CUDBG_ERROR_NO_EVENT_AVAILABLE = 0x0016, CUDBG_ERROR_SOME_DEVICES_WATCHDOGGED = 0x0017, CUDBG_ERROR_ALL_DEVICES_WATCHDOGGED = 0x0018, CUDBG_ERROR_INVALID_ATTRIBUTE = 0x0019, CUDBG_ERROR_ZERO_CALL_DEPTH = 0x001a, CUDBG_ERROR_INVALID_CALL_LEVEL = 0x001b, CUDBG_ERROR_COMMUNICATION_FAILURE = 0x001c, CUDBG_ERROR_INVALID_CONTEXT = 0x001d, CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM = 0x001e, CUDBG_ERROR_MEMORY_UNMAPPING_FAILED = 0x001f, CUDBG_ERROR_INCOMPATIBLE_DISPLAY_DRIVER = 0x0020, CUDBG_ERROR_INVALID_MODULE = 0x0021, CUDBG_ERROR_LANE_NOT_IN_SYSCALL = 0x0022, CUDBG_ERROR_MEMCHECK_NOT_ENABLED = 0x0023, CUDBG_ERROR_INVALID_ENVVAR_ARGS = 0x0024, CUDBG_ERROR_OS_RESOURCES = 0x0025, CUDBG_ERROR_FORK_FAILED = 0x0026 }
- Result values of all the API routines.
Functions
- CUDBGResult ( uint32_t* major, uint32_t* minor, uint32_t* rev )
- Get the API version supported by the CUDA driver.
Globals
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
- CUDBG_ATTR_GRID_LAUNCH_BLOCKING
- cudadebugger.h
- CUDBG_ATTR_GRID_TID
- cudadebugger.h
- CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM
- cudadebugger.h
- CUDBG_ERROR_ALL_DEVICES_WATCHDOGGED
- cudadebugger.h
- CUDBG_ERROR_BUFFER_TOO_SMALL
- cudadebugger.h
- CUDBG_ERROR_COMMUNICATION_FAILURE
- cudadebugger.h
- CUDBG_ERROR_FORK_FAILED
- cudadebugger.h
- CUDBG_ERROR_INCOMPATIBLE_API
- cudadebugger.h
- CUDBG_ERROR_INITIALIZATION_FAILURE
- cudadebugger.h
- CUDBG_ERROR_INTERNAL
- cudadebugger.h
- CUDBG_ERROR_INVALID_ADDRESS
- cudadebugger.h
- CUDBG_ERROR_INVALID_ARGS
- cudadebugger.h
- CUDBG_ERROR_INVALID_ATTRIBUTE
- cudadebugger.h
- CUDBG_ERROR_INVALID_CALL_LEVEL
- cudadebugger.h
- CUDBG_ERROR_INVALID_CONTEXT
- cudadebugger.h
- CUDBG_ERROR_INVALID_COORDINATES
- cudadebugger.h
- CUDBG_ERROR_INVALID_DEVICE
- cudadebugger.h
- CUDBG_ERROR_INVALID_GRID
- cudadebugger.h
- CUDBG_ERROR_INVALID_LANE
- cudadebugger.h
- CUDBG_ERROR_INVALID_MEMORY_ACCESS
- cudadebugger.h
- CUDBG_ERROR_INVALID_MEMORY_SEGMENT
- cudadebugger.h
- CUDBG_ERROR_INVALID_SM
- cudadebugger.h
- CUDBG_ERROR_INVALID_WARP
- cudadebugger.h
- CUDBG_ERROR_MEMORY_MAPPING_FAILED
- cudadebugger.h
- CUDBG_ERROR_NO_EVENT_AVAILABLE
- cudadebugger.h
- CUDBG_ERROR_OS_RESOURCES
- cudadebugger.h
- CUDBG_ERROR_RUNNING_DEVICE
- cudadebugger.h
- CUDBG_ERROR_SOME_DEVICES_WATCHDOGGED
- cudadebugger.h
- CUDBG_ERROR_SUSPENDED_DEVICE
- cudadebugger.h
- CUDBG_ERROR_UNINITIALIZED
- cudadebugger.h
- CUDBG_ERROR_UNKNOWN
- cudadebugger.h
- CUDBG_ERROR_UNKNOWN_FUNCTION
- cudadebugger.h
- CUDBG_ERROR_ZERO_CALL_DEPTH
- cudadebugger.h
- CUDBG_EVENT_ATTACH_COMPLETE
- cudadebugger.h
- CUDBG_EVENT_CTX_CREATE
- cudadebugger.h
- CUDBG_EVENT_CTX_DESTROY
- cudadebugger.h
- CUDBG_EVENT_CTX_POP
- cudadebugger.h
- CUDBG_EVENT_CTX_PUSH
- cudadebugger.h
- CUDBG_EVENT_ELF_IMAGE_LOADED
- cudadebugger.h
- CUDBG_EVENT_INTERNAL_ERROR
- cudadebugger.h
- CUDBG_EVENT_INVALID
- cudadebugger.h
- CUDBG_EVENT_KERNEL_FINISHED
- cudadebugger.h
- CUDBG_EVENT_KERNEL_READY
- cudadebugger.h
- CUDBG_EVENT_TIMEOUT
- cudadebugger.h
- CUDBG_EXCEPTION_DEVICE_HARDWARE_STACK_OVERFLOW
- cudadebugger.h
- CUDBG_EXCEPTION_DEVICE_ILLEGAL_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_LANE_ILLEGAL_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_LANE_MISALIGNED_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_LANE_USER_STACK_OVERFLOW
- cudadebugger.h
- CUDBG_EXCEPTION_NONE
- cudadebugger.h
- CUDBG_EXCEPTION_UNKNOWN
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_HARDWARE_STACK_OVERFLOW
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_ILLEGAL_INSTRUCTION
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_INVALID_ADDRESS_SPACE
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_INVALID_PC
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_MISALIGNED_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_OUT_OF_RANGE_ADDRESS
- cudadebugger.h
- CUDBG_GRID_STATUS_ACTIVE
- cudadebugger.h
- CUDBG_GRID_STATUS_INVALID
- cudadebugger.h
- CUDBG_GRID_STATUS_PENDING
- cudadebugger.h
- CUDBG_GRID_STATUS_SLEEPING
- cudadebugger.h
- CUDBG_GRID_STATUS_TERMINATED
- cudadebugger.h
- CUDBG_GRID_STATUS_UNDETERMINED
- cudadebugger.h
- CUDBG_KNL_TYPE_APPLICATION
- cudadebugger.h
- CUDBG_KNL_TYPE_SYSTEM
- cudadebugger.h
- CUDBG_KNL_TYPE_UNKNOWN
- cudadebugger.h
- CUDBG_SUCCESS
- cudadebugger.h
- CUDBGAttribute
- cudadebugger.h
- CUDBGEventKind
- cudadebugger.h
- CUDBGException_t
- cudadebugger.h
- cudbgGetAPIVersion()
- cudadebugger.h
- CUDBGGridStatus
- cudadebugger.h
- CUDBGKernelType
- cudadebugger.h
- CUDBGNotifyNewEventCallback
- cudadebugger.h
- CUDBGNotifyNewEventCallback31
- cudadebugger.h
- CUDBGRegClass
- cudadebugger.h
- CUDBGResult
- cudadebugger.h
- REG_CLASS_INVALID
- cudadebugger.h
- REG_CLASS_LMEM_REG_OFFSET
- cudadebugger.h
- REG_CLASS_MEM_LOCAL
- cudadebugger.h
- REG_CLASS_REG_ADDR
- cudadebugger.h
- REG_CLASS_REG_CC
- cudadebugger.h
- REG_CLASS_REG_FULL
- cudadebugger.h
- REG_CLASS_REG_HALF
- cudadebugger.h
- REG_CLASS_REG_PRED
- cudadebugger.h
Globals - Functions
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
- cudbgGetAPIVersion()
- cudadebugger.h
Globals - Typedefs
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
- CUDBGNotifyNewEventCallback
- cudadebugger.h
- CUDBGNotifyNewEventCallback31
- cudadebugger.h
Globals - Enumerations
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
- CUDBGAttribute
- cudadebugger.h
- CUDBGEventKind
- cudadebugger.h
- CUDBGException_t
- cudadebugger.h
- CUDBGGridStatus
- cudadebugger.h
- CUDBGKernelType
- cudadebugger.h
- CUDBGRegClass
- cudadebugger.h
- CUDBGResult
- cudadebugger.h
Globals - Enumerator
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
- CUDBG_ATTR_GRID_LAUNCH_BLOCKING
- cudadebugger.h
- CUDBG_ATTR_GRID_TID
- cudadebugger.h
- CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM
- cudadebugger.h
- CUDBG_ERROR_ALL_DEVICES_WATCHDOGGED
- cudadebugger.h
- CUDBG_ERROR_BUFFER_TOO_SMALL
- cudadebugger.h
- CUDBG_ERROR_COMMUNICATION_FAILURE
- cudadebugger.h
- CUDBG_ERROR_FORK_FAILED
- cudadebugger.h
- CUDBG_ERROR_INCOMPATIBLE_API
- cudadebugger.h
- CUDBG_ERROR_INITIALIZATION_FAILURE
- cudadebugger.h
- CUDBG_ERROR_INTERNAL
- cudadebugger.h
- CUDBG_ERROR_INVALID_ADDRESS
- cudadebugger.h
- CUDBG_ERROR_INVALID_ARGS
- cudadebugger.h
- CUDBG_ERROR_INVALID_ATTRIBUTE
- cudadebugger.h
- CUDBG_ERROR_INVALID_CALL_LEVEL
- cudadebugger.h
- CUDBG_ERROR_INVALID_CONTEXT
- cudadebugger.h
- CUDBG_ERROR_INVALID_COORDINATES
- cudadebugger.h
- CUDBG_ERROR_INVALID_DEVICE
- cudadebugger.h
- CUDBG_ERROR_INVALID_GRID
- cudadebugger.h
- CUDBG_ERROR_INVALID_LANE
- cudadebugger.h
- CUDBG_ERROR_INVALID_MEMORY_ACCESS
- cudadebugger.h
- CUDBG_ERROR_INVALID_MEMORY_SEGMENT
- cudadebugger.h
- CUDBG_ERROR_INVALID_SM
- cudadebugger.h
- CUDBG_ERROR_INVALID_WARP
- cudadebugger.h
- CUDBG_ERROR_MEMORY_MAPPING_FAILED
- cudadebugger.h
- CUDBG_ERROR_NO_EVENT_AVAILABLE
- cudadebugger.h
- CUDBG_ERROR_OS_RESOURCES
- cudadebugger.h
- CUDBG_ERROR_RUNNING_DEVICE
- cudadebugger.h
- CUDBG_ERROR_SOME_DEVICES_WATCHDOGGED
- cudadebugger.h
- CUDBG_ERROR_SUSPENDED_DEVICE
- cudadebugger.h
- CUDBG_ERROR_UNINITIALIZED
- cudadebugger.h
- CUDBG_ERROR_UNKNOWN
- cudadebugger.h
- CUDBG_ERROR_UNKNOWN_FUNCTION
- cudadebugger.h
- CUDBG_ERROR_ZERO_CALL_DEPTH
- cudadebugger.h
- CUDBG_EVENT_ATTACH_COMPLETE
- cudadebugger.h
- CUDBG_EVENT_CTX_CREATE
- cudadebugger.h
- CUDBG_EVENT_CTX_DESTROY
- cudadebugger.h
- CUDBG_EVENT_CTX_POP
- cudadebugger.h
- CUDBG_EVENT_CTX_PUSH
- cudadebugger.h
- CUDBG_EVENT_ELF_IMAGE_LOADED
- cudadebugger.h
- CUDBG_EVENT_INTERNAL_ERROR
- cudadebugger.h
- CUDBG_EVENT_INVALID
- cudadebugger.h
- CUDBG_EVENT_KERNEL_FINISHED
- cudadebugger.h
- CUDBG_EVENT_KERNEL_READY
- cudadebugger.h
- CUDBG_EVENT_TIMEOUT
- cudadebugger.h
- CUDBG_EXCEPTION_DEVICE_HARDWARE_STACK_OVERFLOW
- cudadebugger.h
- CUDBG_EXCEPTION_DEVICE_ILLEGAL_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_LANE_ILLEGAL_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_LANE_MISALIGNED_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_LANE_USER_STACK_OVERFLOW
- cudadebugger.h
- CUDBG_EXCEPTION_NONE
- cudadebugger.h
- CUDBG_EXCEPTION_UNKNOWN
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_HARDWARE_STACK_OVERFLOW
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_ILLEGAL_INSTRUCTION
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_INVALID_ADDRESS_SPACE
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_INVALID_PC
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_MISALIGNED_ADDRESS
- cudadebugger.h
- CUDBG_EXCEPTION_WARP_OUT_OF_RANGE_ADDRESS
- cudadebugger.h
- CUDBG_GRID_STATUS_ACTIVE
- cudadebugger.h
- CUDBG_GRID_STATUS_INVALID
- cudadebugger.h
- CUDBG_GRID_STATUS_PENDING
- cudadebugger.h
- CUDBG_GRID_STATUS_SLEEPING
- cudadebugger.h
- CUDBG_GRID_STATUS_TERMINATED
- cudadebugger.h
- CUDBG_GRID_STATUS_UNDETERMINED
- cudadebugger.h
- CUDBG_KNL_TYPE_APPLICATION
- cudadebugger.h
- CUDBG_KNL_TYPE_SYSTEM
- cudadebugger.h
- CUDBG_KNL_TYPE_UNKNOWN
- cudadebugger.h
- CUDBG_SUCCESS
- cudadebugger.h
- REG_CLASS_INVALID
- cudadebugger.h
- REG_CLASS_LMEM_REG_OFFSET
- cudadebugger.h
- REG_CLASS_MEM_LOCAL
- cudadebugger.h
- REG_CLASS_REG_ADDR
- cudadebugger.h
- REG_CLASS_REG_CC
- cudadebugger.h
- REG_CLASS_REG_FULL
- cudadebugger.h
- REG_CLASS_REG_HALF
- cudadebugger.h
- REG_CLASS_REG_PRED
- cudadebugger.h
Notices
Notice
ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, "MATERIALS") ARE BEING PROVIDED "AS IS." NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication of otherwise under any patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all other information previously supplied. NVIDIA Corporation products are not authorized as critical components in life support devices or systems without express written approval of NVIDIA Corporation.