cray_upc_team_barrier

Date:

09-23-2013

NAME

cray_upc_team_barrier - Cray UPC team barrier collective

SYNOPSIS

#include <upc_collective_cray.h>

cray_upc_return_t cray_upc_team_barrier( cray_upc_team_t team,
                                                     upc_handle_t *handle );

IMPLEMENTATION

Cray Linux Environment (CLE)

DESCRIPTION

The cray_upc_team_barrier function performs a collective barrier between all ranks in a Cray UPC team. The function blocks until all threads in the team have called it. Passing a non-NULL pointer as the handle argument indicates that the barrier should be non-blocking and will be synced later by the user.

RETURN VALUE

The cray_upc_team_barrier function returns CRAY_UPC_SUCCESS if it successfully performed the barrier, or CRAY_UPC_ERROR if an error occurred.

NOTES

The cray_upc_team_barrier function is NOT equivalent to a upc_barrier statement. In particular, it does not have an implicit fence before or after. It is up to the programmer to ensure that any needed memory ordering is explicitly handled in the program using strict references or upc_fence statements. The implementation of the non-blocking form of this collective is deferred. Passing anything other than NULL as a handle is an error.

SEE ALSO

cray_upc_return_t(3c), cray_upc_team_t(3c), cray_upc_team_reduce(3c)