3.7. 网格属性

struct 
网格信息。

枚举

enum CUDBGGridStatus
网格状态。

变量

CUDBGResult  ( *CUDBGAPI_st::getBlockDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockDim )
获取给定块中的线程数。
CUDBGResult  ( *CUDBGAPI_st::getClusterDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* clusterDim )
获取给定集群中的块数。
CUDBGResult  ( *CUDBGAPI_st::getClusterDim120 )( uint32_t dev, uint64_t gridId64, CuDim3* clusterDim )
获取给定集群中的块数。
CUDBGResult  ( *CUDBGAPI_st::getElfImage )( uint32_t dev, uint32_t sm, uint32_t wp, bool  relocated, void* *elfImage, uint64_t* size )
获取给定设备上网格的重定位或非重定位 ELF 映像和大小。
CUDBGResult  ( *CUDBGAPI_st::getElfImage32 )( uint32_t dev, uint32_t sm, uint32_t wp, bool  relocated, void* *elfImage, uint32_t* size )
获取给定设备上网格的重定位或非重定位 ELF 映像和大小。
CUDBGResult  ( *CUDBGAPI_st::getGridAttribute )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttribute attr, uint64_t* value )
获取网格属性的值。
CUDBGResult  ( *CUDBGAPI_st::getGridAttributes )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeValuePair* pairs, uint32_t numPairs )
在单个 API 调用中获取多个网格属性值。
CUDBGResult  ( *CUDBGAPI_st::getGridDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* gridDim )
获取给定网格中的块数。
CUDBGResult  ( *CUDBGAPI_st::getGridDim32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* gridDim )
获取给定网格中的块数。
CUDBGResult  ( *CUDBGAPI_st::getGridInfo )( uint32_t dev, uint64_t gridId64, CUDBGGridInfo* gridInfo )
获取有关指定网格的信息。 如果网格的上下文已被销毁,即使网格 ID 正确,该函数也会返回 CUDBG_ERROR_INVALID_GRID。
CUDBGResult  ( *CUDBGAPI_st::getGridInfo120 )( uint32_t dev, uint64_t gridId64, CUDBGGridInfo120* gridInfo )
获取有关指定网格的信息。 如果网格的上下文已被销毁,即使网格 ID 正确,该函数也会返回 CUDBG_ERROR_INVALID_GRID。
CUDBGResult  ( *CUDBGAPI_st::getGridInfo55 )( uint32_t dev, uint64_t gridId64, CUDBGGridInfo55* gridInfo )
获取有关指定网格的信息。 如果网格的上下文已被销毁,即使网格 ID 正确,该函数也会返回 CUDBG_ERROR_INVALID_GRID。
CUDBGResult  ( *CUDBGAPI_st::getGridStatus )( uint32_t dev, uint64_t gridId64, CUDBGGridStatus* status )
检查与给定 gridId 对应的网格是否仍存在于设备上。
CUDBGResult  ( *CUDBGAPI_st::getGridStatus50 )( uint32_t dev, uint32_t gridId, CUDBGGridStatus* status )
检查与给定 gridId 对应的网格是否仍存在于设备上。
CUDBGResult  ( *CUDBGAPI_st::getTID )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* tid )
获取托管网格上下文的 Linux 线程的 ID。

枚举

enum CUDBGGridStatus

CUDBG_GRID_STATUS_INVALID
传递了无效的网格 ID,或者在状态查找期间发生错误。
CUDBG_GRID_STATUS_PENDING
网格已启动,但尚未在硬件上运行。
CUDBG_GRID_STATUS_ACTIVE
网格当前正在硬件上运行。
CUDBG_GRID_STATUS_SLEEPING
网格在设备上,正在进行 join 操作。
CUDBG_GRID_STATUS_TERMINATED
网格已完成执行。
CUDBG_GRID_STATUS_UNDETERMINED
网格处于 QUEUED 或 TERMINATED 状态。

变量

CUDBGResult ( *CUDBGAPI_st::getBlockDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* blockDim )

获取给定块中的线程数。 自 CUDA 3.0 起。

另请参阅

getGridDim

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
blockDim
- 返回的块中的线程数
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getClusterDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* clusterDim )

获取给定集群中的块数。 自 CUDA 12.7 起。

另请参阅

getBlockDim

getGridDim

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
clusterDim
- 返回的集群中的块数
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getClusterDim120 )( uint32_t dev, uint64_t gridId64, CuDim3* clusterDim )

获取给定集群中的块数。 自 CUDA 12.0 起。

另请参阅

getBlockDim

getGridDim

参数
dev
- 设备索引
gridId64
- 网格 ID
clusterDim
- 返回的集群中的块数
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getElfImage )( uint32_t dev, uint32_t sm, uint32_t wp, bool  relocated, void* *elfImage, uint64_t* size )

