Context Management [Deprecated]#

HIP Runtime API Reference: Context Management [Deprecated]
Context Management [Deprecated]
Collaboration diagram for Context Management [Deprecated]:

Functions

hipError_t hipCtxCreate (hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
 Create a context and set it as current/ default context. More...
 
hipError_t hipCtxDestroy (hipCtx_t ctx)
 Destroy a HIP context. More...
 
hipError_t hipCtxPopCurrent (hipCtx_t *ctx)
 Pop the current/default context and return the popped context. More...
 
hipError_t hipCtxPushCurrent (hipCtx_t ctx)
 Push the context to be set as current/ default context. More...
 
hipError_t hipCtxSetCurrent (hipCtx_t ctx)
 Set the passed context as current/default. More...
 
hipError_t hipCtxGetCurrent (hipCtx_t *ctx)
 Get the handle of the current/ default context. More...
 
hipError_t hipCtxGetDevice (hipDevice_t *device)
 Get the handle of the device associated with current/default context. More...
 
hipError_t hipCtxGetApiVersion (hipCtx_t ctx, int *apiVersion)
 Returns the approximate HIP api version. More...
 
hipError_t hipCtxGetCacheConfig (hipFuncCache_t *cacheConfig)
 Set Cache configuration for a specific function. More...
 
hipError_t hipCtxSetCacheConfig (hipFuncCache_t cacheConfig)
 Set L1/Shared cache partition. More...
 
hipError_t hipCtxSetSharedMemConfig (hipSharedMemConfig config)
 Set Shared memory bank configuration. More...
 
hipError_t hipCtxGetSharedMemConfig (hipSharedMemConfig *pConfig)
 Get Shared memory bank configuration. More...
 
hipError_t hipCtxSynchronize (void)
 Blocks until the default context has completed all preceding requested tasks. More...
 
hipError_t hipCtxGetFlags (unsigned int *flags)
 Return flags used for creating default context. More...
 
hipError_t hipCtxEnablePeerAccess (hipCtx_t peerCtx, unsigned int flags)
 Enables direct access to memory allocations in a peer context. More...
 
hipError_t hipCtxDisablePeerAccess (hipCtx_t peerCtx)
 Disable direct access from current context's virtual address space to memory allocations physically located on a peer context.Disables direct access to memory allocations in a peer context and unregisters any registered allocations. More...
 

Detailed Description

This section describes the deprecated context management functions of HIP runtime API.

Function Documentation

◆ hipCtxCreate()

hipError_t hipCtxCreate ( hipCtx_t ctx,
unsigned int  flags,
hipDevice_t  device 
)

Create a context and set it as current/ default context.

Parameters
[out]ctx
[in]flags
[in]associateddevice handle
Returns
hipSuccess
See also
hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

◆ hipCtxDestroy()

◆ hipCtxDisablePeerAccess()

hipError_t hipCtxDisablePeerAccess ( hipCtx_t  peerCtx)

Disable direct access from current context's virtual address space to memory allocations physically located on a peer context.Disables direct access to memory allocations in a peer context and unregisters any registered allocations.

Returns hipErrorPeerAccessNotEnabled if direct access to memory on peerDevice has not yet been enabled from the current device.

Parameters
[in]peerCtx
Returns
hipSuccess, hipErrorPeerAccessNotEnabled
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
Warning
PeerToPeer support is experimental.

◆ hipCtxEnablePeerAccess()

hipError_t hipCtxEnablePeerAccess ( hipCtx_t  peerCtx,
unsigned int  flags 
)

Enables direct access to memory allocations in a peer context.

Memory which already allocated on peer device will be mapped into the address space of the current device. In addition, all future memory allocations on peerDeviceId will be mapped into the address space of the current device when the memory is allocated. The peer memory remains accessible from the current device until a call to hipDeviceDisablePeerAccess or hipDeviceReset.

Parameters
[in]peerCtx
[in]flags
Returns
hipSuccess, hipErrorInvalidDevice, hipErrorInvalidValue, hipErrorPeerAccessAlreadyEnabled
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice
Warning
PeerToPeer support is experimental.

◆ hipCtxGetApiVersion()

hipError_t hipCtxGetApiVersion ( hipCtx_t  ctx,
int *  apiVersion 
)

Returns the approximate HIP api version.

Parameters
[in]ctxContext to check
[out]apiVersion
Returns
hipSuccess
Warning
The HIP feature set does not correspond to an exact CUDA SDK api revision. This function always set *apiVersion to 4 as an approximation though HIP supports some features which were introduced in later CUDA SDK revisions. HIP apps code should not rely on the api revision number here and should use arch feature flags to test device capabilities or conditional compilation.
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetDevice, hipCtxGetFlags, hipCtxPopCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

◆ hipCtxGetCacheConfig()

hipError_t hipCtxGetCacheConfig ( hipFuncCache_t cacheConfig)

Set Cache configuration for a specific function.

Parameters
[out]cacheConfiguration
Returns
hipSuccess
Warning
AMD devices and some Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

◆ hipCtxGetCurrent()

hipError_t hipCtxGetCurrent ( hipCtx_t ctx)

◆ hipCtxGetDevice()

hipError_t hipCtxGetDevice ( hipDevice_t device)

Get the handle of the device associated with current/default context.

Parameters
[out]device
Returns
hipSuccess, hipErrorInvalidContext
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize

◆ hipCtxGetFlags()

hipError_t hipCtxGetFlags ( unsigned int *  flags)

◆ hipCtxGetSharedMemConfig()

hipError_t hipCtxGetSharedMemConfig ( hipSharedMemConfig pConfig)

Get Shared memory bank configuration.

Parameters
[out]sharedMemoryConfiguration
Returns
hipSuccess
Warning
AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

◆ hipCtxPopCurrent()

hipError_t hipCtxPopCurrent ( hipCtx_t ctx)

Pop the current/default context and return the popped context.

Parameters
[out]ctx
Returns
hipSuccess, hipErrorInvalidContext
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxSetCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

◆ hipCtxPushCurrent()

hipError_t hipCtxPushCurrent ( hipCtx_t  ctx)

◆ hipCtxSetCacheConfig()

hipError_t hipCtxSetCacheConfig ( hipFuncCache_t  cacheConfig)

Set L1/Shared cache partition.

Parameters
[in]cacheConfiguration
Returns
hipSuccess
Warning
AMD devices and some Nvidia GPUS do not support reconfigurable cache. This hint is ignored on those architectures.
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

◆ hipCtxSetCurrent()

hipError_t hipCtxSetCurrent ( hipCtx_t  ctx)

◆ hipCtxSetSharedMemConfig()

hipError_t hipCtxSetSharedMemConfig ( hipSharedMemConfig  config)

Set Shared memory bank configuration.

Parameters
[in]sharedMemoryConfiguration
Returns
hipSuccess
Warning
AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is ignored on those architectures.
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

◆ hipCtxSynchronize()

hipError_t hipCtxSynchronize ( void  )

Blocks until the default context has completed all preceding requested tasks.

Returns
hipSuccess
Warning
This function waits for all streams on the default context to complete execution, and then returns.
See also
hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxGetDevice