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 起。
另请参阅
参数
- 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 )
-
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 )
-
读取硬件 CC 寄存器。自 CUDA 6.5 起。
另请参阅
参数
- 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 )
-
参数
- 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 )
-
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 )
-
读取给定活动 lane 上的 PC。自 CUDA 3.0 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 起。
另请参阅
参数
- 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 )
-
读取硬件谓词寄存器的内容。始于 CUDA 6.5。
另请参阅
参数
- 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 )
-
读取硬件寄存器的内容。始于 CUDA 3.0。
另请参阅
参数
- 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。
另请参阅
参数
- 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 )
-
参数
- 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 )
-
参数
- 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。
另请参阅
参数
- 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 )
-
参数
- 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 )
-
此方法自 CUDA 12.0 起不再受支持。
另请参阅
参数
- 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 )
-
此方法自 CUDA 12.0 起不再受支持。
另请参阅
参数
- 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。
另请参阅
参数
- 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 )
-
参数
- 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 )
-
参数
- 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。
另请参阅
参数
- 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。
另请参阅
参数
- 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 )
-
参数
- 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 )
-
参数
- 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 )
-
参数
- 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。
另请参阅
参数
- 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
writeTextureMemory
参数
- 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 )
-
参数
- 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