LCI v2.0.0-dev
For Asynchronous Multithreaded Communication
Loading...
Searching...
No Matches
lci Namespace Reference

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.
 

Enumerations

enum class  attr_backend_t { none , ibv , ofi , ucx }
 
enum  attr_net_lock_mode_t { LCI_NET_TRYLOCK_SEND = 1 , LCI_NET_TRYLOCK_RECV = 1 << 1 , LCI_NET_TRYLOCK_POLL = 1 << 2 , LCI_NET_TRYLOCK_MAX = 1 << 3 }
 
enum class  errorcode_t {
  errorcode_t::done_min , errorcode_t::done , errorcode_t::done_backlog , errorcode_t::done_max ,
  errorcode_t::posted_min , errorcode_t::posted , errorcode_t::posted_backlog , errorcode_t::posted_max ,
  errorcode_t::retry_min , errorcode_t::retry , errorcode_t::retry_init , errorcode_t::retry_lock ,
  errorcode_t::retry_nopacket , errorcode_t::retry_nomem , errorcode_t::retry_backlog , errorcode_t::retry_max ,
  errorcode_t::fatal
}
 The actual error code for LCI API functions. More...
 
enum class  net_opcode_t {
  net_opcode_t::SEND , net_opcode_t::RECV , net_opcode_t::WRITE , net_opcode_t::REMOTE_WRITE ,
  net_opcode_t::READ
}
 The Type of network communication operation codes. More...
 
enum class  broadcast_algorithm_t { broadcast_algorithm_t::none , broadcast_algorithm_t::direct , broadcast_algorithm_t::tree , broadcast_algorithm_t::ring }
 The type of broadcast algorithm. More...
 
enum class  reduce_scatter_algorithm_t { reduce_scatter_algorithm_t::none , reduce_scatter_algorithm_t::direct , reduce_scatter_algorithm_t::tree , reduce_scatter_algorithm_t::ring }
 The type of reduce scatter algorithm. More...
 
enum class  allreduce_algorithm_t { allreduce_algorithm_t::none , allreduce_algorithm_t::direct , allreduce_algorithm_t::tree , allreduce_algorithm_t::ring }
 The type of allreduce algorithm. More...
 
enum class  direction_t { direction_t::OUT , direction_t::IN }
 The enum class of comunication direction. More...
 
enum class  matching_entry_type_t : unsigned { matching_entry_type_t::send = 0 , matching_entry_type_t::recv = 1 }
 The type of matching entry. More...
 
enum class  matching_policy_t : unsigned {
  matching_policy_t::none = 0 , matching_policy_t::rank_only = 1 , matching_policy_t::tag_only = 2 , matching_policy_t::rank_tag = 3 ,
  matching_policy_t::max = 4
}
 Enum class for matching policy. More...
 
enum class  comp_semantic_t { comp_semantic_t::buffer , comp_semantic_t::network }
 The enum class of completion semantic. More...
 
enum class  attr_comp_type_t { sync , cq , handler , graph }
 
enum class  attr_cq_type_t { array_atomic , lcrq }
 
enum class  attr_ibv_odp_strategy_t { none , explicit_odp , implicit_odp }
 
enum class  attr_ibv_prefetch_strategy_t { none , prefetch , prefetch_write , prefetch_no_fault }
 
enum class  attr_ibv_td_strategy_t { none , all_qp , per_qp }
 
enum class  attr_rdv_protocol_t { write }
 
enum class  attr_matching_engine_type_t { queue , map }
 

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_tget_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
 

Detailed Description

All LCI API functions and classes are defined in this namespace.

Typedef Documentation

◆ buffers_t

using lci::buffers_t = std::vector<buffer_t>

◆ rbuffers_t

using lci::rbuffers_t = std::vector<rbuffer_t>

Enumeration Type Documentation

◆ attr_backend_t

enum class lci::attr_backend_t
strong
Enumerator
none 
ibv 
ofi 
ucx 

◆ attr_comp_type_t

enum class lci::attr_comp_type_t
strong
Enumerator
sync 
cq 
handler 
graph 

◆ attr_cq_type_t

enum class lci::attr_cq_type_t
strong
Enumerator
array_atomic 
lcrq 

◆ attr_ibv_odp_strategy_t

enum class lci::attr_ibv_odp_strategy_t
strong
Enumerator
none 
explicit_odp 
implicit_odp 

