6.2. 设备管理 [已弃用]

本节介绍 CUDA 运行时应用程序编程接口中已弃用的设备管理功能。

函数

__host____device__cudaError_t cudaDeviceGetSharedMemConfig ( cudaSharedMemConfig ** pConfig )
返回当前设备的共享内存配置。
__host__cudaError_t cudaDeviceSetSharedMemConfig ( cudaSharedMemConfig config )
设置当前设备的共享内存配置。

函数

__host____device__cudaError_t cudaDeviceGetSharedMemConfig ( cudaSharedMemConfig ** pConfig )
返回当前设备的共享内存配置。
参数
pConfig
- 返回的缓存配置
已弃用

描述
此函数将在pConfig返回当前设备上共享内存 Bank 的当前大小。在具有可配置共享内存 Bank 的设备上,可以使用 cudaDeviceSetSharedMemConfig 更改此设置,以便所有后续内核启动默认情况下都将使用新的 Bank 大小。在没有可配置共享内存的设备上调用 cudaDeviceGetSharedMemConfig 时,它将返回硬件的固定 Bank 大小。

返回的 Bank 配置可以是

  • cudaSharedMemBankSizeFourByte - 共享内存 Bank 宽度为四个字节。

  • cudaSharedMemBankSizeEightByte - 共享内存 Bank 宽度为八个字节。

注意

另请参阅

cudaDeviceSetCacheConfig, cudaDeviceGetCacheConfig, cudaDeviceSetSharedMemConfig, cudaFuncSetCacheConfig, cuCtxGetSharedMemConfig

__host__cudaError_t cudaDeviceSetSharedMemConfig ( cudaSharedMemConfig config )
设置当前设备的共享内存配置。
参数
config
- 请求的缓存配置
已弃用

描述
在具有可配置共享内存 Bank 的设备上,此函数将设置用于所有后续内核启动的共享内存 Bank 大小。通过 cudaFuncSetSharedMemConfig 设置的每个函数的共享内存设置将覆盖设备范围的设置。

在启动之间更改共享内存配置可能会引入设备端同步点。

更改共享内存 Bank 大小不会增加共享内存使用量或影响内核的占用率,但可能会对性能产生重大影响。更大的 Bank 大小将允许更大的共享内存潜在带宽,但会改变哪些类型的共享内存访问会导致 Bank 冲突。

此函数在具有固定共享内存 Bank 大小的设备上将不执行任何操作。

支持的 Bank 配置为

  • cudaSharedMemBankSizeDefault:将 Bank 宽度设置为设备默认值(当前为四个字节)

  • cudaSharedMemBankSizeFourByte:将共享内存 Bank 宽度设置为本地四个字节。

  • cudaSharedMemBankSizeEightByte:将共享内存 Bank 宽度设置为本地八个字节。

注意

另请参阅

cudaDeviceSetCacheConfig, cudaDeviceGetCacheConfig, cudaDeviceGetSharedMemConfig, cudaFuncSetCacheConfig, cuCtxSetSharedMemConfig