Memory ordering routines#

ROCSHMEM_FENCE#

__device__ void rocshmem_fence()#
__device__ void rocshmem_fence(int pe)#
__device__ void rocshmem_ctx_fence(rocshmem_ctx_t ctx)#
__device__ void rocshmem_ctx_fence(rocshmem_ctx_t ctx, int pe)#
Parameters:
  • ctx – Context with which to perform this operation.

  • pe – Destination pe.

Returns:

None.

Description: This routine ensures order between messages in this context to follow OpenSHMEM semantics.

ROCSHMEM_QUIET#

__device__ void rocshmem_ctx_quiet(rocshmem_ctx_t ctx)#
__device__ void rocshmem_quiet()#
Parameters:

ctx – Context with which to perform this operation.

Returns:

None.

Description: This routine completes all previous operations posted to this context.

ROCSHMEM_PE_QUIET#

__device__ void rocshmem_ctx_pe_quiet(shmem_ctx_t ctx, const int *target_pes, size_t npes)#
__device__ void rocshmem_pe_quiet(const int *target_pes, size_t npes)#
Parameters:
  • ctx – Context with which to perform this operation.

  • target_pes – Address of target PE array where the operations need to be completed

  • npes – The number of PEs in the target PE array

Returns:

None.

Description: This routine completes all previous operations posted to this context for the PEs in the target_pes array.