upc_flag_t

Date:

05-03-2013

NAME

upc_flag_t - an integral UPC type

IMPLEMENTATION

Cray Linux Environment (CLE)

DESCRIPTION

upc_flag_t is an integral type defined in <upc.h> used to control the data synchronization semantics of certain collective UPC library functions. Values of function arguments having type upc_flag_t are formed by or-ing together a constant of the form UPC_IN_XSYNC and a constant of the form UPC_OUT_YSYNC, where X and Y may be NO, MY, or ALL.

If an argument of type upc_flag_t has value (UPC_IN_XSYNC | UPC_OUT_YSYNC), then if X is:

NO

The function may begin to read or write data when the first thread has entered the collective function call.

MY

The function may begin to read or write only data which has affinity to threads that have entered the collective function call.

ALL

The function may begin to read or write data only after all threads have entered the function call.

And if Y is:

NO

The function may read and write data until the last thread has returned from the collective function call.

MY

The function call may return in a thread only after all reads and writes of data with affinity to the thread are complete.

ALL

The function call may return only after all reads and writes of data are complete.

Passing UPC_IN_XSYNC alone has the same effect as (UPC_IN_XSYNC | UPC_OUT_ALLSYNC), passing UPC_OUT_XSYNC alone has the same effect as (UPC_IN_ALLSYNC | UPC_OUT_XSYNC), and passing 0 has the same effect as (UPC_IN_ALLSYNC | UPC_OUT_ALLSYNC), where X is NO, MY, or ALL.

SEE ALSO

intro_pgas(7), upc_all_broadcast(3c), upc_all_exchange(3c), upc_all_gather(3c), upc_all_gather_all(3c), upc_all_permute(3c), upc_all_reduce(3c), upc_all_scatter(3c)