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_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... | |
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 | buffer_t |
The type of a local buffer descriptor. 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 | cq_pop_x |
The actual implementation for cq_pop. More... | |
struct | data_t |
A generic type for describing or holding data. 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_rank_me_x |
The actual implementation for get_rank_me. More... | |
class | get_rank_n_x |
The actual implementation for get_rank_n. 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... | |
struct | rbuffer_t |
The type of a remote buffer descriptor. 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... | |
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 | buffers_t = std::vector<buffer_t> |
using | rbuffers_t = std::vector<rbuffer_t> |
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. | |
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 | swap (data_t &first, data_t &second) |
void | init_global_attr () |
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_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) |
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) |
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 () |
int | get_rank_me () |
int | get_rank_n () |
runtime_t | alloc_runtime () |
void | free_runtime (runtime_t *runtime_in) |
void | 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 () |
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) |
Variables | |
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. | |
const comp_t | COMP_NULL = comp_t(reinterpret_cast<comp_impl_t*>(0x0)) |
Special completion object setting allow_posted 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 and allow_retry 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.
using lci::buffers_t = std::vector<buffer_t> |
using lci::rbuffers_t = std::vector<rbuffer_t> |
|
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 |
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. |
|
inline |
|
inline |
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 |
global_attr_t lci::g_default_attr |
const graph_node_t lci::GRAPH_END = reinterpret_cast<graph_node_t>(0x2) |