3.5. 设备状态检查

变量

CUDBGResult  ( *CUDBGAPI_st::generateCoredump )( const char* filename, CUDBGCoredumpGenerationFlags flags )
Generates a coredump for the current GPU state.
CUDBGResult  ( *CUDBGAPI_st::getClusterExceptionTargetBlock )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx, bool* blockIdxValid )
Retrieves the target block index and validity status for a given device, streaming multiprocessor, and warp for cluster exceptions.
CUDBGResult  ( *CUDBGAPI_st::getConstBankAddress )( uint32_t dev, uint64_t gridId64, uint32_t bank, uint64_t* address, uint32_t* size )
Get constant bank GPU VA and size.
CUDBGResult  ( *CUDBGAPI_st::getConstBankAddress123 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t bank, uint32_t offset, uint64_t* address )
Convert constant bank number and offset into GPU VA.
CUDBGResult  ( *CUDBGAPI_st::getLoadedFunctionInfo )( uint32_t devId, uint64_t handle, CUDBGLoadedFunctionInfo* info, uint32_t startIndex, uint32_t numEntries )
Get the section number and address of loaded functions for a given module.
CUDBGResult  ( *CUDBGAPI_st::getLoadedFunctionInfo118 )( uint32_t devId, uint64_t handle, CUDBGLoadedFunctionInfo* info, uint32_t numEntries )
Get the section number and address of loaded functions for a given module.
CUDBGResult  ( *CUDBGAPI_st::getManagedMemoryRegionInfo )( uint64_t startAddress, CUDBGMemoryInfo* memoryInfo, uint32_t memoryInfo_size, uint32_t* numEntries )
Returns a sorted list of managed memory regions The sorted list of memory regions starts from a region containing the specified starting address. If the starting address is set to 0, a sorted list of managed memory regions is returned which starts from the managed memory region with the lowest start address.
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::readAllVirtualReturnAddresses )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* addrs, uint32_t numAddrs, uint32_t* callDepth, uint32_t* syscallCallDepth )
Reads all the virtual return addresses.
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.
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::readCCRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* val )
Reads the hardware CC register.
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.
CUDBGResult  ( *CUDBGAPI_st::readClusterIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* clusterIdx )
Reads the CUDA cluster index running on a valid warp.
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::readErrorPC )( uint32_t devId, uint32_t sm, uint32_t wp, uint64_t* errorPC, bool* errorPCValid )
Get the hardware reported error PC if it exists.
CUDBGResult  ( *CUDBGAPI_st::readGenericMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
Reads content at an address in the generic address space. This function determines if the given address falls into the local, shared, or global memory window. It then accesses memory taking into account the hardware co-ordinates provided as inputs.
CUDBGResult  ( *CUDBGAPI_st::readGlobalMemory )( uint64_t addr, void* buf, uint32_t sz )
Reads content at an address in the global address space. If the address is valid on more than one device and one of those devices does not support UVA, an error is returned.
CUDBGResult  ( *CUDBGAPI_st::readGlobalMemory31 )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
Reads content at address in the global memory segment.
CUDBGResult  ( *CUDBGAPI_st::readGlobalMemory55 )( 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::readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* gridId64 )
Reads the 64-bit CUDA grid index running on a valid warp.
CUDBGResult  ( *CUDBGAPI_st::readGridId50 )( 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::readPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t predicates_size, uint32_t* predicates )
Reads content of hardware predicate registers.
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::readRegisterRange )( uint32_t devId, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t index, uint32_t registers_size, uint32_t* registers )
Reads content of a hardware range of hardware registers.
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.
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::readSmException )( uint32_t dev, uint32_t sm, CUDBGException_t* exception, uint64_t* errorPC, bool* errorPCValid )
Get the SM exception status if it exists.
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 )
This method is no longer supported since CUDA 12.0.
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 )
This method is no longer supported since CUDA 12.0.
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::readUniformPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t predicates_size, uint32_t* predicates )
Reads contents of uniform predicate registers.
CUDBGResult  ( *CUDBGAPI_st::readUniformRegisterRange )( uint32_t devId, uint32_t sm, uint32_t wp, uint32_t regno, uint32_t registers_size, uint32_t* registers )
Reads a range of uniform registers.
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.
CUDBGResult  ( *CUDBGAPI_st::readWarpResources )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpResources* resources )
Get the resources assigned to a given warp.
CUDBGResult  ( *CUDBGAPI_st::readWarpState )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpState* state )
Get state of a given warp.
CUDBGResult  ( *CUDBGAPI_st::readWarpState120 )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpState120* state )
Get state of a given warp.
CUDBGResult  ( *CUDBGAPI_st::readWarpState60 )( uint32_t devId, uint32_t sm, uint32_t wp, CUDBGWarpState60* state )
Get state of a given warp.
CUDBGResult  ( *CUDBGAPI_st::writePinnedMemory )( uint64_t addr, const void* buf, uint32_t sz )
Writes content to pinned address in system memory.
CUDBGResult  ( *CUDBGAPI_st::writePredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t predicates_size, const uint32_t* predicates )
Writes content to hardware predicate registers.
CUDBGResult  ( *CUDBGAPI_st::writeUniformPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t predicates_size, const uint32_t* predicates )
Writes to uniform predicate registers.

