3.5. 设备状态检查

变量

CUDBGResult  ( *CUDBGAPI_st::generateCoredump )( const char* filename, CUDBGCoredumpGenerationFlags flags )
为当前 GPU 状态生成 core dump。
CUDBGResult  ( *CUDBGAPI_st::getClusterExceptionTargetBlock )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx, bool* blockIdxValid )
检索给定设备、流式多处理器和 Warp 的集群异常的目标块索引和有效性状态。
CUDBGResult  ( *CUDBGAPI_st::getConstBankAddress )( uint32_t dev, uint64_t gridId64, uint32_t bank, uint64_t* address, uint32_t* size )
获取常量 bank GPU VA 和大小。
CUDBGResult  ( *CUDBGAPI_st::getConstBankAddress123 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t bank, uint32_t offset, uint64_t* address )
将常量 bank 号和偏移量转换为 GPU VA。
CUDBGResult  ( *CUDBGAPI_st::getLoadedFunctionInfo )( uint32_t devId, uint64_t handle, CUDBGLoadedFunctionInfo* info, uint32_t startIndex, uint32_t numEntries )
获取给定模块的已加载函数的节号和地址。
CUDBGResult  ( *CUDBGAPI_st::getLoadedFunctionInfo118 )( uint32_t devId, uint64_t handle, CUDBGLoadedFunctionInfo* info, uint32_t numEntries )
获取给定模块的已加载函数的节号和地址。
CUDBGResult  ( *CUDBGAPI_st::getManagedMemoryRegionInfo )( uint64_t startAddress, CUDBGMemoryInfo* memoryInfo, uint32_t memoryInfo_size, uint32_t* numEntries )
返回托管内存区域的排序列表。排序后的内存区域列表从包含指定起始地址的区域开始。如果起始地址设置为 0,则返回一个托管内存区域的排序列表,该列表从起始地址最低的托管内存区域开始。
CUDBGResult  ( *CUDBGAPI_st::memcheckReadErrorAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* address, ptxStorageKind* storage )
获取 memcheck 检测到错误的地址。
CUDBGResult  ( *CUDBGAPI_st::readActiveLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* activeLanesMask )
读取有效 Warp 上活动 lane 的位掩码。
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 )
读取所有虚拟返回地址。
CUDBGResult  ( *CUDBGAPI_st::readBlockIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockIdx )
读取在有效 Warp 上运行的 CUDA 块索引。
CUDBGResult  ( *CUDBGAPI_st::readBlockIdx32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* blockIdx )
读取在有效 Warp 上运行的二维 CUDA 块索引。
CUDBGResult  ( *CUDBGAPI_st::readBrokenWarps )( uint32_t dev, uint32_t sm, uint64_t* brokenWarpsMask )
读取给定 SM 上断点处的 Warp 的位掩码。
CUDBGResult  ( *CUDBGAPI_st::readCCRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* val )
读取硬件 CC 寄存器。
CUDBGResult  ( *CUDBGAPI_st::readCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
读取给定 lane 的调用深度(调用次数)。
CUDBGResult  ( *CUDBGAPI_st::readCallDepth32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* depth )
读取给定 Warp 的调用深度(调用次数)。
CUDBGResult  ( *CUDBGAPI_st::readClusterIdx )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* clusterIdx )
读取在有效 Warp 上运行的 CUDA 集群索引。
CUDBGResult  ( *CUDBGAPI_st::readCodeMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
读取代码内存段中地址的内容。
CUDBGResult  ( *CUDBGAPI_st::readConstMemory )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
读取常量内存段中地址的内容。
CUDBGResult  ( *CUDBGAPI_st::readErrorPC )( uint32_t devId, uint32_t sm, uint32_t wp, uint64_t* errorPC, bool* errorPCValid )
获取硬件报告的错误 PC(如果存在)。
CUDBGResult  ( *CUDBGAPI_st::readGenericMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t addr, void* buf, uint32_t sz )
读取通用地址空间中地址的内容。此函数确定给定地址是否属于本地、共享或全局内存窗口。然后,它会考虑作为输入提供的硬件坐标来访问内存。
CUDBGResult  ( *CUDBGAPI_st::readGlobalMemory )( uint64_t addr, void* buf, uint32_t sz )
读取全局地址空间中地址的内容。如果该地址在多个设备上有效,并且其中一个设备不支持 UVA,则返回错误。
CUDBGResult  ( *CUDBGAPI_st::readGlobalMemory31 )( uint32_t dev, uint64_t addr, void* buf, uint32_t sz )
读取全局内存段中地址的内容。
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 位 VA)。
CUDBGResult  ( *CUDBGAPI_st::readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* gridId64 )
读取在有效 Warp 上运行的 64 位 CUDA 网格索引。
CUDBGResult  ( *CUDBGAPI_st::readGridId50 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* gridId )
读取在有效 Warp 上运行的 CUDA 网格索引。
CUDBGResult  ( *CUDBGAPI_st::readLaneException )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CUDBGException_t* exception )
读取给定 lane 的异常类型。
CUDBGResult  ( *CUDBGAPI_st::readLaneStatus )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, bool* error )
读取给定 lane 的状态。对于特定的错误值,请使用 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 )
读取本地内存段中地址的内容。
CUDBGResult  ( *CUDBGAPI_st::readPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
读取给定活动 lane 上的 PC。
CUDBGResult  ( *CUDBGAPI_st::readParamMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
读取参数内存段中地址的内容。
CUDBGResult  ( *CUDBGAPI_st::readPinnedMemory )( uint64_t addr, void* buf, uint32_t sz )
读取系统内存中固定地址的内容。
CUDBGResult  ( *CUDBGAPI_st::readPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t predicates_size, uint32_t* predicates )
读取硬件谓词寄存器的内容。
CUDBGResult  ( *CUDBGAPI_st::readRegister )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t regno, uint32_t* val )
读取硬件寄存器的内容。
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 )
读取硬件寄存器范围的内容。
CUDBGResult  ( *CUDBGAPI_st::readReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
读取调用级别的物理返回地址。
CUDBGResult  ( *CUDBGAPI_st::readReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
读取调用级别的物理返回地址。
CUDBGResult  ( *CUDBGAPI_st::readSharedMemory )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t addr, void* buf, uint32_t sz )
读取共享内存段中地址的内容。
CUDBGResult  ( *CUDBGAPI_st::readSmException )( uint32_t dev, uint32_t sm, CUDBGException_t* exception, uint64_t* errorPC, bool* errorPCValid )
获取 SM 异常状态(如果存在)。
CUDBGResult  ( *CUDBGAPI_st::readSyscallCallDepth )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t* depth )
读取给定 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 )
此方法自 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 )
此方法自 CUDA 12.0 起不再受支持。
CUDBGResult  ( *CUDBGAPI_st::readThreadIdx )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, CuDim3* threadIdx )
读取在有效 lane 上运行的 CUDA 线程索引。
CUDBGResult  ( *CUDBGAPI_st::readUniformPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t predicates_size, uint32_t* predicates )
读取统一谓词寄存器的内容。
CUDBGResult  ( *CUDBGAPI_st::readUniformRegisterRange )( uint32_t devId, uint32_t sm, uint32_t wp, uint32_t regno, uint32_t registers_size, uint32_t* registers )
读取一系列统一寄存器。
CUDBGResult  ( *CUDBGAPI_st::readValidLanes )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* validLanesMask )
读取给定 Warp 上有效 lane 的位掩码。
CUDBGResult  ( *CUDBGAPI_st::readValidWarps )( uint32_t dev, uint32_t sm, uint64_t* validWarpsMask )
读取给定 SM 上有效 Warp 的位掩码。
CUDBGResult  ( *CUDBGAPI_st::readVirtualPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
读取给定活动 lane 上的虚拟 PC。
CUDBGResult  ( *CUDBGAPI_st::readVirtualReturnAddress )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t level, uint64_t* ra )
读取调用级别的虚拟返回地址。
CUDBGResult  ( *CUDBGAPI_st::readVirtualReturnAddress32 )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t level, uint64_t* ra )
读取调用级别的虚拟返回地址。
CUDBGResult  ( *CUDBGAPI_st::readWarpResources )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpResources* resources )
获取分配给给定 warp 的资源。
CUDBGResult  ( *CUDBGAPI_st::readWarpState )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpState* state )
获取给定 warp 的状态。
CUDBGResult  ( *CUDBGAPI_st::readWarpState120 )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGWarpState120* state )
获取给定 warp 的状态。
CUDBGResult  ( *CUDBGAPI_st::readWarpState60 )( uint32_t devId, uint32_t sm, uint32_t wp, CUDBGWarpState60* state )
获取给定 warp 的状态。
CUDBGResult  ( *CUDBGAPI_st::writePinnedMemory )( uint64_t addr, const void* buf, uint32_t sz )
将内容写入系统内存中的 pinned 地址。
CUDBGResult  ( *CUDBGAPI_st::writePredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint32_t predicates_size, const uint32_t* predicates )
将内容写入硬件 predicate 寄存器。
CUDBGResult  ( *CUDBGAPI_st::writeUniformPredicates )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t predicates_size, const uint32_t* predicates )
写入 uniform predicate 寄存器。