◆ attr_ibv_prefetch_strategy_t

Enumerator
none 
prefetch 
prefetch_write 
prefetch_no_fault 

◆ attr_ibv_td_strategy_t

enum class lci::attr_ibv_td_strategy_t
strong
Enumerator
none 
all_qp 
per_qp 

◆ attr_matching_engine_type_t

Enumerator
queue 
map 

◆ attr_net_lock_mode_t

Enumerator
LCI_NET_TRYLOCK_SEND 
LCI_NET_TRYLOCK_RECV 
LCI_NET_TRYLOCK_POLL 
LCI_NET_TRYLOCK_MAX 

◆ attr_rdv_protocol_t

enum class lci::attr_rdv_protocol_t
strong
Enumerator
write 

Function Documentation

◆ allgather()

void lci::allgather ( const void * sendbuf_in,
void * recvbuf_in,
size_t size_in )
inline
Here is the call graph for this function:

◆ alloc_cq()

comp_t lci::alloc_cq ( )
inline
Here is the call graph for this function:

◆ alloc_device()

device_t lci::alloc_device ( )
inline
Here is the call graph for this function:

◆ alloc_endpoint()

endpoint_t lci::alloc_endpoint ( )
inline
Here is the call graph for this function:

◆ alloc_graph()

comp_t lci::alloc_graph ( )
inline
Here is the call graph for this function:

◆ alloc_handler()

comp_t lci::alloc_handler ( comp_handler_t handler_in)
inline
Here is the call graph for this function:

◆ alloc_matching_engine()

matching_engine_t lci::alloc_matching_engine ( )
inline
Here is the call graph for this function:

◆ alloc_net_context()

net_context_t lci::alloc_net_context ( )
inline
Here is the call graph for this function:

◆ alloc_packet_pool()

packet_pool_t lci::alloc_packet_pool ( )
inline
Here is the call graph for this function:

◆ alloc_runtime()

runtime_t lci::alloc_runtime ( )
inline
Here is the call graph for this function:

◆ alloc_sync()

comp_t lci::alloc_sync ( )
inline
Here is the call graph for this function:

◆ allreduce()

void lci::allreduce ( const void * sendbuf_in,
void * recvbuf_in,
size_t count_in,
size_t item_size_in,
reduce_op_t op_in )
inline
Here is the call graph for this function:

◆ alltoall()

void lci::alltoall ( const void * sendbuf_in,
void * recvbuf_in,
size_t size_in )
inline
Here is the call graph for this function:

◆ barrier()

void lci::barrier ( )
inline
Here is the call graph for this function:

◆ broadcast()

void lci::broadcast ( void * buffer_in,
size_t size_in,
int root_in )
inline
Here is the call graph for this function:

◆ comp_signal()

void lci::comp_signal ( comp_t comp_in,
status_t status_in )
inline
Here is the call graph for this function:

◆ cq_pop()

status_t lci::cq_pop ( comp_t comp_in)
inline
Here is the call graph for this function:

◆ deregister_memory()

void lci::deregister_memory ( mr_t * mr_in)
inline
Here is the call graph for this function:

◆ deregister_packet_pool()

void lci::deregister_packet_pool ( packet_pool_t packet_pool_in,
device_t device_in )
inline
Here is the call graph for this function:

◆ deregister_rcomp()

void lci::deregister_rcomp ( rcomp_t rcomp_in)
inline
Here is the call graph for this function:

◆ free_comp()

void lci::free_comp ( comp_t * comp_in)
inline
Here is the call graph for this function:

◆ free_device()

void lci::free_device ( device_t * device_in)
inline
Here is the call graph for this function:

◆ free_endpoint()

void lci::free_endpoint ( endpoint_t * endpoint_in)
inline
Here is the call graph for this function:

◆ free_matching_engine()

void lci::free_matching_engine ( matching_engine_t * matching_engine_in)
inline
Here is the call graph for this function:

◆ free_net_context()

void lci::free_net_context ( net_context_t * net_context_in)
inline
Here is the call graph for this function:

◆ free_packet_pool()

void lci::free_packet_pool ( packet_pool_t * packet_pool_in)
inline
Here is the call graph for this function:

◆ free_runtime()

void lci::free_runtime ( runtime_t * runtime_in)
inline
Here is the call graph for this function:

◆ g_runtime_fina()

