DASH
0.3.0
|
Go to the source code of this file.
Group management operations | |
Non-collectove operations to create, destroy, and manipulate teams. Note that | |
typedef struct dart_group_struct * | dart_group_t |
DART groups are represented by an opaque struct dart_group_struct . More... | |
dart_ret_t | dart_group_create (dart_group_t *group) |
Allocate and initialize a DART group object. More... | |
dart_ret_t | dart_group_destroy (dart_group_t *group) |
Reclaim resources that might be associated with the group. More... | |
dart_ret_t | dart_group_clone (const dart_group_t gin, dart_group_t *gout) |
Create a copy of the group gin , allocating resources for gout . More... | |
dart_ret_t | dart_group_union (const dart_group_t g1, const dart_group_t g2, dart_group_t *gout) |
Create a union of two groups. More... | |
dart_ret_t | dart_group_intersect (const dart_group_t g1, const dart_group_t g2, dart_group_t *gout) |
Create an intersection of the two groups. More... | |
dart_ret_t | dart_group_addmember (dart_group_t g, dart_global_unit_t unitid) |
Add a member to the group. More... | |
dart_ret_t | dart_group_delmember (dart_group_t g, dart_global_unit_t unitid) |
Remove a member from the group. More... | |
dart_ret_t | dart_group_ismember (const dart_group_t g, dart_global_unit_t unitid, int32_t *ismember) |
Test if a unit is a member of the group. More... | |
dart_ret_t | dart_group_size (const dart_group_t g, size_t *size) |
Determine the size of the group. More... | |
dart_ret_t | dart_group_getmembers (const dart_group_t g, dart_global_unit_t *unitids) |
Get all the members of the group, unitids must be large enough to hold the number of members returned by dart_group_size. More... | |
dart_ret_t | dart_group_split (const dart_group_t g, size_t n, size_t *nout, dart_group_t *gout) |
Split the group into n groups of approx. More... | |
dart_ret_t | dart_group_locality_split (const dart_group_t g, dart_domain_locality_t *domain, dart_locality_scope_t scope, size_t n, size_t *nout, dart_group_t *gout) |
Split the group g into n groups by the specified locality scope. More... | |
Team management operations | |
Operations to create, destroy, and query team information. Teams are created based on DART groups. Note that team creation and destruction are collective operations. Functions returning DART groups allocate these opaque objects, which then have to be destroyed by the user using dart_group_destroy. | |
#define | DART_TEAM_ALL ((dart_team_t)0) |
The default team consisting of all units that run the application. More... | |
dart_ret_t | dart_team_get_group (dart_team_t teamid, dart_group_t *group) |
Query the group associated with the specified team. More... | |
dart_ret_t | dart_team_create (dart_team_t teamid, const dart_group_t group, dart_team_t *newteam) |
Create a new team from the specified group. More... | |
dart_ret_t | dart_team_destroy (dart_team_t *teamid) |
Free up resources associated with the specified team. More... | |
dart_ret_t | dart_team_clone (dart_team_t team, dart_team_t *newteam) |
Clone a DART team object by duplicating the underlying team information. More... | |
dart_ret_t | dart_team_myid (dart_team_t teamid, dart_team_unit_t *myid) |
Return the unit id of the caller in the specified team. More... | |
dart_ret_t | dart_team_size (dart_team_t teamid, size_t *size) |
Return the size of the specified team. More... | |
dart_ret_t | dart_myid (dart_global_unit_t *myid) |
Return the id in the default team DART_TEAM_ALL. More... | |
dart_ret_t | dart_size (size_t *size) |
Return the size of the default team DART_TEAM_ALL. More... | |
dart_ret_t | dart_team_unit_l2g (dart_team_t team, dart_team_unit_t localid, dart_global_unit_t *globalid) |
Convert from a local to a global unit ID. More... | |
dart_ret_t | dart_team_unit_g2l (dart_team_t team, dart_global_unit_t globalid, dart_team_unit_t *localid) |
Convert from a global to a local unit ID. More... | |