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)