变量

CUDBGResult ( *CUDBGAPI_st::generateCoredump )( const char* filename, CUDBGCoredumpGenerationFlags flags )

为当前GPU状态生成核心转储文件。自CUDA 12.3起

参数
filename
- target coredump file name
flags
- coredump generation flags/options
返回

CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_NOT_SUPPORTED

CUDBGResult ( *CUDBGAPI_st::getClusterExceptionTargetBlock )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx, bool* blockIdxValid )

检索给定设备、流式多处理器和簇异常warp的目标块索引及有效性状态。 自CUDA 12.7起。

参数
dev
- device index
sm
- SM index
wp
- warp index
blockIdx
- pointer to a `CuDim3` structure that will be populated with the target block index
blockIdxValid
- pointer to a boolean variable that will be set to `true` if the target block index is valid, and `false` otherwise. Value will be set to false if the warp is not stopped on a cluster exception
返回

CUDBG_SUCCESS, CUDBG_ERROR_NOT_SUPPORTED, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_INVALID_ARGS,

CUDBGResult ( *CUDBGAPI_st::getConstBankAddress )( uint32_t dev, uint64_t gridId64, uint32_t bank, uint64_t* address, uint32_t* size )

获取恒定的bank GPU虚拟地址和大小。自CUDA 12.4起

参数
dev
- device index
gridId64
- grid ID of the grid containing the constant bank
bank
- constant bank number
address
- (output) GPU VA of the bank memory
size
- (output) bank size
返回

CUDBG_ERROR_NOT_SUPPORTED

CUDBGResult ( *CUDBGAPI_st::getConstBankAddress123 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t bank, uint32_t offset, uint64_t* address )

将常量存储区编号和偏移量转换为GPU虚拟地址。自CUDA 12.3起

参数
dev
- device index
sm
- SM index
wp
- warp index
bank
- constant bank number
offset
- offset within the bank
address
- (output) GPU VA
返回

CUDBG_ERROR_NOT_SUPPORTED

CUDBGResult ( *CUDBGAPI_st::getLoadedFunctionInfo )( uint32_t devId, uint64_t handle, CUDBGLoadedFunctionInfo* info, uint32_t startIndex, uint32_t numEntries )

获取给定模块中已加载函数的节编号和地址。自CUDA 11.8起

参数
devId
handle
- ELF/cubin image handle
info
startIndex
numEntries
- number of function load entries to read
返回

CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_NOT_SUPPORTED

CUDBGResult ( *CUDBGAPI_st::getLoadedFunctionInfo118 )( uint32_t devId, uint64_t handle, CUDBGLoadedFunctionInfo* info, uint32_t numEntries )

获取给定模块中已加载函数的节编号和地址。自CUDA 11.8起

参数
devId
handle
- ELF/cubin image handle
info
numEntries
- number of function load entries to read
返回

CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_NOT_SUPPORTED

CUDBGResult ( *CUDBGAPI_st::getManagedMemoryRegionInfo )( uint64_t startAddress, CUDBGMemoryInfo* memoryInfo, uint32_t memoryInfo_size, uint32_t* numEntries )

返回一个已排序的托管内存区域列表。排序后的内存区域列表从包含指定起始地址的区域开始。如果起始地址设置为0,则返回从最低起始地址的托管内存区域开始的排序列表。自CUDA 6.0起支持此功能。

参数
startAddress
- The address that the first region in the list must contain. If the starting address is set to 0, the list of managed memory regions returned starts from the managed memory region with the lowest start address.
memoryInfo
- Client-allocated array of memory region records of type CUDBGMemoryInfo.
memoryInfo_size
- Number of records of type CUDBGMemoryInfo that memoryInfo can hold.
numEntries
- Pointer to a client-allocated variable holding the number of valid entries retured in memoryInfo. Valid entries are continguous and start from memoryInfo[0].
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_ADDRESS, CUDBG_ERROR_INTERNAL