void lci::g_runtime_fina ( )
inline
Here is the call graph for this function:

◆ g_runtime_init()

void lci::g_runtime_init ( )
inline
Here is the call graph for this function:

◆ get_allocator()

allocator_base_t * lci::get_allocator ( )
inline
Here is the call graph for this function:

◆ get_allreduce_algorithm_str()

const char * lci::get_allreduce_algorithm_str ( broadcast_algorithm_t algorithm)

Get the string representation of a collective algorithm.

Parameters
opcodeThe collective algorithm.
Returns
The string representation of the collective algorithm.

◆ get_broadcast_algorithm_str()

const char * lci::get_broadcast_algorithm_str ( broadcast_algorithm_t algorithm)

Get the string representation of a collective algorithm.

Parameters
opcodeThe collective algorithm.
Returns
The string representation of the collective algorithm.

◆ get_default_device()

device_t lci::get_default_device ( )
inline
Here is the call graph for this function:

◆ get_default_endpoint()

endpoint_t lci::get_default_endpoint ( )
inline
Here is the call graph for this function:

◆ get_default_matching_engine()

matching_engine_t lci::get_default_matching_engine ( )
inline
Here is the call graph for this function:

◆ get_default_net_context()

net_context_t lci::get_default_net_context ( )
inline
Here is the call graph for this function:

◆ get_default_packet_pool()

packet_pool_t lci::get_default_packet_pool ( )
inline
Here is the call graph for this function:

◆ get_errorcode_str()

const char * lci::get_errorcode_str ( errorcode_t errorcode)

Get the string representation of an error code.

Parameters
errorcodeThe error code to be converted to string.
Returns
The string representation of the error code.
Here is the caller graph for this function:

◆ get_g_runtime()

runtime_t lci::get_g_runtime ( )
inline
Here is the call graph for this function:

◆ get_max_bcopy_size()

size_t lci::get_max_bcopy_size ( )
inline
Here is the call graph for this function:

◆ get_net_opcode_str()

const char * lci::get_net_opcode_str ( net_opcode_t opcode)

Get the string representation of a network operation code.

Parameters
opcodeThe network operation code.
Returns
The string representation of the network operation code.

◆ get_rank_me()

int lci::get_rank_me ( )
inline
Here is the call graph for this function:

◆ get_rank_n()

int lci::get_rank_n ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_reduce_scatter_algorithm_str()

const char * lci::get_reduce_scatter_algorithm_str ( broadcast_algorithm_t algorithm)

Get the string representation of a collective algorithm.

Parameters
opcodeThe collective algorithm.
Returns
The string representation of the collective algorithm.

◆ get_rmr()

rmr_t lci::get_rmr ( mr_t mr_in)
inline
Here is the call graph for this function:

◆ get_upacket()

void * lci::get_upacket ( )
inline
Here is the call graph for this function:

◆ graph_add_edge()

void lci::graph_add_edge ( comp_t comp_in,
graph_node_t src_in,
graph_node_t dst_in )
inline
Here is the call graph for this function:

◆ graph_add_node()

graph_node_t lci::graph_add_node ( comp_t comp_in,
graph_node_run_cb_t fn_in )
inline
Here is the call graph for this function:

◆ graph_execute_op_fn() [1/3]

template<typename T>
std::enable_if< std::is_same< typenamestd::result_of< T()>::type, status_t >::value, status_t >::type lci::graph_execute_op_fn ( void * value)
Here is the caller graph for this function:

◆ graph_execute_op_fn() [2/3]

template<typename T>
std::enable_if< std::is_same< typenamestd::result_of< T()>::type, errorcode_t >::value, status_t >::type lci::graph_execute_op_fn ( void * value)

◆ graph_execute_op_fn() [3/3]

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 lci::graph_execute_op_fn ( void * value)

◆ graph_free_op_fn()

template<typename T>
void lci::graph_free_op_fn ( void * value)
Here is the caller graph for this function:

◆ graph_node_mark_complete()

void lci::graph_node_mark_complete ( graph_node_t node_in)
inline
Here is the call graph for this function:

◆ graph_start()

void lci::graph_start ( comp_t comp_in)
inline
Here is the call graph for this function:

◆ graph_test()

status_t lci::graph_test ( comp_t comp_in)
inline
Here is the call graph for this function:

◆ init_global_attr()

