6.9. 上下文管理 [已弃用]
本节介绍低级别 CUDA 驱动程序应用程序编程接口的已弃用上下文管理功能。
函数
- CUresult cuCtxAttach ( CUcontext* pctx, unsigned int flags )
- 增加上下文的使用计数。
- CUresult cuCtxDetach ( CUcontext ctx )
- 减少上下文的使用计数。
- CUresult cuCtxGetSharedMemConfig ( CUsharedconfig* pConfig )
- 返回当前上下文中当前的共享内存配置。
- CUresult cuCtxSetSharedMemConfig ( CUsharedconfig config )
- 设置当前上下文中的共享内存配置。
函数
- CUresult cuCtxAttach ( CUcontext* pctx, unsigned int flags )
-
增加上下文的使用计数。
参数
- pctx
- - 返回当前上下文的上下文句柄
- flags
- - 上下文附加标志(必须为 0)
返回值
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
请注意,此函数已弃用,不应使用。
描述
增加上下文的使用计数,并在*pctx中传回必须在应用程序完成上下文操作后传递给 cuCtxDetach() 的上下文句柄。cuCtxAttach() 如果线程没有当前上下文,则会失败。
目前,flags参数必须为 0。
注意请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅
cuCtxCreate, cuCtxDestroy, cuCtxDetach, cuCtxGetApiVersion, cuCtxGetCacheConfig, cuCtxGetDevice, cuCtxGetFlags, cuCtxGetLimit, cuCtxPopCurrent, cuCtxPushCurrent, cuCtxSetCacheConfig, cuCtxSetLimit, cuCtxSynchronize
- CUresult cuCtxDetach ( CUcontext ctx )
-
减少上下文的使用计数。
参数
- ctx
- - 要销毁的上下文
已弃用
请注意,此函数已弃用,不应使用。
描述
减少上下文的使用计数ctx,如果使用计数变为 0,则销毁上下文。上下文必须是由 cuCtxCreate() 或 cuCtxAttach() 传回的句柄,并且必须是调用线程的当前上下文。
注意请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅
cuCtxCreate, cuCtxDestroy, cuCtxGetApiVersion, cuCtxGetCacheConfig, cuCtxGetDevice, cuCtxGetFlags, cuCtxGetLimit, cuCtxPopCurrent, cuCtxPushCurrent, cuCtxSetCacheConfig, cuCtxSetLimit, cuCtxSynchronize
- CUresult cuCtxGetSharedMemConfig ( CUsharedconfig* pConfig )
-
返回当前上下文中当前的共享内存配置。
参数
- pConfig
- - 返回的共享内存配置
返回值
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
描述
此函数将返回pConfig当前上下文中共享内存库的当前大小。在具有可配置共享内存库的设备上,cuCtxSetSharedMemConfig 可用于更改此设置,以便所有后续内核启动默认情况下都将使用新的库大小。当在没有可配置共享内存的设备上调用 cuCtxGetSharedMemConfig 时,它将返回硬件的固定库大小。返回的库配置可以是
-
CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE:共享内存库宽度为四个字节。
-
CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE:共享内存库宽度将为八个字节。
注意请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅
cuCtxCreate, cuCtxDestroy, cuCtxGetApiVersion, cuCtxGetCacheConfig, cuCtxGetDevice, cuCtxGetFlags, cuCtxGetLimit, cuCtxPopCurrent, cuCtxPushCurrent, cuCtxSetLimit, cuCtxSynchronize, cuCtxGetSharedMemConfig, cuFuncSetCacheConfig, cudaDeviceGetSharedMemConfig
- CUresult cuCtxSetSharedMemConfig ( CUsharedconfig config )
-
设置当前上下文中的共享内存配置。
参数
- config
- - 请求的共享内存配置
返回值
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
描述
在具有可配置共享内存库的设备上,此函数将设置上下文的共享内存库大小,该大小用于后续的内核启动。在启动之间更改共享内存配置可能会在这些启动之间插入设备端同步点。
更改共享内存库大小不会增加共享内存使用量或影响内核的占用率,但可能会对性能产生重大影响。较大的库大小将允许更大的潜在共享内存带宽,但会更改哪些类型的共享内存访问将导致库冲突。
此函数在具有固定共享内存库大小的设备上将不执行任何操作。
支持的库配置为
-
CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE:将库宽度设置为默认初始设置(当前为四个字节)。
-
CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE:将共享内存库宽度设置为原生四个字节。
-
CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE:将共享内存库宽度设置为原生八个字节。
注意请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅
cuCtxCreate, cuCtxDestroy, cuCtxGetApiVersion, cuCtxGetCacheConfig, cuCtxGetDevice, cuCtxGetFlags, cuCtxGetLimit, cuCtxPopCurrent, cuCtxPushCurrent, cuCtxSetLimit, cuCtxSynchronize, cuCtxGetSharedMemConfig, cuFuncSetCacheConfig, cudaDeviceSetSharedMemConfig