7#ifndef LCI_BINDING_PRE_HPP_
8#define LCI_BINDING_PRE_HPP_
161class net_context_impl_t;
203 inline net_context_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"net_context p_impl is nullptr!");
return p_impl; }
259 inline device_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"device p_impl is nullptr!");
return p_impl; }
294 inline mr_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"mr p_impl is nullptr!");
return p_impl; }
304class endpoint_impl_t;
332 inline endpoint_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"endpoint p_impl is nullptr!");
return p_impl; }
400 inline runtime_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"runtime p_impl is nullptr!");
return p_impl; }
411class packet_pool_impl_t;
441 inline packet_pool_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"packet_pool p_impl is nullptr!");
return p_impl; }
451class matching_engine_impl_t;
474 matching_engine_impl_t*
p_impl =
nullptr;
479 inline matching_engine_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"matching_engine p_impl is nullptr!");
return p_impl; }
Completion object implementation base type.
Definition lci.hpp:673
The actual implementation for RESOURCE comp.
Definition lci_binding_pre.hpp:128
void set_impl(comp_impl_t *p)
Definition lci_binding_pre.hpp:145
attr_comp_type_t get_attr_comp_type() const
Definition binding.cpp:167
bool get_attr_zero_copy_am() const
Definition binding.cpp:169
int get_attr_sync_threshold() const
Definition binding.cpp:168
bool operator==(const comp_t &other) const
Definition lci_binding_pre.hpp:146
attr_cq_type_t get_attr_cq_type() const
Definition binding.cpp:170
comp_t(void *p)
Definition lci_binding_pre.hpp:142
attr_t get_attr() const
Definition binding.cpp:174
bool is_empty() const
Definition lci.hpp:661
comp_impl_t * p_impl
Definition lci_binding_pre.hpp:139
int get_attr_cq_default_length() const
Definition binding.cpp:171
void * get_attr_user_context() const
Definition binding.cpp:172
comp_attr_t attr_t
Definition lci_binding_pre.hpp:130
comp_impl_t * get_impl() const
Definition lci_binding_pre.hpp:144
The actual implementation for RESOURCE device.
Definition lci_binding_pre.hpp:241
device_attr_t attr_t
Definition lci_binding_pre.hpp:243
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:259
void * get_attr_user_context() const
Definition binding.cpp:336
int get_attr_uid() const
Definition binding.cpp:334
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:335
size_t get_attr_net_max_cqes() const
Definition binding.cpp:331
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:332
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:260
attr_t get_attr() const
Definition binding.cpp:338
device_t(void *p)
Definition lci_binding_pre.hpp:257
size_t get_attr_net_max_sends() const
Definition binding.cpp:329
bool is_empty() const
Definition lci_binding_pre.hpp:258
size_t get_attr_net_max_recvs() const
Definition binding.cpp:330
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:261
device_impl_t * p_impl
Definition lci_binding_pre.hpp:254
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:333
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:320
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:327
bool is_empty() const
Definition lci_binding_pre.hpp:331
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:333
attr_t get_attr() const
Definition binding.cpp:385
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:334
endpoint_t(void *p)
Definition lci_binding_pre.hpp:330
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:332
int get_attr_uid() const
Definition binding.cpp:382
void * get_attr_user_context() const
Definition binding.cpp:383
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:322
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:467
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:479
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:469
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:480
void * get_attr_user_context() const
Definition binding.cpp:768
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:474
attr_t get_attr() const
Definition binding.cpp:770
bool is_empty() const
Definition lci_binding_pre.hpp:478
matching_engine_t()=default
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:767
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:481
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:477
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:283
void * get_attr_user_context() const
Definition binding.cpp:359
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:296
attr_t get_attr() const
Definition binding.cpp:361
mr_attr_t attr_t
Definition lci_binding_pre.hpp:285
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:295
mr_t(void *p)
Definition lci_binding_pre.hpp:292
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:289
bool is_empty() const
Definition lci.hpp:319
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:294
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:184
void * get_attr_user_context() const
Definition binding.cpp:306
attr_backend_t get_attr_backend() const
Definition binding.cpp:298
attr_t get_attr() const
Definition binding.cpp:308
int get_attr_ibv_gid_idx() const
Definition binding.cpp:302
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:305
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:198
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:205
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:303
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:203
size_t get_attr_max_msg_size() const
Definition binding.cpp:300
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:186
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:299
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:204
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:304
size_t get_attr_max_inject_size() const
Definition binding.cpp:301
bool is_empty() const
Definition lci_binding_pre.hpp:202
net_context_t(void *p)
Definition lci_binding_pre.hpp:201
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:428
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:436
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:443
size_t get_attr_npackets() const
Definition binding.cpp:723
void * get_attr_user_context() const
Definition binding.cpp:724
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:439
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:442
size_t get_attr_packet_size() const
Definition binding.cpp:722
attr_t get_attr() const
Definition binding.cpp:726
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:430
bool is_empty() const
Definition lci_binding_pre.hpp:440
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:441
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:378
int get_attr_imm_nbits_tag() const
Definition binding.cpp:669
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:401
bool get_attr_alloc_default_device() const
Definition binding.cpp:675
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:676
void * get_attr_user_context() const
Definition binding.cpp:679
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:395
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:400
bool is_empty() const
Definition lci_binding_pre.hpp:399
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:402
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:671
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:674
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:670
runtime_t(void *p)
Definition lci_binding_pre.hpp:398
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:672
attr_t get_attr() const
Definition binding.cpp:681
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:677
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:668
uint64_t get_attr_max_tag() const
Definition binding.cpp:673
attr_rdv_protocol_t get_attr_rdv_protocol() const
Definition binding.cpp:678
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:380
All LCI API functions and classes are defined in this namespace.
attr_matching_engine_type_t
Definition lci_binding_pre.hpp:63
@ map
Definition lci_binding_pre.hpp:65
@ queue
Definition lci_binding_pre.hpp:64
attr_backend_t
Definition lci.hpp:63
@ none
Definition lci.hpp:64
attr_rdv_protocol_t
Definition lci_binding_pre.hpp:59
@ write
Definition lci_binding_pre.hpp:60
attr_comp_type_t
Definition lci_binding_pre.hpp:28
@ cq
Definition lci_binding_pre.hpp:30
@ sync
Definition lci_binding_pre.hpp:29
@ handler
Definition lci_binding_pre.hpp:31
@ graph
Definition lci_binding_pre.hpp:32
attr_ibv_td_strategy_t
Definition lci_binding_pre.hpp:53
@ all_qp
Definition lci_binding_pre.hpp:55
@ per_qp
Definition lci_binding_pre.hpp:56
attr_ibv_odp_strategy_t
Definition lci_binding_pre.hpp:40
@ explicit_odp
Definition lci_binding_pre.hpp:42
@ implicit_odp
Definition lci_binding_pre.hpp:43
attr_ibv_prefetch_strategy_t
Definition lci_binding_pre.hpp:46
@ prefetch
Definition lci_binding_pre.hpp:48
@ prefetch_write
Definition lci_binding_pre.hpp:49
@ prefetch_no_fault
Definition lci_binding_pre.hpp:50
attr_cq_type_t
Definition lci_binding_pre.hpp:35
@ lcrq
Definition lci_binding_pre.hpp:37
@ array_atomic
Definition lci_binding_pre.hpp:36
Definition lci_binding_pre.hpp:99
attr_comp_type_t comp_type
Definition lci_binding_pre.hpp:100
bool zero_copy_am
Definition lci_binding_pre.hpp:102
int sync_threshold
Definition lci_binding_pre.hpp:101
void * user_context
Definition lci_binding_pre.hpp:105
int cq_default_length
Definition lci_binding_pre.hpp:104
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:103
Definition lci_binding_pre.hpp:208
int uid
Definition lci_binding_pre.hpp:214
size_t net_max_sends
Definition lci_binding_pre.hpp:209
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:215
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:212
void * user_context
Definition lci_binding_pre.hpp:216
size_t net_max_recvs
Definition lci_binding_pre.hpp:210
size_t net_max_cqes
Definition lci_binding_pre.hpp:211
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:213
Definition lci_binding_pre.hpp:299
void * user_context
Definition lci_binding_pre.hpp:301
int uid
Definition lci_binding_pre.hpp:300
Definition lci_binding_pre.hpp:68
int imm_nbits_tag
Definition lci_binding_pre.hpp:88
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:85
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:89
size_t net_max_recvs
Definition lci_binding_pre.hpp:82
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:80
attr_backend_t backend
Definition lci_binding_pre.hpp:73
size_t packet_return_threshold
Definition lci_binding_pre.hpp:87
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:91
size_t max_inject_size
Definition lci_binding_pre.hpp:76
bool zero_copy_am
Definition lci_binding_pre.hpp:70
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:79
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:78
size_t max_msg_size
Definition lci_binding_pre.hpp:75
int ibv_gid_idx
Definition lci_binding_pre.hpp:77
std::string ofi_provider_name
Definition lci_binding_pre.hpp:74
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:92
size_t packet_size
Definition lci_binding_pre.hpp:94
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:86
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:84
size_t net_max_sends
Definition lci_binding_pre.hpp:81
int cq_default_length
Definition lci_binding_pre.hpp:72
bool alloc_default_device
Definition lci_binding_pre.hpp:90
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:96
size_t npackets
Definition lci_binding_pre.hpp:95
int sync_threshold
Definition lci_binding_pre.hpp:69
size_t net_max_cqes
Definition lci_binding_pre.hpp:83
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:93
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:71
Definition lci_binding_pre.hpp:446
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:447
void * user_context
Definition lci_binding_pre.hpp:448
Definition lci_binding_pre.hpp:264
void * user_context
Definition lci_binding_pre.hpp:265
Definition lci_binding_pre.hpp:149
size_t max_msg_size
Definition lci_binding_pre.hpp:152
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:156
attr_backend_t backend
Definition lci_binding_pre.hpp:150
int ibv_gid_idx
Definition lci_binding_pre.hpp:154
std::string ofi_provider_name
Definition lci_binding_pre.hpp:151
void * user_context
Definition lci_binding_pre.hpp:158
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:157
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:155
size_t max_inject_size
Definition lci_binding_pre.hpp:153
Definition lci_binding_pre.hpp:405
void * user_context
Definition lci_binding_pre.hpp:408
size_t npackets
Definition lci_binding_pre.hpp:407
size_t packet_size
Definition lci_binding_pre.hpp:406
Definition lci_binding_pre.hpp:337
uint64_t max_imm_rcomp
Definition lci_binding_pre.hpp:342
uint64_t max_rcomp
Definition lci_binding_pre.hpp:344
size_t packet_return_threshold
Definition lci_binding_pre.hpp:338
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:346
bool alloc_default_device
Definition lci_binding_pre.hpp:345
void * user_context
Definition lci_binding_pre.hpp:349
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:348
int imm_nbits_tag
Definition lci_binding_pre.hpp:339
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:347
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:340
uint64_t max_tag
Definition lci_binding_pre.hpp:343
uint64_t max_imm_tag
Definition lci_binding_pre.hpp:341