#include <nm_public.h>#include <nm_sendrecv_interface.h>#include <nm_private.h>#include <Padico/Puk.h>#include "nm_coll_interface.h"
Go to the source code of this file.
Data Structures | |
| struct | nm_coll_req_s |
| struct | nm_coll_profile_s |
| profiling block for collective ops More... | |
Macros | |
| #define | NM_COLL_TAG_MASK_P2P 0x7FFFFFFF |
| maximum tag usable by enduser for p2p | |
| #define | NM_COLL_TAG_BASE 0xFF000000 |
| base tag used for collectives | |
| #define | NM_COLL_TAG_COMM_CREATE_1 ( NM_COLL_TAG_BASE | 0x04 ) |
| comm_create phase 1 | |
| #define | NM_COLL_TAG_COMM_CREATE_2 ( NM_COLL_TAG_BASE | 0x05 ) |
| comm_create phase 2 | |
| #define | NM_COLL_PROFILE_ADD(PROF_LOCAL, PROF_GLOBAL, BYTES, NODES) |
Typedefs | |
| typedef enum nm_coll_req_kind_e | nm_coll_req_kind_t |
| typedef void(* | nm_coll_req_destructor_t) (struct nm_coll_req_s *) |
Functions | |
| struct nm_coll_req_s * | nm_coll_req_alloc (nm_len_t payload_size, nm_coll_req_kind_t kind, nm_coll_req_destructor_t p_destructor, nm_coll_req_notifier_t p_notify, void *p_ref) |
| static void * | nm_coll_req_payload (struct nm_coll_req_s *p_coll_req) |
| static struct nm_coll_req_s * | nm_coll_req_container (void *p_payload) |
| void | nm_coll_req_signal (struct nm_coll_req_s *p_coll_req) |
| used internally to signal the completion of a coll req | |
| static void | nm_coll_datav_descendants (const struct nm_coll_tree_info_s *p_tree, struct nm_datav_s *p_datav, struct nm_data_s *p_data, nm_len_t data_size, int *p_descendants, int child, int child_weight) |
| add chunks of data described by descendants to datav, with aggregation of adjacent chunks | |
Macro Definition Documentation
◆ NM_COLL_PROFILE_ADD
| #define NM_COLL_PROFILE_ADD | ( | PROF_LOCAL, | |
| PROF_GLOBAL, | |||
| BYTES, | |||
| NODES | |||
| ) |
Definition at line 189 of file nm_coll_private.h.
◆ NM_COLL_TAG_BASE
| #define NM_COLL_TAG_BASE 0xFF000000 |
base tag used for collectives
Definition at line 31 of file nm_coll_private.h.
◆ NM_COLL_TAG_COMM_CREATE_1
| #define NM_COLL_TAG_COMM_CREATE_1 ( NM_COLL_TAG_BASE | 0x04 ) |
comm_create phase 1
Definition at line 33 of file nm_coll_private.h.
◆ NM_COLL_TAG_COMM_CREATE_2
| #define NM_COLL_TAG_COMM_CREATE_2 ( NM_COLL_TAG_BASE | 0x05 ) |
comm_create phase 2
Definition at line 35 of file nm_coll_private.h.
◆ NM_COLL_TAG_MASK_P2P
| #define NM_COLL_TAG_MASK_P2P 0x7FFFFFFF |
maximum tag usable by enduser for p2p
Definition at line 29 of file nm_coll_private.h.
Typedef Documentation
◆ nm_coll_req_destructor_t
| typedef void(* nm_coll_req_destructor_t) (struct nm_coll_req_s *) |
Definition at line 59 of file nm_coll_private.h.
◆ nm_coll_req_kind_t
| typedef enum nm_coll_req_kind_e nm_coll_req_kind_t |
Definition at line 57 of file nm_coll_private.h.
Enumeration Type Documentation
◆ nm_coll_req_kind_e
| enum nm_coll_req_kind_e |
Definition at line 39 of file nm_coll_private.h.
Function Documentation
◆ nm_coll_datav_descendants()
|
inlinestatic |
add chunks of data described by descendants to datav, with aggregation of adjacent chunks
Definition at line 96 of file nm_coll_private.h.
References assert(), nm_coll_tree_info_s::n, nm_datav_add_chunk_excerpt(), and p_data.

◆ nm_coll_req_alloc()
| struct nm_coll_req_s * nm_coll_req_alloc | ( | nm_len_t | payload_size, |
| nm_coll_req_kind_t | kind, | ||
| nm_coll_req_destructor_t | p_destructor, | ||
| nm_coll_req_notifier_t | p_notify, | ||
| void * | p_ref | ||
| ) |
◆ nm_coll_req_container()
|
inlinestatic |
Definition at line 83 of file nm_coll_private.h.
References nm_coll_req_s::_payload, nm_container_of, and p_coll_req.
◆ nm_coll_req_payload()
|
inlinestatic |
Definition at line 78 of file nm_coll_private.h.
References nm_coll_req_s::_payload, and p_coll_req.
◆ nm_coll_req_signal()
| void nm_coll_req_signal | ( | struct nm_coll_req_s * | p_coll_req | ) |
used internally to signal the completion of a coll req