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 宽度为八个字节。
注意-
请注意,此函数也可能返回来自先前异步启动的错误代码。
-
请注意,如果此调用尝试初始化内部 CUDA RT 状态,此函数也可能返回 cudaErrorInitializationError、cudaErrorInsufficientDriver 或 cudaErrorNoDevice。
-
请注意,根据 cudaStreamAddCallback 的规定,不得从回调中调用任何 CUDA 函数。在这种情况,可能会返回 cudaErrorNotPermitted 作为诊断信息,但不保证一定返回。
另请参阅
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 宽度设置为本地八个字节。
注意-
请注意,此函数也可能返回来自先前异步启动的错误代码。
-
请注意,如果此调用尝试初始化内部 CUDA RT 状态,此函数也可能返回 cudaErrorInitializationError、cudaErrorInsufficientDriver 或 cudaErrorNoDevice。
-
请注意,根据 cudaStreamAddCallback 的规定,不得从回调中调用任何 CUDA 函数。在这种情况,可能会返回 cudaErrorNotPermitted 作为诊断信息,但不保证一定返回。
另请参阅
cudaDeviceSetCacheConfig, cudaDeviceGetCacheConfig, cudaDeviceGetSharedMemConfig, cudaFuncSetCacheConfig, cuCtxSetSharedMemConfig