变量

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

为当前的 GPU 状态生成 coredump。自 CUDA 12.3 起

参数
filename
- 目标 coredump 文件名
flags
- coredump 生成标志/选项
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
blockIdx
- 指向 `CuDim3` 结构的指针,该结构将被填充目标块索引
blockIdxValid
- 指向布尔变量的指针,如果目标块索引有效,则设置为 `true`,否则设置为 `false`。如果 warp 未因集群异常而停止,则值将设置为 false
返回值

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 VA 和大小。自 CUDA 12.4 起

参数
dev
- 设备索引
gridId64
- 包含常量 bank 的 grid 的 grid ID
bank
- 常量 bank 编号
address
- (输出) bank 内存的 GPU VA
size
- (输出) bank 大小
返回值

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 )

将常量 bank 编号和偏移量转换为 GPU VA。自 CUDA 12.3 起

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
bank
- 常量 bank 编号
offset
- bank 内的偏移量
address
- (输出) 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 映像句柄
info
startIndex
numEntries
- 要读取的函数加载条目数
返回值

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 映像句柄
info
numEntries
- 要读取的函数加载条目数
返回值

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
- 列表中第一个区域必须包含的地址。如果起始地址设置为 0,则返回的托管内存区域列表从起始地址最低的托管内存区域开始。
memoryInfo
- 客户端分配的 CUDBGMemoryInfo 类型内存区域记录数组。
memoryInfo_size
- memoryInfo 可以容纳的 CUDBGMemoryInfo 类型记录数。
numEntries
- 指向客户端分配的变量的指针,该变量保存 memoryInfo 中返回的有效条目数。有效条目是连续的,并从 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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
address
- memcheck 检测到的返回地址
storage
- 返回地址的地址类别
返回值

