HIP: Heterogenous-computing Interface for Portability: Context Management [Deprecated]

HIP: Heterogenous-computing Interface for Portability

Functions
Context Management [Deprecated]
HIP API » Context Management
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] | associated | device handle

Returns
  hipSuccess

See also
  hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

## ◆ hipCtxDestroy()

hipError_t hipCtxDestroy | ( | hipCtx_t | ctx | ) |

Destroy a HIP context.

Parameters

  [in] | ctx | Context to destroy

Returns
  hipSuccess, hipErrorInvalidValue

See also
  hipCtxCreate, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice

## ◆ 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] | ctx | Context 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 | ) |

Get the handle of the current/ default context.

Parameters

  [out] | ctx |

Returns
  hipSuccess, hipErrorInvalidContext

See also
  hipCtxCreate, hipCtxDestroy, hipCtxGetDevice, hipCtxGetFlags, hipCtxPopCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

## ◆ 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 | ) |

Return flags used for creating default context.

Parameters

  [out] | flags |

Returns
  hipSuccess

See also
  hipCtxCreate, hipCtxDestroy, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxGetCurrent, hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice

## ◆ 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 | ) |

Push the context to be set as current/ default context.

Parameters

  [in] | ctx |

Returns
  hipSuccess, hipErrorInvalidContext

See also
  hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice

## ◆ 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 | ) |

Set the passed context as current/default.

Parameters

  [in] | ctx |

Returns
  hipSuccess, hipErrorInvalidContext

See also
  hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice

## ◆ 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