Context management routines#
ROCSHMEM_CTX_CREATE#
-
__device__ int rocshmem_wg_ctx_create(int64_t options, rocshmem_ctx_t *ctx)#
-
__device__ int rocshmem_wg_team_create_ctx(rocshmem_team_t team, long options, rocshmem_ctx_t *ctx)#
- Parameters:
team – Team handle to derive the context from.
options – Options for context creation. Ignored in current design; use the value
0.ctx – A handle to the newly created context.
- Returns:
All threads returns
0if the context was created successfully. If any thread returns non-zero value, the operation fails, ctx is set toROCSHMEM_CTX_INVALIDand a higher number ofROCSHMEM_MAX_NUM_CONTEXTSis required.
Description:
This routine creates an rocSHMEM context. By design, the context is private to the calling work-group.
It must be called collectively by all threads in the work-group. If the context was created successfully, a value
of zero is returned and the context handle pointed to by ctx specifies a valid context; otherwise, a nonzero value
is returned and ctx is set to ROCSHMEM_CTX_INVALID. An unsuccessful context creation call is not treated as an
error and the rocSHMEM library remains in a correct state. The creation call can be reattempted after additional
resources become available.
ROCSHMEM_CTX_DESTROY#
-
__device__ void rocshmem_wg_ctx_destroy(rocshmem_ctx_t *ctx)#
- Parameters:
ctx – Context handle.
- Returns:
None.
Description:
This routine destroys an rocSHMEM context. It must be called collectively by all threads in the work-group.
If ctx has the value ROCSHMEM_CTX_INVALID, no operation is performed.
ROCSHMEM_GET_DEVICE_CTX#
-
__host__ void *rocshmem_get_device_ctx()#
- Param:
None.
- Returns:
Returns
ROCSHMEM_CTX_DEFAULTdevice pointer that users. can query from one instance of rocSHMEM host library and use later for dynamic module initialization in kernel bitcode device library in the same application.
Description: This routine queries rocSHMEM default device context from host API.