CUDBG_ERROR_NOT_SUPPORTED,

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

读取有效 warp 上的活动 lane 的位掩码。自 CUDA 3.0 起。

另请参阅

readGridId

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
activeLanesMask
- 返回的活动 lane 的位掩码
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
addrs
- 返回的地址数组
numAddrs
- addrs 数组中的元素数
callDepth
- 返回的调用深度
syscallCallDepth
- 返回的 syscall 调用深度
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
blockIdx
- 返回的 CUDA 块索引
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
blockIdx
- 返回的 CUDA 块索引
返回值

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
- 设备索引
sm
- SM 索引
brokenWarpsMask
- 返回的 broken warp 的位掩码
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
val
- 缓冲区
返回值

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 )

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

另请参阅

readReturnAddress

readVirtualReturnAddress

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
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
- 设备索引
sm
- SM 索引
wp
- warp 索引
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
- 设备索引
sm
- SM 索引
wp
- warp 索引
clusterIdx
- 返回的 CUDA 集群索引
返回值

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
- 设备索引
addr
- 内存地址
buf
- 缓冲区
sz
- 缓冲区大小
返回值

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
- 设备索引
addr
- 内存地址
buf
- 缓冲区
sz
- 缓冲区大小
返回值

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
- 设备索引
sm
- SM 索引
wp
errorPC
- 异常的 PC
errorPCValid
- 布尔值,指示返回的错误 PC 是否有效
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
addr
- 内存地址
buf
- 缓冲区
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
- 内存地址
buf
- 缓冲区
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
- 设备索引
addr
- 内存地址
buf
- 缓冲区
sz
- 缓冲区大小
返回值

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 位 VA)。自 CUDA 3.2 起。

另请参阅

readCodeMemory

readConstMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
addr
- 内存地址
buf
- 缓冲区
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::readGridId )( uint32_t dev, uint32_t sm, uint32_t wp, uint64_t* gridId64 )

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

另请参阅

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
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 grid 索引。自 CUDA 3.0 起。

另请参阅

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
gridId
- 返回的 CUDA grid 索引
返回值

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 )

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

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
exception
- 返回的异常类型
返回值

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 )

读取给定 lane 的状态。对于特定的错误值,请使用 readLaneException。自 CUDA 3.0 起。

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
error
- 如果存在错误,则为 true
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
addr
- 内存地址
buf
- 缓冲区
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

CUDBGResult ( *CUDBGAPI_st::readPC )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t ln, uint64_t* pc )
参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
pc
- 返回的 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 )

读取 param 内存段中地址的内容。自 CUDA 3.0 起。

另请参阅

readCodeMemory

readConstMemory

readGenericMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
addr
- 内存地址
buf
- 缓冲区
sz
- 缓冲区大小
返回值

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 )

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

