![]() |
UCC 1.0
Unified Collective Communications
|
Data Structures | |
| struct | ucc_team_p2p_conn |
| struct | ucc_ep_map_strided |
| struct | ucc_ep_map_array |
| struct | ucc_ep_map_cb |
| struct | ucc_ep_map_t |
| struct | ucc_team_params |
| Structure representing the parameters to customize the team. More... | |
| struct | ucc_team_attr |
| Structure representing the team attributes. More... | |
| union | ucc_ep_map_t.__unnamed2__ |
Typedefs | |
| typedef struct ucc_team_p2p_conn | ucc_team_p2p_conn_t |
| typedef struct ucc_ep_map_t | ucc_ep_map_t |
| typedef struct ucc_team_params | ucc_team_params_t |
| Structure representing the parameters to customize the team. More... | |
| typedef struct ucc_team_attr | ucc_team_attr_t |
| Structure representing the team attributes. More... | |
| typedef struct ucc_team * | ucc_team_h |
| UCC team handle. More... | |
| typedef void * | ucc_p2p_conn_t |
| typedef void * | ucc_context_addr_h |
| typedef size_t | ucc_context_addr_len_t |
Data-structures associated with team create and management routines
| struct ucc_ep_map_array |
| struct ucc_ep_map_t |
| Data Fields | ||
|---|---|---|
| ucc_ep_map_type_t | type | |
| uint64_t | ep_num |
number of eps mapped to ctx |
| union ucc_ep_map_t.__unnamed2__ | __unnamed__ | |
| struct ucc_team_params |
Description
ucc_team_params_t defines the parameters that can be used to customize the team. The "mask" bit array fields are defined by ucc_team_params_field. The bits in "mask" bit array is defined by ucc_team_params_field, which correspond to fields in structure ucc_team_params_t. The valid fields of the structure is specified by the setting the bit to "1" in the bit-array "mask". When bits corresponding to the fields is not set, the fields are not defined.
| Data Fields | ||
|---|---|---|
| uint64_t | mask | |
| uint64_t | flags | |
| ucc_post_ordering_t | ordering |
ucc_team_params::ordering is set to one the values defined by ucc_post_ordering_t |
| uint64_t | outstanding_colls |
ucc_team_params::outstanding_colls represents the number of outstanding non-blocking calls the user expects to post to the team. If the user posts more non-blocking calls than set, the behavior is undefined. If not set, there is no limit on the number of outstanding calls to be posted. |
| uint64_t | ep |
ucc_team_params::ep The endpoint is a non-negative unique integer identifying the participant in the collective. If ep is not set, and ucc_team_params::oob is not set, the library generates the ep. The generated ep can be queried using the ucc_team_get_attr interface. |
| uint64_t * | ep_list |
ucc_team_params::ep_list The endpoint list provides the list of eps participating to create the team. |
| ucc_ep_range_type_t | ep_range |
ucc_team_params::ep_range can be either contiguous or not contiguous. It is a hint to the library. |
| uint64_t | team_size |
ucc_team_params::team_size The team size is the number of participants in the team. If ucc_team_params::oob is provided, the team size and ucc_oob_coll::n_oob_eps should be the same. |
| ucc_coll_sync_type_t | sync_type |
ucc_team_params::sync_type The options for sync_type are provided by ucc_coll_sync_type_t |
| ucc_team_oob_coll_t | oob |
ucc_team_params::oob The signature of the function is defined by ucc_oob_coll_t . The oob is used for exchanging information between the team participants during team creation. The user is responsible for implementing the oob operation. The relation between ucc_team_params::ep and ucc_oob_coll::oob_ep is defined as below:
|
| ucc_team_p2p_conn_t | p2p_conn |
ucc_team_params::p2p_conn is a callback function for the gathering the point-to-point communication information. |
| ucc_mem_map_params_t | mem_params |
ucc_team_params::mem_params provides an ability to attach a buffer to the team. This can be used as input/output or control buffer for the team. Typically, it can be useful for one-sided collective implementation. |
| ucc_ep_map_t | ep_map |
ucc_team_params::ep_map provides a mapping between ucc_oob_coll::oob_ep used by the team and ucc_oob_coll::oob_ep used by the context. The mapping options are defined by ucc_ep_map_t. The definition is valid only when context is created with an ucc_oob_coll. |
| uint64_t | id |
ucc_team_params::id The team id is a unique integer identifying the team that is active. The integer is unique within the process and not the job .i.e., any two active non-overlapping teams can have the same id. This semantic helps to avoid a global information exchange .i.e, the processes or threads not participating in the particular, need not participate in the team creation. If not provided, the team id is created internally. For the MPI programming model, this can be inherited from the MPI communicator id. |
| struct ucc_team_attr |
Description
ucc_team_attr_t defines the attributes of the team. The bits in "mask" bit array is defined by ucc_team_attr_field, which correspond to fields in structure ucc_team_attr_t. The valid fields of the structure is specified by the setting the bit to "1" in the bit-array "mask". When bits corresponding to the fields is not set, the fields are not defined.
| Data Fields | ||
|---|---|---|
| uint64_t | mask | |
| ucc_post_ordering_t | ordering | |
| uint64_t | outstanding_colls | |
| uint64_t | ep | |
| ucc_ep_range_type_t | ep_range | |
| ucc_coll_sync_type_t | sync_type | |
| ucc_mem_map_params_t | mem_params | |
| union ucc_ep_map_t.__unnamed2__ |
| Data Fields | ||
|---|---|---|
| struct ucc_ep_map_strided | strided | |
| struct ucc_ep_map_array | array | |
| struct ucc_ep_map_cb | cb | |
| typedef struct ucc_team_p2p_conn ucc_team_p2p_conn_t |
| typedef struct ucc_ep_map_t ucc_ep_map_t |
| typedef struct ucc_team_params ucc_team_params_t |
Description
ucc_team_params_t defines the parameters that can be used to customize the team. The "mask" bit array fields are defined by ucc_team_params_field. The bits in "mask" bit array is defined by ucc_team_params_field, which correspond to fields in structure ucc_team_params_t. The valid fields of the structure is specified by the setting the bit to "1" in the bit-array "mask". When bits corresponding to the fields is not set, the fields are not defined.
| typedef struct ucc_team_attr ucc_team_attr_t |
Description
ucc_team_attr_t defines the attributes of the team. The bits in "mask" bit array is defined by ucc_team_attr_field, which correspond to fields in structure ucc_team_attr_t. The valid fields of the structure is specified by the setting the bit to "1" in the bit-array "mask". When bits corresponding to the fields is not set, the fields are not defined.
| typedef struct ucc_team* ucc_team_h |
The UCC team handle is an opaque handle created by the library. It abstracts the group resources required for the collective operations and participants of the collective operation. The participants of the collective operation can be an OS process or thread.
| typedef void* ucc_p2p_conn_t |
| typedef void* ucc_context_addr_h |
| typedef size_t ucc_context_addr_len_t |
| enum ucc_team_attr_field |
| enum ucc_team_flags |
| enum ucc_post_ordering_t |
| enum ucc_ep_range_type_t |
| enum ucc_ep_map_type_t |