获取给定设备上网格的重定位或非重定位 ELF 映像和大小。 自 CUDA 4.0 起。

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
relocated
- 设置为 true 以指定重定位的 ELF 映像,否则为 false
*elfImage
- 指向 ELF 映像的指针
size
- ELF 映像的大小(64 位)
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getElfImage32 )( uint32_t dev, uint32_t sm, uint32_t wp, bool  relocated, void* *elfImage, uint32_t* size )

获取给定设备上网格的重定位或非重定位 ELF 映像和大小。 自 CUDA 3.0 起。

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
relocated
- 设置为 true 以指定重定位的 ELF 映像,否则为 false
*elfImage
- 指向 ELF 映像的指针
size
- ELF 映像的大小(32 位)
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getGridAttribute )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttribute attr, uint64_t* value )

获取网格属性的值。 自 CUDA 3.1 起。

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
attr
- 属性
value
- 返回的属性值
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_ATTRIBUTE, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getGridAttributes )( uint32_t dev, uint32_t sm, uint32_t wp, CUDBGAttributeValuePair* pairs, uint32_t numPairs )

在单个 API 调用中获取多个网格属性值。 自 CUDA 3.1 起。

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
pairs
- 属性/值对数组
numPairs
- 数组中属性/值对的数量
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INVALID_ATTRIBUTE, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getGridDim )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim3* gridDim )

获取给定网格中的块数。 自 CUDA 4.0 起。

另请参阅

getBlockDim

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
gridDim
- 返回的网格中的块数
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getGridDim32 )( uint32_t dev, uint32_t sm, uint32_t wp, CuDim2* gridDim )

获取给定网格中的块数。 自 CUDA 3.0 起。

另请参阅

getBlockDim

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
gridDim
- 返回的网格中的块数
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED

CUDBGResult ( *CUDBGAPI_st::getGridInfo )( uint32_t dev, uint64_t gridId64, CUDBGGridInfo* gridInfo )

获取有关指定网格的信息。 如果网格的上下文已被销毁,即使网格 ID 正确,该函数也会返回 CUDBG_ERROR_INVALID_GRID。 自 CUDA 12.7 起。

参数
dev
gridId64
gridInfo
- 指向客户端分配的结构体的指针,网格信息将返回到该结构体中。
返回值

CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_SUCCESS

CUDBGResult ( *CUDBGAPI_st::getGridInfo120 )( uint32_t dev, uint64_t gridId64, CUDBGGridInfo120* gridInfo )

获取有关指定网格的信息。 如果网格的上下文已被销毁,即使网格 ID 正确,该函数也会返回 CUDBG_ERROR_INVALID_GRID。 自 CUDA 12.0 起。

参数
dev
gridId64
gridInfo
- 指向客户端分配的结构体的指针,网格信息将返回到该结构体中。
返回值

CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_SUCCESS

CUDBGResult ( *CUDBGAPI_st::getGridInfo55 )( uint32_t dev, uint64_t gridId64, CUDBGGridInfo55* gridInfo )

获取有关指定网格的信息。 如果网格的上下文已被销毁,即使网格 ID 正确,该函数也会返回 CUDBG_ERROR_INVALID_GRID。 自 CUDA 5.5 起。

参数
dev
gridId64
gridInfo
- 指向客户端分配的结构体的指针,网格信息将返回到该结构体中。
返回值

CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_SUCCESS

CUDBGResult ( *CUDBGAPI_st::getGridStatus )( uint32_t dev, uint64_t gridId64, CUDBGGridStatus* status )

检查与给定 gridId 对应的网格是否仍存在于设备上。 自 CUDA 5.5 起。

参数
dev
gridId64
- 64 位网格 ID
status
- 枚举,指示网格状态是 INVALID、PENDING、ACTIVE、SLEEPING、TERMINATED 还是 UNDETERMINED
返回值

CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INTERNAL

CUDBGResult ( *CUDBGAPI_st::getGridStatus50 )( uint32_t dev, uint32_t gridId, CUDBGGridStatus* status )

检查与给定 gridId 对应的网格是否仍存在于设备上。 自 CUDA 5.0 起。

参数
dev
gridId
- 网格 ID
status
- 枚举,指示网格状态是 INVALID、PENDING、ACTIVE、SLEEPING、TERMINATED 还是 UNDETERMINED
返回值

CUDBG_ERROR_INVALID_DEVICE, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_INTERNAL

CUDBGResult ( *CUDBGAPI_st::getTID )( uint32_t dev, uint32_t sm, uint32_t wp, uint32_t* tid )

获取托管网格上下文的 Linux 线程的 ID。 自 CUDA 3.0 起。

参数
dev
- 设备索引
sm
- SM 索引
wp
- warp 索引
tid
- 返回的线程 ID
返回值

CUDBG_SUCCESS, CUDBG_ERROR_INVALID_ARGS, CUDBG_ERROR_INVALID_GRID, CUDBG_ERROR_UNINITIALIZED