void lci::init_global_attr ( )

◆ matching_engine_insert()

matching_entry_val_t lci::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 )
inline
Here is the call graph for this function:

◆ net_poll_cq()

size_t lci::net_poll_cq ( size_t max_polls_in,
net_status_t * statuses_in )
inline
Here is the call graph for this function:

◆ net_post_get()

error_t lci::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 )
inline
Here is the call graph for this function:

◆ net_post_put()

error_t lci::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 )
inline
Here is the call graph for this function:

◆ net_post_putImm()

error_t lci::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 )
inline
Here is the call graph for this function:

◆ net_post_putImms()

error_t lci::net_post_putImms ( int rank_in,
void * buffer_in,
size_t size_in,
uint64_t offset_in,
rmr_t rmr_in )
inline
Here is the call graph for this function:

◆ net_post_puts()

error_t lci::net_post_puts ( int rank_in,
void * buffer_in,
size_t size_in,
uint64_t offset_in,
rmr_t rmr_in )
inline
Here is the call graph for this function:

◆ net_post_recv()

error_t lci::net_post_recv ( void * buffer_in,
size_t size_in,
mr_t mr_in )
inline
Here is the call graph for this function:

◆ net_post_send()

error_t lci::net_post_send ( int rank_in,
void * buffer_in,
size_t size_in,
mr_t mr_in )
inline
Here is the call graph for this function:

◆ net_post_sends()

error_t lci::net_post_sends ( int rank_in,
void * buffer_in,
size_t size_in )
inline
Here is the call graph for this function:

◆ post_am()

status_t lci::post_am ( int rank_in,
void * local_buffer_in,
size_t size_in,
comp_t local_comp_in,
rcomp_t remote_comp_in )
inline
Here is the call graph for this function:

◆ post_comm()

status_t lci::post_comm ( direction_t direction_in,
int rank_in,
void * local_buffer_in,
size_t size_in,
comp_t local_comp_in )
inline
Here is the call graph for this function:

◆ post_get()

status_t lci::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 )
inline
Here is the call graph for this function:

◆ post_put()

status_t lci::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 )
inline
Here is the call graph for this function:

◆ post_recv()

status_t lci::post_recv ( int rank_in,
void * local_buffer_in,
size_t size_in,
tag_t tag_in,
comp_t local_comp_in )
inline
Here is the call graph for this function:

◆ post_send()

status_t lci::post_send ( int rank_in,
void * local_buffer_in,
size_t size_in,
tag_t tag_in,
comp_t local_comp_in )
inline
Here is the call graph for this function:

◆ progress()

error_t lci::progress ( )
inline
Here is the call graph for this function:

◆ put_upacket()

void lci::put_upacket ( void * packet_in)
inline
Here is the call graph for this function:

◆ reduce()

void lci::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 )
inline
Here is the call graph for this function:

◆ reduce_scatter()

void lci::reduce_scatter ( const void * sendbuf_in,
void * recvbuf_in,
size_t recvcount_in,
size_t item_size_in,
reduce_op_t op_in )
inline
Here is the call graph for this function:

◆ register_memory()

mr_t lci::register_memory ( void * address_in,
size_t size_in )
inline
Here is the call graph for this function:

◆ register_packet_pool()

void lci::register_packet_pool ( packet_pool_t packet_pool_in,
device_t device_in )
inline
Here is the call graph for this function:

◆ register_rcomp()

rcomp_t lci::register_rcomp ( comp_t comp_in)
inline
Here is the call graph for this function:

◆ reserve_rcomps()

rcomp_t lci::reserve_rcomps ( rcomp_t n_in)
inline
Here is the call graph for this function:

◆ set_allocator()

void lci::set_allocator ( allocator_base_t * allocator_in)
inline
Here is the call graph for this function:

◆ swap()

void lci::swap ( data_t & first,
data_t & second )
inline

◆ sync_test()

bool lci::sync_test ( comp_t comp_in,
status_t * p_out_in )
inline
Here is the call graph for this function:

◆ sync_wait()

void lci::sync_wait ( comp_t comp_in,
status_t * p_out_in )
inline
Here is the call graph for this function:

Variable Documentation

◆ g_default_attr

global_attr_t lci::g_default_attr

◆ GRAPH_END

const graph_node_t lci::GRAPH_END = reinterpret_cast<graph_node_t>(0x2)