#include <nm_public.h>#include <nm_launcher_interface.h>#include <nm_sendrecv_interface.h>#include <nm_coll_interface.h>
Go to the source code of this file.
Macros | |
| #define | check_rc(RC) |
Enumerations | |
| enum | nm_example_topo_e { NM_EXAMPLES_TOPO_RING , NM_EXAMPLES_TOPO_PAIRS , NM_EXAMPLES_TOPO_STAR } |
Functions | |
| static void | nm_examples_init_topo (int *argc, char *argv[], enum nm_example_topo_e topo) |
| static void | nm_examples_barrier (nm_tag_t tag) |
| static void | nm_examples_init (int *argc, char *argv[]) |
| static void | nm_examples_exit (void) |
| static nm_len_t | _next (nm_len_t len, double multiplier, nm_len_t increment) |
| static char | buffer_content (nm_len_t offset, int seed) |
| static void | fill_buffer_seed (char *buffer, nm_len_t len, int seed) __attribute__((unused)) |
| static void | fill_buffer (char *buffer, nm_len_t len) __attribute__((unused)) |
| static void | clear_buffer (char *buffer, nm_len_t len) __attribute__((unused)) |
| static void | control_buffer_seed (const char *buffer, nm_len_t len, int seed) __attribute__((unused)) |
| static void | control_buffer (const char *buffer, nm_len_t len) __attribute__((unused)) |
| static void | compute (unsigned usec) |
| static void | fisher_yates_shuffle (int *p_array, size_t n) |
| shuffle an array of ints | |
| static struct nm_group_s * | nm_examples_group_inorder (int n) |
| generate a group with ranks in order | |
| static struct nm_group_s * | nm_examples_group_reverse (int n) |
| generate a group with ranks in reverse order | |
| static struct nm_group_s * | nm_examples_group_shuffled (int n) |
Variables | |
| static int | is_server = -1 |
| static nm_session_t | p_session = NULL |
| static nm_gate_t | p_gate = NULL |
| static nm_comm_t | p_comm = NULL |
| static const nm_tag_t | data_tag = 0x01 |
| static const nm_tag_t | sync_tag = 0x02 |
Macro Definition Documentation
◆ check_rc
| #define check_rc | ( | RC | ) |
Definition at line 171 of file nm_examples_helper.h.
Enumeration Type Documentation
◆ nm_example_topo_e
| enum nm_example_topo_e |
| Enumerator | |
|---|---|
| NM_EXAMPLES_TOPO_RING | |
| NM_EXAMPLES_TOPO_PAIRS | |
| NM_EXAMPLES_TOPO_STAR | |
Definition at line 32 of file nm_examples_helper.h.
Function Documentation
◆ _next()
Definition at line 98 of file nm_examples_helper.h.
References len.
◆ buffer_content()
|
inlinestatic |
Definition at line 108 of file nm_examples_helper.h.
Referenced by control_buffer_seed(), and fill_buffer_seed().
◆ clear_buffer()
|
inlinestatic |
Definition at line 130 of file nm_examples_helper.h.
References len.
◆ compute()
|
inlinestatic |
Definition at line 157 of file nm_examples_helper.h.
◆ control_buffer()
|
inlinestatic |
Definition at line 152 of file nm_examples_helper.h.
References control_buffer_seed(), and len.

◆ control_buffer_seed()
|
inlinestatic |
Definition at line 136 of file nm_examples_helper.h.
References buffer_content(), and len.
Referenced by control_buffer().

◆ fill_buffer()
|
inlinestatic |
Definition at line 124 of file nm_examples_helper.h.
References fill_buffer_seed(), and len.

◆ fill_buffer_seed()
|
inlinestatic |
Definition at line 114 of file nm_examples_helper.h.
References buffer_content(), and len.
Referenced by fill_buffer().

◆ fisher_yates_shuffle()
|
inlinestatic |
shuffle an array of ints
Definition at line 180 of file nm_examples_helper.h.
Referenced by nm_examples_group_shuffled().
◆ nm_examples_barrier()
|
inlinestatic |
Definition at line 74 of file nm_examples_helper.h.
References nm_coll_barrier(), p_comm, and tag.
Referenced by nm_examples_exit().

◆ nm_examples_exit()
|
inlinestatic |
- Examples
- nm_mcast_basic.c, nm_onesided_queues.c, nm_onesided_simple.c, nm_pack_headers.c, nm_sr_hello.c, and nm_sr_peek.c.
Definition at line 84 of file nm_examples_helper.h.
References nm_comm_destroy(), nm_examples_barrier(), nm_launcher_exit(), nm_session_close(), p_comm, and p_session.

◆ nm_examples_group_inorder()
|
inlinestatic |
generate a group with ranks in order
Definition at line 194 of file nm_examples_helper.h.
References nm_comm_get_gate(), nm_group_add_node(), nm_group_new(), and p_comm.

◆ nm_examples_group_reverse()
|
inlinestatic |
generate a group with ranks in reverse order
Definition at line 206 of file nm_examples_helper.h.
References nm_comm_get_gate(), nm_group_add_node(), nm_group_new(), and p_comm.

◆ nm_examples_group_shuffled()
|
inlinestatic |
Definition at line 217 of file nm_examples_helper.h.
References fisher_yates_shuffle(), nm_comm_get_gate(), nm_group_add_node(), nm_group_new(), and p_comm.

