|
LCI v2.0.0-dev
For Asynchronous Multithreaded Communication
|
All LCI API functions and classes are defined in this namespace. More...
Classes | |
| class | allgather_x |
| The actual implementation for allgather. More... | |
| class | alloc_counter_x |
| The actual implementation for alloc_counter. More... | |
| class | alloc_cq_x |
| The actual implementation for alloc_cq. More... | |
| class | alloc_device_x |
| The actual implementation for alloc_device. More... | |
| class | alloc_endpoint_x |
| The actual implementation for alloc_endpoint. More... | |
| class | alloc_graph_x |
| The actual implementation for alloc_graph. More... | |
| class | alloc_handler_x |
| The actual implementation for alloc_handler. More... | |
| class | alloc_matching_engine_x |
| The actual implementation for alloc_matching_engine. More... | |
| class | alloc_net_context_x |
| The actual implementation for alloc_net_context. More... | |
| class | alloc_packet_pool_x |
| The actual implementation for alloc_packet_pool. More... | |
| class | alloc_runtime_x |
| The actual implementation for alloc_runtime. More... | |
| class | alloc_sync_x |
| The actual implementation for alloc_sync. More... | |
| struct | allocator_base_t |
| The user-defined allocator type. More... | |
| struct | allocator_default_t |
| class | allreduce_x |
| The actual implementation for allreduce. More... | |
| class | alltoall_x |
| The actual implementation for alltoall. More... | |
| class | barrier_x |
| The actual implementation for barrier. More... | |
| class | broadcast_x |
| The actual implementation for broadcast. More... | |
| struct | comp_attr_t |
| class | comp_impl_t |
| Completion object implementation base type. More... | |
| class | comp_signal_x |
| The actual implementation for comp_signal. More... | |
| class | comp_t |
| The actual implementation for RESOURCE comp. More... | |
| class | counter_get_x |
| The actual implementation for counter_get. More... | |
| class | counter_set_x |
| The actual implementation for counter_set. More... | |
| class | cq_pop_x |
| The actual implementation for cq_pop. More... | |
| class | deregister_memory_x |
| The actual implementation for deregister_memory. More... | |
| class | deregister_packet_pool_x |
| The actual implementation for deregister_packet_pool. More... | |
| class | deregister_rcomp_x |
| The actual implementation for deregister_rcomp. More... | |
| struct | device_attr_t |
| class | device_t |
| The actual implementation for RESOURCE device. More... | |
| struct | endpoint_attr_t |
| class | endpoint_t |
| The actual implementation for RESOURCE endpoint. More... | |
| struct | error_t |
| Wrapper class for error code. More... | |
| class | free_comp_x |
| The actual implementation for free_comp. More... | |
| class | free_device_x |
| The actual implementation for free_device. More... | |
| class | free_endpoint_x |
| The actual implementation for free_endpoint. More... | |
| class | free_matching_engine_x |
| The actual implementation for free_matching_engine. More... | |
| class | free_net_context_x |
| The actual implementation for free_net_context. More... | |
| class | free_packet_pool_x |
| The actual implementation for free_packet_pool. More... | |
| class | free_runtime_x |
| The actual implementation for free_runtime. More... | |
| class | g_runtime_fina_x |
| The actual implementation for g_runtime_fina. More... | |
| class | g_runtime_init_x |
| The actual implementation for g_runtime_init. More... | |
| class | get_allocator_x |
| The actual implementation for get_allocator. More... | |
| class | get_default_device_x |
| The actual implementation for get_default_device. More... | |
| class | get_default_endpoint_x |
| The actual implementation for get_default_endpoint. More... | |
| class | get_default_matching_engine_x |
| The actual implementation for get_default_matching_engine. More... | |
| class | get_default_net_context_x |
| The actual implementation for get_default_net_context. More... | |
| class | get_default_packet_pool_x |
| The actual implementation for get_default_packet_pool. More... | |
| class | get_g_runtime_x |
| The actual implementation for get_g_runtime. More... | |
| class | get_max_bcopy_size_x |
| The actual implementation for get_max_bcopy_size. More... | |
| class | get_rmr_x |
| The actual implementation for get_rmr. More... | |
| class | get_upacket_x |
| The actual implementation for get_upacket. More... | |
| struct | global_attr_t |
| class | graph_add_edge_x |
| The actual implementation for graph_add_edge. More... | |
| class | graph_add_node_x |
| The actual implementation for graph_add_node. More... | |
| class | graph_node_mark_complete_x |
| The actual implementation for graph_node_mark_complete. More... | |
| class | graph_start_x |
| The actual implementation for graph_start. More... | |
| class | graph_test_x |
| The actual implementation for graph_test. More... | |
| struct | matching_engine_attr_t |
| class | matching_engine_insert_x |
| The actual implementation for matching_engine_insert. More... | |
| class | matching_engine_t |
| The actual implementation for RESOURCE matching_engine. More... | |
| struct | mr_attr_t |
| class | mr_t |
| The actual implementation for RESOURCE mr. More... | |
| struct | net_context_attr_t |
| class | net_context_t |
| The actual implementation for RESOURCE net_context. More... | |
| class | net_poll_cq_x |
| The actual implementation for net_poll_cq. More... | |
| class | net_post_get_x |
| The actual implementation for net_post_get. More... | |
| class | net_post_put_x |
| The actual implementation for net_post_put. More... | |
| class | net_post_putImm_x |
| The actual implementation for net_post_putImm. More... | |
| class | net_post_putImms_x |
| The actual implementation for net_post_putImms. More... | |
| class | net_post_puts_x |
| The actual implementation for net_post_puts. More... | |
| class | net_post_recv_x |
| The actual implementation for net_post_recv. More... | |
| class | net_post_send_x |
| The actual implementation for net_post_send. More... | |
| class | net_post_sends_x |
| The actual implementation for net_post_sends. More... | |
| struct | net_status_t |
| The struct for network status. More... | |
| struct | option_t |
| struct | packet_pool_attr_t |
| class | packet_pool_t |
| The actual implementation for RESOURCE packet_pool. More... | |
| class | post_am_x |
| The actual implementation for post_am. More... | |
| class | post_comm_x |
| The actual implementation for post_comm. More... | |
| class | post_get_x |
| The actual implementation for post_get. More... | |
| class | post_put_x |
| The actual implementation for post_put. More... | |
| class | post_recv_x |
| The actual implementation for post_recv. More... | |
| class | post_send_x |
| The actual implementation for post_send. More... | |
| class | progress_x |
| The actual implementation for progress. More... | |
| class | put_upacket_x |
| The actual implementation for put_upacket. More... | |
| class | reduce_scatter_x |
| The actual implementation for reduce_scatter. More... | |
| class | reduce_x |
| The actual implementation for reduce. More... | |
| class | register_memory_x |
| The actual implementation for register_memory. More... | |
| class | register_packet_pool_x |
| The actual implementation for register_packet_pool. More... | |
| class | register_rcomp_x |
| The actual implementation for register_rcomp. More... | |
| class | reserve_rcomps_x |
| The actual implementation for reserve_rcomps. More... | |
| struct | rmr_t |
| The type of remote memory region. More... | |
| struct | runtime_attr_t |
| class | runtime_t |
| The actual implementation for RESOURCE runtime. More... | |
| class | set_allocator_x |
| The actual implementation for set_allocator. More... | |
| struct | status_t |
| The type of the completion desciptor for a posted communication. More... | |
| class | sync_test_x |
| The actual implementation for sync_test. More... | |
| class | sync_wait_x |
| The actual implementation for sync_wait. More... | |
| class | test_drained_x |
| The actual implementation for test_drained. More... | |
| class | wait_drained_x |
| The actual implementation for wait_drained. More... | |
Typedefs | |
| using | net_imm_data_t = uint32_t |
| The type of network-layer immediate data field. | |
| using | tag_t = uint64_t |
| The type of tag. | |
| using | rcomp_t = uint32_t |
| The type of remote completion handler. | |
| using | matching_entry_key_t = uint64_t |
| The type of matching engine entry key. | |
| using | matching_entry_val_t = void* |
| The type of matching engine entry value. | |
| using | comp_handler_t = void (*)(status_t status) |
| Function Signature for completion handler. | |
| using | reduce_op_t |
| The user-defined reduction operation. | |
| using | graph_node_t = void* |
| The node type for the completion graph. | |
| using | graph_node_run_cb_t = status_t (*)(void* value) |
| The function signature for a node function in the completion graph. | |
| using | graph_node_free_cb_t = void (*)(void* value) |
| The function signature for a callback that will be triggered when the node was freed. | |
| using | graph_edge_run_cb_t |
| The function signature for a edge funciton in the completion graph. | |
Functions | |
| const char * | get_errorcode_str (errorcode_t errorcode) |
| Get the string representation of an error code. | |
| const char * | get_net_opcode_str (net_opcode_t opcode) |
| Get the string representation of a network operation code. | |
| const char * | get_broadcast_algorithm_str (broadcast_algorithm_t algorithm) |
| Get the string representation of a collective algorithm. | |
| const char * | get_reduce_scatter_algorithm_str (broadcast_algorithm_t algorithm) |
| Get the string representation of a collective algorithm. | |
| const char * | get_allreduce_algorithm_str (broadcast_algorithm_t algorithm) |
| Get the string representation of a collective algorithm. | |
| void | global_initialize () |
| Global initialization for LCI, including rank_me, rank_n, and g_default_attr. | |
| void | global_finalize () |
| Global finalization for LCI. | |
| int | get_rank_me () |
| Get the rank of the current process. | |
| int | get_rank_n () |
| Get the number of ranks in the current application/job. | |
| global_attr_t | get_g_default_attr () |
| Get the default global attributes for LCI. The default global attributes contain the default attributes for all resources. It is initialized by global_initialize based on compilation and environment variables. | |
| void | set_g_default_attr (const global_attr_t &attr) |
| Set the default global attributes for LCI. | |
| template<typename T> | |
| std::enable_if< std::is_same< typenamestd::result_of< T()>::type, status_t >::value, status_t >::type | graph_execute_op_fn (void *value) |
| template<typename T> | |
| std::enable_if< std::is_same< typenamestd::result_of< T()>::type, errorcode_t >::value, status_t >::type | graph_execute_op_fn (void *value) |
| template<typename T> | |
| std::enable_if<!std::is_same< typenamestd::result_of< T()>::type, status_t >::value &&!std::is_same< typenamestd::result_of< T()>::type, errorcode_t >::value, status_t >::type | graph_execute_op_fn (void *value) |
| template<typename T> | |
| void | graph_free_op_fn (void *value) |
| template<typename T> | |
| graph_node_t | graph_add_node_op (comp_t graph, const T &op) |
| Add a functor as a node to the completion graph. | |
| void | init_global_attr () |
| runtime_t | alloc_runtime () |
| void | free_runtime (runtime_t *runtime_in) |
| runtime_t | g_runtime_init () |
| void | g_runtime_fina () |
| runtime_t | get_g_runtime () |
| packet_pool_t | alloc_packet_pool () |
| void | free_packet_pool (packet_pool_t *packet_pool_in) |
| void | register_packet_pool (packet_pool_t packet_pool_in, device_t device_in) |
| void | deregister_packet_pool (packet_pool_t packet_pool_in, device_t device_in) |
| void * | get_upacket () |
| void | put_upacket (void *packet_in) |
| matching_engine_t | alloc_matching_engine () |
| void | free_matching_engine (matching_engine_t *matching_engine_in) |
| matching_entry_val_t | matching_engine_insert (matching_engine_t matching_engine_in, matching_entry_key_t key_in, matching_entry_val_t value_in, matching_entry_type_t entry_type_in) |
| void | set_allocator (allocator_base_t *allocator_in) |
| allocator_base_t * | get_allocator () |
| net_context_t | get_default_net_context () |
| device_t | get_default_device () |
| endpoint_t | get_default_endpoint () |
| packet_pool_t | get_default_packet_pool () |
| matching_engine_t | get_default_matching_engine () |
| size_t | get_max_bcopy_size () |
| net_context_t | alloc_net_context () |
| void | free_net_context (net_context_t *net_context_in) |
| device_t | alloc_device () |
| void | free_device (device_t *device_in) |
| mr_t | register_memory (void *address_in, size_t size_in) |
| void | deregister_memory (mr_t *mr_in) |
| rmr_t | get_rmr (mr_t mr_in) |
| endpoint_t | alloc_endpoint () |
| void | free_endpoint (endpoint_t *endpoint_in) |
| size_t | net_poll_cq (size_t max_polls_in, net_status_t *statuses_in) |
| error_t | net_post_recv (void *buffer_in, size_t size_in, mr_t mr_in) |
| error_t | net_post_sends (int rank_in, void *buffer_in, size_t size_in) |
| error_t | net_post_send (int rank_in, void *buffer_in, size_t size_in, mr_t mr_in) |
| error_t | net_post_puts (int rank_in, void *buffer_in, size_t size_in, uint64_t offset_in, rmr_t rmr_in) |
| error_t | net_post_put (int rank_in, void *buffer_in, size_t size_in, mr_t mr_in, uint64_t offset_in, rmr_t rmr_in) |
| error_t | net_post_putImms (int rank_in, void *buffer_in, size_t size_in, uint64_t offset_in, rmr_t rmr_in) |
| error_t | net_post_putImm (int rank_in, void *buffer_in, size_t size_in, mr_t mr_in, uint64_t offset_in, rmr_t rmr_in) |
| error_t | net_post_get (int rank_in, void *buffer_in, size_t size_in, mr_t mr_in, uint64_t offset_in, rmr_t rmr_in) |
| void | free_comp (comp_t *comp_in) |
| void | comp_signal (comp_t comp_in, status_t status_in) |
| rcomp_t | reserve_rcomps (rcomp_t n_in) |
| rcomp_t | register_rcomp (comp_t comp_in) |
| void | deregister_rcomp (rcomp_t rcomp_in) |
| comp_t | alloc_sync () |
| bool | sync_test (comp_t comp_in, status_t *p_out_in) |
| void | sync_wait (comp_t comp_in, status_t *p_out_in) |
| comp_t | alloc_counter () |
| int64_t | counter_get (comp_t comp_in) |
| void | counter_set (comp_t comp_in, int64_t value_in) |
| comp_t | alloc_cq () |
| status_t | cq_pop (comp_t comp_in) |
| comp_t | alloc_handler (comp_handler_t handler_in) |
| comp_t | alloc_graph () |
| graph_node_t | graph_add_node (comp_t comp_in, graph_node_run_cb_t fn_in) |
| void | graph_add_edge (comp_t comp_in, graph_node_t src_in, graph_node_t dst_in) |
| void | graph_node_mark_complete (graph_node_t node_in) |
| void | graph_start (comp_t comp_in) |
| status_t | graph_test (comp_t comp_in) |
| void | barrier () |
| void | broadcast (void *buffer_in, size_t size_in, int root_in) |
| void | reduce (const void *sendbuf_in, void *recvbuf_in, size_t count_in, size_t item_size_in, reduce_op_t op_in, int root_in) |
| void | reduce_scatter (const void *sendbuf_in, void *recvbuf_in, size_t recvcount_in, size_t item_size_in, reduce_op_t op_in) |
| void | allreduce (const void *sendbuf_in, void *recvbuf_in, size_t count_in, size_t item_size_in, reduce_op_t op_in) |
| void | allgather (const void *sendbuf_in, void *recvbuf_in, size_t size_in) |
| void | alltoall (const void *sendbuf_in, void *recvbuf_in, size_t size_in) |
| status_t | post_comm (direction_t direction_in, int rank_in, void *local_buffer_in, size_t size_in, comp_t local_comp_in) |
| status_t | post_am (int rank_in, void *local_buffer_in, size_t size_in, comp_t local_comp_in, rcomp_t remote_comp_in) |
| status_t | post_send (int rank_in, void *local_buffer_in, size_t size_in, tag_t tag_in, comp_t local_comp_in) |
| status_t | post_recv (int rank_in, void *local_buffer_in, size_t size_in, tag_t tag_in, comp_t local_comp_in) |
| status_t | post_put (int rank_in, void *local_buffer_in, size_t size_in, comp_t local_comp_in, uintptr_t remote_disp_in, rmr_t rmr_in) |
| status_t | post_get (int rank_in, void *local_buffer_in, size_t size_in, comp_t local_comp_in, uintptr_t remote_disp_in, rmr_t rmr_in) |
| error_t | progress () |
| error_t | test_drained () |
| void | wait_drained () |
Variables | |
| const char * | DEFAULT_NAME |
| const mr_t | MR_HOST = mr_t() |
| A special mr_t value for host memory. | |
| const mr_t | MR_DEVICE = mr_t(reinterpret_cast<void*>(0x1)) |
| A special mr_t value for device memory. | |
| const mr_t | MR_UNKNOWN = mr_t(reinterpret_cast<void*>(0x2)) |
| A special mr_t value for unknown memory. LCI will detect the memory type automatically. | |
| const rmr_t | RMR_NULL = rmr_t() |
| The NULL value of rkey_t. | |
| const int | ANY_SOURCE = -1 |
| Special rank value for any-source receive. | |
| const tag_t | ANY_TAG = static_cast<tag_t>(-1) |
| Special tag value for any-tag receive. | |
| allocator_default_t | g_allocator_default |
| const comp_t | COMP_NULL = comp_t(reinterpret_cast<comp_impl_t*>(0x0)) |
Special completion object setting allow_posted and allow_retry to false. | |
| const comp_t | COMP_NULL_EXPECT_DONE |
| Deprecated. Same as COMP_NULL. | |
| const comp_t | COMP_NULL_RETRY = comp_t(reinterpret_cast<comp_impl_t*>(0x1)) |
Special completion object setting allow_posted to false. | |
| const comp_t | COMP_NULL_EXPECT_DONE_OR_RETRY |
| Deprecated. Same as COMP_NULL_RETRY. | |
| const graph_node_t | GRAPH_START = reinterpret_cast<graph_node_t>(0x1) |
| The start node of the completion graph. | |
| const graph_node_t | GRAPH_END = reinterpret_cast<graph_node_t>(0x2) |
| const graph_node_run_cb_t | GRAPH_NODE_DUMMY_CB = nullptr |
| A dummy callback function for a graph node. | |
| global_attr_t | g_default_attr |
All LCI API functions and classes are defined in this namespace.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| const char * lci::get_allreduce_algorithm_str | ( | broadcast_algorithm_t | algorithm | ) |
Get the string representation of a collective algorithm.
| opcode | The collective algorithm. |
| const char * lci::get_broadcast_algorithm_str | ( | broadcast_algorithm_t | algorithm | ) |
Get the string representation of a collective algorithm.
| opcode | The collective algorithm. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| const char * lci::get_errorcode_str | ( | errorcode_t | errorcode | ) |
Get the string representation of an error code.
| errorcode | The error code to be converted to string. |
|
inline |
|
inline |
| const char * lci::get_net_opcode_str | ( | net_opcode_t | opcode | ) |
Get the string representation of a network operation code.
| opcode | The network operation code. |
| const char * lci::get_reduce_scatter_algorithm_str | ( | broadcast_algorithm_t | algorithm | ) |
Get the string representation of a collective algorithm.
| opcode | The collective algorithm. |
|
inline |
|
inline |
|
inline |
| std::enable_if< std::is_same< typenamestd::result_of< T()>::type, status_t >::value, status_t >::type lci::graph_execute_op_fn | ( | void * | value | ) |
| std::enable_if< std::is_same< typenamestd::result_of< T()>::type, errorcode_t >::value, status_t >::type lci::graph_execute_op_fn | ( | void * | value | ) |
| std::enable_if<!std::is_same< typenamestd::result_of< T()>::type, status_t >::value &&!std::is_same< typenamestd::result_of< T()>::type, errorcode_t >::value, status_t >::type lci::graph_execute_op_fn | ( | void * | value | ) |
| void lci::graph_free_op_fn | ( | void * | value | ) |
|
inline |
|
inline |
| void lci::init_global_attr | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
extern |
|
extern |
| global_attr_t lci::g_default_attr |
| const graph_node_t lci::GRAPH_END = reinterpret_cast<graph_node_t>(0x2) |