CUDBGResult ( *CUDBGAPI_st::memcheckReadErrorAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* address, ptxStorageKind* storage )

获取memcheck检测到错误的地址。自CUDA 5.0起。

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
address
- returned address detected by memcheck
storage
- returned address class of address
返回

CUDBG_ERROR_NOT_SUPPORTED,

CUDBGResult ( *CUDBGAPI_st::readActiveLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* activeLanesMask )

读取有效线程束中活动通道的位掩码。自CUDA 3.0起。

另请参阅:

readGridId

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
activeLanesMask
- the returned bitmask of active lanes
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::readAllVirtualReturnAddresses )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* addrs, uint32_t numAddrs, uint32_t* callDepth, uint32_t* syscallCallDepth )

读取所有虚拟返回地址。自 CUDA 12.5 起。

另请参阅:

readCallDepth

readReturnAddress

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
addrs
- the returned addresses array
numAddrs
- number of elements in addrs array
callDepth
- the returned call depth
syscallCallDepth
- the returned syscall call depth
返回

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_UNKNOWN_FUNCTION, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_INTERNAL

CUDBGResult ( *CUDBGAPI_st::readBlockIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx )

读取运行在有效warp上的CUDA块索引。自CUDA 4.0起。

另请参阅:

readGridId

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
blockIdx
- the returned CUDA block index
返回

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 )

读取运行在有效warp上的二维CUDA块索引。自CUDA 3.0起。

另请参阅:

readGridId

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
blockIdx
- the returned CUDA block index
返回

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 )

读取指定SM上处于断点的warp位掩码。自CUDA 3.0起支持。

另请参阅:

readGridId

readBlockIdx

readThreadIdx

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
brokenWarpsMask
- the returned bitmask of broken warps
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::readCCRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* val )
参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
val
- buffer
返回

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::readCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )

读取给定通道的调用深度(调用次数)。自CUDA 4.0起。

另请参阅:

readReturnAddress

readVirtualReturnAddress

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
depth
- the returned call depth
返回

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 )

读取给定warp的调用深度(调用次数)。自CUDA 3.1起支持。

另请参阅:

readReturnAddress32

readVirtualReturnAddress32

参数
dev
- device index
sm
- SM index
wp
- warp index
depth
- the returned call depth
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::readClusterIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* clusterIdx )

读取运行在有效warp上的CUDA集群索引。自CUDA 12.0起。

另请参阅:

readGridId

readThreadIdx

readBlockIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
clusterIdx
- the returned CUDA cluster index
返回

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 )

读取代码内存段中指定地址的内容。自CUDA 3.0起支持。

另请参阅:

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- device index
addr
- memory address
buf
- buffer
sz
- size of the buffer
返回

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 )

读取常量内存段中指定地址的内容。自CUDA 3.0起支持。

另请参阅:

readCodeMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- device index
addr
- memory address
buf
- buffer
sz
- size of the buffer
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED

CUDBGResult ( *CUDBGAPI_st::readErrorPC )( uint32_t devId, uint32_t sm, uint32_t wp, uint64_t* errorPC, bool* errorPCValid )

获取硬件报告的错误PC(如果存在)。自CUDA 6.0起

参数
devId
- the device index
sm
- the SM index
wp
errorPC
- PC ofthe exception
errorPCValid
- boolean to indicate that the returned error PC is valid
返回

CUDBG_SUCCESS CUDBG_ERROR_UNINITIALIZED CUDBG_ERROR_INVALID_DEVICE CUDBG_ERROR_INVALID_SM CUDBG_ERROR_INVALID_WARP CUDBG_ERROR_INVALID_ARGS CUDBG_ERROR_UNKNOWN_FUNCTION

CUDBGResult ( *CUDBGAPI_st::readGenericMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )

读取通用地址空间中某个地址的内容。此函数会判断给定地址是否位于本地、共享或全局内存窗口内,然后根据提供的硬件坐标输入访问内存。自CUDA 6.0起支持该功能。

另请参阅:

readCodeMemory

readConstMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
addr
- memory address
buf
- buffer
sz
返回

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::readGlobalMemory )( uint64_t addr, void* buf, uint32_t sz )

读取全局地址空间中某个地址的内容。如果该地址在多个设备上有效且其中某个设备不支持UVA,则会返回错误。自CUDA 6.0起。

另请参阅:

readCodeMemory

readConstMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
addr
- memory address
buf
- buffer
sz
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_INVALID_MEMORY_ACCESS, CUDBG_ERROR_ADDRESS_NOT_IN_DEVICE_MEM CUDBG_ERROR_AMBIGUOUS_MEMORY_ADDRESS_

