#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 *) |
Enumerations | |
| enum | nm_coll_req_kind_e { NM_COLL_REQ_NONE = 0 , NM_COLL_REQ_BARRIER , NM_COLL_REQ_BCAST_TREE , NM_COLL_REQ_BCAST_PIPELINE , NM_COLL_REQ_BCAST_2TREES , NM_COLL_REQ_SCATTER , NM_COLL_REQ_GATHER , NM_COLL_REQ_OTHER , _NM_COLL_REQ_KIND_MAX } |
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 | |
| #define NM_COLL_PROFILE_ADD | ( | PROF_LOCAL, | |
| PROF_GLOBAL, | |||
| BYTES, | |||
| NODES | |||
| ) |
Definition at line 135 of file nm_coll_private.h.
| #define NM_COLL_TAG_BASE 0xFF000000 |
base tag used for collectives
Definition at line 31 of file nm_coll_private.h.
| #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.
| #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.
| #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 void(* nm_coll_req_destructor_t) (struct nm_coll_req_s *) |
Definition at line 52 of file nm_coll_private.h.
| typedef enum nm_coll_req_kind_e nm_coll_req_kind_t |
Definition at line 50 of file nm_coll_private.h.
| enum nm_coll_req_kind_e |
Definition at line 37 of file nm_coll_private.h.
| 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 | ||
| ) |
|
inlinestatic |
Definition at line 76 of file nm_coll_private.h.
References nm_coll_req_s::_payload, nm_container_of, and p_coll_req.
|
inlinestatic |
Definition at line 71 of file nm_coll_private.h.
References nm_coll_req_s::_payload, and p_coll_req.
| void nm_coll_req_signal | ( | struct nm_coll_req_s * | p_coll_req | ) |
used internally to signal the completion of a coll req