![]() |
UCC 1.0
Unified Collective Communications
|
Functions | |
| ucc_status_t | ucc_team_create_post (ucc_context_h *contexts, uint32_t num_contexts, const ucc_team_params_t *team_params, ucc_team_h *new_team) |
| The routine is a method to create the team. More... | |
| ucc_status_t | ucc_team_create_test (ucc_team_h team) |
| The routine queries the status of the team creation operation. More... | |
| ucc_status_t | ucc_team_destroy (ucc_team_h team) |
| The team frees the team handle. More... | |
| ucc_status_t | ucc_team_get_attr (ucc_team_h team, ucc_team_attr_t *team_attr) |
| The routine returns the attributes of the team. More... | |
| ucc_status_t | ucc_team_create_from_parent (uint64_t my_ep, uint32_t included, ucc_team_h parent_team, ucc_team_h *new_team) |
| The routine creates a new team from the parent team. More... | |
| ucc_status_t | ucc_team_get_size (ucc_team_h team, uint32_t *size) |
| The routine returns the size of the team. More... | |
| ucc_status_t | ucc_team_get_my_ep (ucc_team_h team, uint64_t *ep) |
| The routine returns the endpoint of the calling participant. More... | |
| ucc_status_t | ucc_team_get_all_eps (ucc_team_h team, uint64_t **ep, uint64_t *num_eps) |
| The routine queries all endpoints associated with the team handle. More... | |
Team create and management routines
| ucc_status_t ucc_team_create_post | ( | ucc_context_h * | contexts, |
| uint32_t | num_contexts, | ||
| const ucc_team_params_t * | team_params, | ||
| ucc_team_h * | new_team | ||
| ) |
| [in] | contexts | Communication contexts abstracting the resources |
| [in] | num_contexts | Number of contexts passed for the create operation |
| [in] | team_params | User defined configurations for the team |
| [out] | new_team | Team handle |
Description
ucc_team_create_post is a nonblocking collective operation to create the team handle. It takes in parameters ucc_context_h and ucc_team_params_t. The ucc_team_params_t provides user configuration to customize the team and, ucc_context_h provides the resources for the team and collectives. The routine returns immediately after posting the operation with the new team handle. However, the team handle is not ready for posting the collective operation. ucc_team_create_test operation is used to learn the status of the new team handle. On error, the team handle will not be created and corresponding error code as defined by ucc_status_t is returned.
| ucc_status_t ucc_team_create_test | ( | ucc_team_h | team | ) |
| [in] | team | Team handle to test |
Description
ucc_team_create_test routines tests the status of team handle. If required it can progress the communication but cannot block on the communications.
| ucc_status_t ucc_team_destroy | ( | ucc_team_h | team | ) |
| [in] | team | Destroy previously created team and release all resources associated with it. |
Description
ucc_team_destroy is a nonblocking collective operation to release all resources associated with the team handle, and destroy the team handle. It is invalid to post a collective operation after the ucc_team_destroy operation. It is invalid to call ucc_team_destroy operation while ucc_team_create_post is in progress. It is the user's responsibility to ensure there is one outstanding ucc_team_create_post or ucc_team_destroy operation is in progress.
| ucc_status_t ucc_team_get_attr | ( | ucc_team_h | team, |
| ucc_team_attr_t * | team_attr | ||
| ) |
| [in] | team | Team handle |
| [out] | team_attr | Attributes of the team |
Description
ucc_team_get_attr routine queries the team handle attributes. The attributes of the team handle are described by the team attributes ucc_team_attr_t
| ucc_status_t ucc_team_create_from_parent | ( | uint64_t | my_ep, |
| uint32_t | included, | ||
| ucc_team_h | parent_team, | ||
| ucc_team_h * | new_team | ||
| ) |
| [in] | my_ep | Endpoint of the process/thread calling the split operation |
| [in] | parent_team | Parent team handle from which a new team handle is created |
| [in] | included | Variable indicating whether a process/thread participates in the newly created team; value 1 indicates the participation and value 0 indicates otherwise |
| [out] | new_team | Pointer to the new team handle |
Description
ucc_team_create_from_parent is a nonblocking collective operation, which creates a new team from the parent team. If a participant intends to participate in the new team, it passes a TRUE value for the "included" parameter. Otherwise, it passes FALSE. The routine returns immediately after the post-operation. To learn the completion of the team create operation, the ucc_team_create_test operation is used.
| ucc_status_t ucc_team_get_size | ( | ucc_team_h | team, |
| uint32_t * | size | ||
| ) |
| [in] | team | Team handle |
| [out] | size | The size of team as number of endpoints |
Description
ucc_team_get_size routine queries the size of the team. It reflects the number of unique endpoints in the team.
| ucc_status_t ucc_team_get_my_ep | ( | ucc_team_h | team, |
| uint64_t * | ep | ||
| ) |
| [out] | ep | Endpoint of the participant calling the routine |
| [in] | team | Team handle |
Description
ucc_team_get_my_ep routine queries and returns the endpoint of the participant invoking the interface.
| ucc_status_t ucc_team_get_all_eps | ( | ucc_team_h | team, |
| uint64_t ** | ep, | ||
| uint64_t * | num_eps | ||
| ) |
| [out] | ep | List of endpoints |
| [out] | num_eps | Number of endpoints |
| [in] | team | Team handle |
Description
ucc_team_get_all_eps routine queries and returns all endpoints of all participants in the team.