另请参阅

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readRegister

readPC

参数
addr
- 系统内存地址
buf
- 缓冲区
sz
- 缓冲区大小
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
predicates_size
- 要读取的谓词寄存器数量
predicates
- 缓冲区
返回值

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 )
参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
regno
- 寄存器索引
val
- 缓冲区
返回值

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 )

读取硬件寄存器范围内硬件寄存器的内容。始于 CUDA 6.0。

另请参阅

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readTextureMemory

readLocalMemory

readPC

readRegister

参数
devId
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
index
- 要读取的第一个寄存器的索引
registers_size
- 要读取的寄存器数量
registers
- 缓冲区
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
level
- 指定的调用级别
ra
- 返回的指定级别的返回地址
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
level
- 指定的调用级别
ra
- 返回的指定级别的返回地址
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
addr
- 内存地址
buf
- 缓冲区
sz
- 缓冲区大小
返回值

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
- 设备索引
sm
- SM 索引
exception
- 返回的异常
errorPC
- 返回的异常 PC
errorPCValid
- 布尔值,指示返回的错误 PC 是否有效
返回值

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 )

读取给定 lane 的 syscall 调用深度。始于 CUDA 4.1。

另请参阅

readReturnAddress

readVirtualReturnAddress

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
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
- 设备索引
vsm
- SM 索引
wp
- warp 索引
id
- 纹理 id (重定位 ELF 镜像中 DW_AT_location 属性的值)
dim
- 纹理维度 (1 到 4)
coords
- 维度大小的坐标数组
buf
- 结果缓冲区
sz
- 缓冲区大小
返回值

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
- 设备索引
vsm
- SM 索引
wp
- warp 索引
texSymtabIndex
- 纹理符号的全局符号表索引
dim
- 纹理维度 (1 到 4)
coords
- 维度大小的坐标数组
buf
- 结果缓冲区
sz
- 缓冲区大小
返回值

CUDBG_ERROR_NOT_SUPPORTED

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

读取在有效 lane 上运行的 CUDA 线程索引。始于 CUDA 3.0。

另请参阅

readGridId

readBlockIdx

readBrokenWarps

readValidWarps

readValidLanes

readActiveLanes

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
threadIdx
- 返回的 CUDA 线程索引
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
predicates_size
- 要读取的谓词寄存器数量
predicates
- 缓冲区
返回值

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 索引
wp
- warp 索引
regno
- 统一寄存器文件中的起始索引
registers_size
- 要读取的字节数
registers
- 指向缓冲区的指针
返回值

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 上有效 lane 的位掩码。始于 CUDA 3.0。

另请参阅

readGridId

readBlockIdx

readThreadIdx

readBrokenWarps

readValidWarps

readActiveLanes

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
validLanesMask
- 返回的有效 lane 的位掩码
返回值

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
- 设备索引
sm
- SM 索引
validWarpsMask
- 返回的有效 warp 的位掩码
返回值

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 )

读取给定活动 lane 上的虚拟 PC。始于 CUDA 3.0。

另请参阅

readPC

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
pc
- 返回的 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
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
level
- 指定的调用级别
ra
- 返回的指定级别的虚拟返回地址
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
level
- 指定的调用级别
ra
- 返回的指定级别的虚拟返回地址
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
resources
- 指向包含 warp 资源的结构的指针
返回值

CUDBG_ERROR_NOT_SUPPORTED,

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

获取给定 warp 的状态。始于 CUDA 12.7。

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
state
- 指向包含 warp 状态的结构的指针
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
state
- 指向包含 warp 状态的结构的指针
返回值

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 索引
wp
- warp 索引
state
- 指向包含 warp 状态的结构的指针
返回值

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 )

将内容写入系统内存中的 pinned 地址。始于 CUDA 3.2。

另请参阅

readCodeMemory

readConstMemory

readGenericMemory

readParamMemory

readSharedMemory

readLocalMemory

readRegister

readPC

参数
addr
- 系统内存地址
buf
- 缓冲区
sz
- 缓冲区大小
返回值

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。

另请参阅

writeConstMemory

writeGenericMemory

writeGlobalMemory

writeParamMemory

writeSharedMemory

writeTextureMemory

writeLocalMemory

writeRegister

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
ln
- lane 索引
predicates_size
- 要写入的谓词寄存器数量
predicates
- 缓冲区
返回值

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
- 设备索引
sm
- SM 索引
wp
- warp 索引
predicates_size
- 要写入的谓词寄存器数量
predicates
- 缓冲区
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_SM, CUDBG_ERROR_INVALID_WARP, CUDBG_ERROR_UNINITIALIZED