DASH
0.3.0
|
Functions of the dash::coarray
extension to provide an interface similar to CAF 2008.
More...
![]() |
Functions | |
dash::global_unit_t | dash::coarray::this_image () |
Shortcut to query the global unit ID of the calling unit. More... | |
ssize_t | dash::coarray::num_images () |
Return the number of units in the global team. More... | |
void | dash::coarray::sync_all () |
blocks until all units reach this statement. More... | |
template<typename Container > | |
void | dash::coarray::sync_images (const Container &image_ids) |
Blocks until all selected units reach this statement. More... | |
template<typename T > | |
void | dash::coarray::cobroadcast (Coarray< T > &coarr, const team_unit_t &master) |
Broadcasts the value on master to all other members of this co_array. More... | |
template<typename T , typename BinaryOp > | |
void | dash::coarray::coreduce (Coarray< T > &coarr, const BinaryOp &op, team_unit_t master=team_unit_t{-1}) |
Performes a broadside reduction of the Coarray images. More... | |
Functions of the dash::coarray
extension to provide an interface similar to CAF 2008.
void dash::coarray::cobroadcast | ( | Coarray< T > & | coarr, |
const team_unit_t & | master | ||
) |
#include </tmp/tmporruphar/dash/include/dash/coarray/Utils.h>
Broadcasts the value on master to all other members of this co_array.
coarr | coarray which should be broadcasted |
master | the value of this unit will be broadcastet |
Definition at line 142 of file Utils.h.
References dart_bcast(), and DART_OK.
Referenced by dash::broadcast().
void dash::coarray::coreduce | ( | Coarray< T > & | coarr, |
const BinaryOp & | op, | ||
team_unit_t | master = team_unit_t{-1} |
||
) |
#include </tmp/tmporruphar/dash/include/dash/coarray/Utils.h>
Performes a broadside reduction of the Coarray images.
coarr | perform the reduction on this array |
op | one of the DASH Reduce Operations |
master | unit which recieves the result. -1 to broadcast to all units |
Definition at line 163 of file Utils.h.
|
inline |
#include </tmp/tmporruphar/dash/include/dash/coarray/Utils.h>
Return the number of units in the global team.
Definition at line 43 of file Utils.h.
References dash::size().
|
inline |
#include </tmp/tmporruphar/dash/include/dash/coarray/Utils.h>
blocks until all units reach this statement.
This statement does not imply a flush. If a flush is required, use the corresponding dash::Coarray::sync_all()
method of Coarray.
Definition at line 56 of file Utils.h.
References dash::barrier().
|
inline |
#include </tmp/tmporruphar/dash/include/dash/coarray/Utils.h>
Blocks until all selected units reach this statement.
This statement does not imply a flush. If a flush is required, use the sync_all()
method of the Coarray
sync_all()
or Coevent
for performance reasons. sync_images()
is implemented using two-sided operations based on a implementation of MPI_Barrier()
. For dispatching the messages we use tag DART_TAG_SYNC_IMAGESDefinition at line 75 of file Utils.h.
References dart_recv(), dart_send(), DART_TYPE_BYTE, dash::find(), dash::for_each(), dash::myid(), and dash::coarray::this_image().
Referenced by dash::Coarray< T, IndexType, Arrangement, LocalMemSpaceT >::sync_images().
|
inline |
#include </tmp/tmporruphar/dash/include/dash/coarray/Utils.h>
Shortcut to query the global unit ID of the calling unit.
Definition at line 29 of file Utils.h.
References dash::myid().
Referenced by dash::coarray::sync_images().