CUDBGResult ( *CUDBGAPI_st::readGlobalMemory31 )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )

读取全局内存段中指定地址的内容。自CUDA 3.0起支持。

另请参阅:

readCodeMemory

readConstMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- device index
addr
- memory address
buf
- buffer
sz
- size of the buffer
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_UNINITIALIZED, CUDBG_ERROR_MEMORY_MAPPING_FAILED

CUDBGResult ( *CUDBGAPI_st::readGlobalMemory55 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )

读取全局内存段中指定地址的内容(Fermi及以上架构支持完整的40位虚拟地址)。自CUDA 3.2版本起支持。

另请参阅:

readCodeMemory

readConstMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
addr
- memory address
buf
- buffer
sz
- size of the buffer
返回

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::readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* gridId64 )

读取运行在有效warp上的64位CUDA网格索引。自CUDA 5.5起。

另请参阅:

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
gridId64
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::readGridId50 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* gridId )

读取运行在有效warp上的CUDA网格索引。自CUDA 3.0起。

另请参阅:

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
gridId
- the returned CUDA grid index
返回

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 )

读取给定通道的异常类型。自 CUDA 3.1 起。

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
exception
- the returned exception type
返回

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 )

读取给定通道的状态。如需获取具体的错误值,请使用readLaneException。自CUDA 3.0起支持该功能。

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
error
- true if there is an error
返回

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 )

读取本地内存段中指定地址的内容。自CUDA 3.0起支持。

另请参阅:

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readRegister

readPC

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
addr
- memory address
buf
- buffer
sz
- size of the buffer
返回

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 )

读取给定活动通道上的PC(程序计数器)。自CUDA 3.0起支持。

另请参阅:

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readVirtualPC

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
pc
- the returned PC
返回

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 )

读取参数内存段中指定地址的内容。自CUDA 3.0起。

另请参阅:

readCodeMemory

readConstMemory

readGenericMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- device index
sm
- SM index
wp
- warp index
addr
- memory address
buf
- buffer
sz
- size of the buffer
返回

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 )

读取系统内存中固定地址的内容。自CUDA 3.2起。

另请参阅:

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
addr
- system memory address
buf
- buffer
sz
- size of the buffer
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::readPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t predicates_size, uint32_t* predicates )
参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
predicates_size
- number of predicate registers to read
predicates
- buffer
返回

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::readRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t* val )

读取硬件寄存器的内容。自CUDA 3.0起支持。

另请参阅:

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readPC

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
regno
- register index
val
- buffer
返回

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::readRegisterRange )( uint32_t devId, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t index, uint32_t registers_size, uint32_t* registers )
参数
devId
sm
- SM index
wp
- warp index
ln
- lane index
index
- index of the first register to read
registers_size
- number of registers to read
registers
- buffer
返回

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 )

读取调用层级的物理返回地址。自CUDA 4.0起。

另请参阅:

readCallDepth

readVirtualReturnAddress

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
level
- the specified call level
ra
- the returned return address for level
返回

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 )

读取调用层级的物理返回地址。自CUDA 3.1起支持。

另请参阅:

readCallDepth32

readVirtualReturnAddress32

参数
dev
- device index
sm
- SM index
wp
- warp index
level
- the specified call level
ra
- the returned return address for level
返回

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 )

读取共享内存段中指定地址的内容。自CUDA 3.0起支持。

另请参阅:

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readLocalMemory

readTextureMemory

readRegister

readPC

参数
dev
- device index
sm
- SM index
wp
- warp index
addr
- memory address
buf
- buffer
sz
- size of the buffer
返回

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::readSmException )( uint32_t dev, uint32_t sm, CUDBGException_t* exception, uint64_t* errorPC, bool* errorPCValid )

获取SM异常状态(如果存在)。自CUDA 12.5起支持。

参数
dev
- the device index
sm
- the SM index
exception
- returned exception
errorPC
- returned PC of the exception
errorPCValid
- boolean to indicate that the returned error PC is valid
返回

CUDBG_SUCCESS CUDBG_ERROR_UNINITIALIZED CUDBG_ERROR_INVALID_DEVICE CUDBG_ERROR_INVALID_SM CUDBG_ERROR_INVALID_ARGS CUDBG_ERROR_UNKNOWN_FUNCTION

CUDBGResult ( *CUDBGAPI_st::readSyscallCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )

读取给定通道的系统调用深度。自CUDA 4.1起。

另请参阅:

readReturnAddress

readVirtualReturnAddress

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
depth
- the returned call depth
返回

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 )
参数
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
返回

CUDBG_ERROR_NOT_SUPPORTED,

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 )
参数
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
返回