◆ nm_examples_init()
|
inlinestatic |
- Examples
- nm_onesided_queues.c, nm_onesided_simple.c, nm_pack_headers.c, and nm_sr_peek.c.
Definition at line 79 of file nm_examples_helper.h.
References nm_examples_init_topo(), and NM_EXAMPLES_TOPO_RING.

◆ nm_examples_init_topo()
|
static |
- Examples
- nm_mcast_basic.c, and nm_sr_hello.c.
Definition at line 39 of file nm_examples_helper.h.
References is_server, nm_comm_world(), NM_EXAMPLES_TOPO_PAIRS, NM_EXAMPLES_TOPO_RING, NM_EXAMPLES_TOPO_STAR, nm_launcher_get_gate(), nm_launcher_get_rank(), nm_launcher_get_size(), nm_launcher_init(), nm_session_open(), p_comm, p_gate, p_session, and size.
Referenced by nm_examples_init().

Variable Documentation
◆ data_tag
|
static |
- Examples
- nm_bench_req_monitor.c.
Definition at line 29 of file nm_examples_helper.h.
◆ is_server
|
static |
- Examples
- nm_mcast_basic.c, nm_onesided_queues.c, nm_onesided_simple.c, nm_pack_headers.c, nm_sr_hello.c, and nm_sr_peek.c.
Definition at line 24 of file nm_examples_helper.h.
Referenced by nm_examples_init_topo().
◆ p_comm
|
static |
- Examples
- nm_mcast_basic.c, nm_onesided_simple.c, and nm_rpc_hello.c.
Definition at line 27 of file nm_examples_helper.h.
Referenced by nm_comm_gate_self(), nm_comm_get_dest(), nm_comm_get_gate(), nm_comm_get_session(), nm_comm_get_topology(), nm_comm_group(), nm_comm_rank(), nm_comm_size(), nm_examples_barrier(), nm_examples_exit(), nm_examples_group_inorder(), nm_examples_group_reverse(), nm_examples_group_shuffled(), nm_examples_init_topo(), and nm_sync_clocks_init().
◆ p_gate
|
static |
- Examples
- nm_onesided_queues.c, nm_onesided_simple.c, nm_pack_headers.c, nm_rpc_hello.c, nm_sr_hello.c, and nm_sr_peek.c.
Definition at line 26 of file nm_examples_helper.h.
Referenced by nm_coll_tree_issend(), nm_coll_tree_recv(), nm_coll_tree_send(), nm_comm_get_dest(), nm_core_post_ack(), nm_core_post_ctrl(), nm_core_post_msg(), nm_core_post_req_chunk(), nm_core_post_rtr(), nm_examples_init_topo(), nm_gate_is_in_active_list(), nm_gate_isactive(), nm_gate_set_active(), nm_gate_trk_get(), nm_launcher_self_gate(), nm_matching_gsession_bytag(), nm_mpi_communicator_get_dest(), nm_pw_assign(), nm_rpc_get_source(), nm_rpc_send(), nm_sr_irecv(), nm_sr_irecv_data(), nm_sr_irecv_iov(), nm_sr_irecv_iov_with_ref(), nm_sr_irecv_with_ref(), nm_sr_isend(), nm_sr_isend_data(), nm_sr_isend_iov(), nm_sr_isend_iov_with_ref(), nm_sr_isend_with_ref(), nm_sr_issend(), nm_sr_recv(), nm_sr_recv_data(), nm_sr_recv_irecv(), nm_sr_recv_match(), nm_sr_rsend(), nm_sr_send(), nm_sr_send_data(), nm_sr_send_dest(), nm_sr_send_isend(), nm_sr_send_issend(), nm_sr_send_rsend(), nm_sync_clocks_recv(), nm_sync_clocks_send(), nm_tactic_pack_ctrl(), and nm_trk_get_by_index().
◆ p_session
|
static |
- Examples
- nm_launcher_mini.c, nm_onesided_queues.c, nm_onesided_simple.c, nm_pack_headers.c, nm_rpc_hello.c, nm_sr_custom_data.c, nm_sr_hello.c, and nm_sr_peek.c.
Definition at line 25 of file nm_examples_helper.h.
Referenced by nm_coll_tree_status_init(), nm_examples_exit(), nm_examples_init_topo(), nm_sr_irecv(), nm_sr_irecv_data(), nm_sr_irecv_iov(), nm_sr_irecv_iov_with_ref(), nm_sr_irecv_with_ref(), nm_sr_isend(), nm_sr_isend_data(), nm_sr_isend_iov(), nm_sr_isend_iov_with_ref(), nm_sr_isend_with_ref(), nm_sr_issend(), nm_sr_recv(), nm_sr_recv_data(), nm_sr_recv_data_test(), nm_sr_recv_init(), nm_sr_recv_irecv(), nm_sr_recv_match(), nm_sr_recv_unpack_contiguous(), nm_sr_recv_unpack_iov(), nm_sr_rsend(), nm_sr_send(), nm_sr_send_data(), nm_sr_send_dest(), nm_sr_send_init(), nm_sr_send_isend(), nm_sr_send_issend(), nm_sr_send_pack_contiguous(), nm_sr_send_pack_iov(), nm_sr_send_rsend(), nm_sync_clocks_recv(), and nm_sync_clocks_send().
◆ sync_tag
|
static |
Definition at line 30 of file nm_examples_helper.h.