CUDBG_ERROR_NOT_SUPPORTED

CUDBGResult ( *CUDBGAPI_st::readThreadIdx )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CuDim3* threadIdx )

读取运行在有效通道上的CUDA线程索引。自CUDA 3.0起。

另请参阅:

readGridId

readBlockIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
threadIdx
- the returned CUDA thread index
返回

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::readUniformPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t predicates_size, uint32_t* predicates )

读取统一谓词寄存器的内容。自 CUDA 10.0 起。

另请参阅:

readPredicates

参数
dev
- device index
sm
- SM index
wp
- warp index
predicates_size
- number of predicate registers to read
predicates
- buffer
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::readUniformRegisterRange )( uint32_t devId, uint32_t sm, uint32_t wp, uint32_t regno, uint32_t registers_size, uint32_t* registers )

读取一组统一寄存器。自 CUDA 10.0 起。

另请参阅:

readRegister

参数
devId
sm
- SM index
wp
- warp index
regno
- starting index into uniform register file
registers_size
- number of bytes to read
registers
- pointer to buffer
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, 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 )

读取给定warp中有效通道的位掩码。自CUDA 3.0起。

另请参阅:

readGridId

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readActiveLanes

参数
dev
- device index
sm
- SM index
wp
- warp index
validLanesMask
- the returned bitmask of valid lanes
返回

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 )

读取给定SM上有效warp的位掩码。自CUDA 3.0起。

另请参阅:

readGridId

readBlockIdx

readThreadIdx

readBrokenWarps

readValidLanes

readActiveLanes

参数
dev
- device index
sm
- SM index
validWarpsMask
- the returned bitmask of valid warps
返回

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 )

读取指定活动通道上的虚拟PC。自CUDA 3.0起。

另请参阅:

readPC

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
pc
- the returned PC
返回

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 )

读取调用层级的虚拟返回地址。自CUDA 4.0起支持。

另请参阅:

readCallDepth

readReturnAddress

参数
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
返回

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 )

读取调用层级的虚拟返回地址。自CUDA 3.1起支持。

另请参阅:

readCallDepth32

readReturnAddress32

参数
dev
- device index
sm
- SM index
wp
- warp index
level
- the specified call level
ra
- the returned virtual return address for level
返回

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::readWarpResources )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpResources* resources )

获取分配给指定warp的资源。自CUDA 12.8起。

参数
dev
- device index
sm
- SM index
wp
- warp index
resources
- pointer to structure that contains warp resources
返回

CUDBG_ERROR_NOT_SUPPORTED,

CUDBGResult ( *CUDBGAPI_st::readWarpState )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpState* state )

获取指定warp的状态。自CUDA 12.7起支持。

参数
dev
- device index
sm
- SM index
wp
- warp index
state
- pointer to structure that contains warp status
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED,

CUDBGResult ( *CUDBGAPI_st::readWarpState120 )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpState120* state )

获取指定warp的状态。自CUDA 12.0起支持。

参数
dev
- device index
sm
- SM index
wp
- warp index
state
- pointer to structure that contains warp status
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED,

CUDBGResult ( *CUDBGAPI_st::readWarpState60 )( uint32_t devId, uint32_t sm, uint32_t wp, CUDBGWarpState60* state )

获取指定warp的状态。自CUDA 6.0起。

参数
devId
sm
- SM index
wp
- warp index
state
- pointer to structure that contains warp status
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED,

CUDBGResult ( *CUDBGAPI_st::writePinnedMemory )( uint64_t addr, const void* buf, uint32_t sz )

将内容写入系统内存中的固定地址。自CUDA 3.2起。

另请参阅:

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readLocalMemory

readRegister

readPC

参数
addr
- system memory address
buf
- buffer
sz
- size of the buffer
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_MEMORY_MAPPING_FAILED, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::writePredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t predicates_size, const uint32_t* predicates )

将内容写入硬件谓词寄存器。自CUDA 6.5起。

另请参阅:

写入常量内存

writeGenericMemory

writeGlobalMemory

writeParamMemory

writeSharedMemory

写入纹理内存

writeLocalMemory

writeRegister

参数
dev
- device index
sm
- SM index
wp
- warp index
ln
- lane index
predicates_size
- number of predicate registers to write
predicates
- buffer
返回

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::writeUniformPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t predicates_size, const uint32_t* predicates )

写入统一谓词寄存器。自 CUDA 10.0 起。

另请参阅:

readUniformPredicate

writeRegister

参数
dev
- device index
sm
- SM index
wp
- warp index
predicates_size
- number of predicate registers to write
predicates
- buffer
返回

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED