7#ifndef LCI_BINDING_PRE_HPP_
8#define LCI_BINDING_PRE_HPP_
109class net_context_impl_t;
153 inline net_context_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"net_context p_impl is nullptr!");
return p_impl; }
209 inline device_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"device p_impl is nullptr!");
return p_impl; }
244 inline mr_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"mr p_impl is nullptr!");
return p_impl; }
254class endpoint_impl_t;
282 inline endpoint_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"endpoint p_impl is nullptr!");
return p_impl; }
347 inline runtime_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"runtime p_impl is nullptr!");
return p_impl; }
358class packet_pool_impl_t;
388 inline packet_pool_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"packet_pool p_impl is nullptr!");
return p_impl; }
398class matching_engine_impl_t;
421 matching_engine_impl_t*
p_impl =
nullptr;
426 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:509
The actual implementation for RESOURCE comp.
Definition lci_binding_pre.hpp:460
void set_impl(comp_impl_t *p)
Definition lci_binding_pre.hpp:477
attr_comp_type_t get_attr_comp_type() const
Definition binding.cpp:535
bool get_attr_zero_copy_am() const
Definition binding.cpp:537
int get_attr_sync_threshold() const
Definition binding.cpp:536
bool operator==(const comp_t &other) const
Definition lci_binding_pre.hpp:478
attr_cq_type_t get_attr_cq_type() const
Definition binding.cpp:538
comp_t(void *p)
Definition lci_binding_pre.hpp:474
attr_t get_attr() const
Definition binding.cpp:542
bool is_empty() const
Definition lci.hpp:497
comp_impl_t * p_impl
Definition lci_binding_pre.hpp:471
int get_attr_cq_default_length() const
Definition binding.cpp:539
void * get_attr_user_context() const
Definition binding.cpp:540
comp_attr_t attr_t
Definition lci_binding_pre.hpp:462
comp_impl_t * get_impl() const
Definition lci_binding_pre.hpp:476
The actual implementation for RESOURCE device.
Definition lci_binding_pre.hpp:191
device_attr_t attr_t
Definition lci_binding_pre.hpp:193
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:209
void * get_attr_user_context() const
Definition binding.cpp:189
int get_attr_uid() const
Definition binding.cpp:187
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:188
size_t get_attr_net_max_cqes() const
Definition binding.cpp:184
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:185
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:210
attr_t get_attr() const
Definition binding.cpp:191
device_t(void *p)
Definition lci_binding_pre.hpp:207
size_t get_attr_net_max_sends() const
Definition binding.cpp:182
bool is_empty() const
Definition lci_binding_pre.hpp:208
size_t get_attr_net_max_recvs() const
Definition binding.cpp:183
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:211
device_impl_t * p_impl
Definition lci_binding_pre.hpp:204
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:186
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:270
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:277
bool is_empty() const
Definition lci_binding_pre.hpp:281
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:283
attr_t get_attr() const
Definition binding.cpp:238
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:284
endpoint_t(void *p)
Definition lci_binding_pre.hpp:280
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:282
int get_attr_uid() const
Definition binding.cpp:235
void * get_attr_user_context() const
Definition binding.cpp:236
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:272
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:414
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:426
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:416
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:427
void * get_attr_user_context() const
Definition binding.cpp:467
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:421
attr_t get_attr() const
Definition binding.cpp:469
bool is_empty() const
Definition lci_binding_pre.hpp:425
matching_engine_t()=default
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:466
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:428
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:424
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:233
void * get_attr_user_context() const
Definition binding.cpp:212
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:246
attr_t get_attr() const
Definition binding.cpp:214
mr_attr_t attr_t
Definition lci_binding_pre.hpp:235
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:245
mr_t(void *p)
Definition lci_binding_pre.hpp:242
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:239
bool is_empty() const
Definition lci.hpp:319
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:244
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:133
void * get_attr_user_context() const
Definition binding.cpp:159
attr_backend_t get_attr_backend() const
Definition binding.cpp:150
attr_t get_attr() const
Definition binding.cpp:161
int get_attr_ibv_gid_idx() const
Definition binding.cpp:154
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:157
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:148
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:155
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:155
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:153
bool get_attr_support_putimm() const
Definition binding.cpp:158
size_t get_attr_max_msg_size() const
Definition binding.cpp:152
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:135
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:151
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:154
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:156
size_t get_attr_max_inject_size() const
Definition binding.cpp:153
bool is_empty() const
Definition lci_binding_pre.hpp:152
net_context_t(void *p)
Definition lci_binding_pre.hpp:151
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:375
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:383
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:390
size_t get_attr_npackets() const
Definition binding.cpp:422
void * get_attr_user_context() const
Definition binding.cpp:423
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:386
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:389
size_t get_attr_packet_size() const
Definition binding.cpp:421
attr_t get_attr() const
Definition binding.cpp:425
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:377
bool is_empty() const
Definition lci_binding_pre.hpp:387
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:388
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:326
int get_attr_imm_nbits_tag() const
Definition binding.cpp:371
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:348
bool get_attr_alloc_default_device() const
Definition binding.cpp:377
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:378
void * get_attr_user_context() const
Definition binding.cpp:380
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:342
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:347
bool is_empty() const
Definition lci_binding_pre.hpp:346
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:349
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:373
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:376
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:372
runtime_t(void *p)
Definition lci_binding_pre.hpp:345
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:374
attr_t get_attr() const
Definition binding.cpp:382
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:379
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:370
uint64_t get_attr_max_tag() const
Definition binding.cpp:375
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:328
All LCI API functions and classes are defined in this namespace.
attr_matching_engine_type_t
Definition lci_binding_pre.hpp:47
@ map
Definition lci_binding_pre.hpp:49
@ queue
Definition lci_binding_pre.hpp:48
attr_backend_t
Definition lci.hpp:63
@ none
Definition lci.hpp:64
attr_comp_type_t
Definition lci_binding_pre.hpp:52
@ cq
Definition lci_binding_pre.hpp:55
@ sync
Definition lci_binding_pre.hpp:53
@ counter
Definition lci_binding_pre.hpp:54
@ custom
Definition lci_binding_pre.hpp:58
@ handler
Definition lci_binding_pre.hpp:56
@ graph
Definition lci_binding_pre.hpp:57
attr_ibv_td_strategy_t
Definition lci_binding_pre.hpp:41
@ all_qp
Definition lci_binding_pre.hpp:43
@ per_qp
Definition lci_binding_pre.hpp:44
attr_ibv_odp_strategy_t
Definition lci_binding_pre.hpp:28
@ explicit_odp
Definition lci_binding_pre.hpp:30
@ implicit_odp
Definition lci_binding_pre.hpp:31
attr_ibv_prefetch_strategy_t
Definition lci_binding_pre.hpp:34
@ prefetch
Definition lci_binding_pre.hpp:36
@ prefetch_write
Definition lci_binding_pre.hpp:37
@ prefetch_no_fault
Definition lci_binding_pre.hpp:38
attr_cq_type_t
Definition lci_binding_pre.hpp:61
@ lcrq
Definition lci_binding_pre.hpp:63
@ array_atomic
Definition lci_binding_pre.hpp:62
Definition lci_binding_pre.hpp:431
attr_comp_type_t comp_type
Definition lci_binding_pre.hpp:432
bool zero_copy_am
Definition lci_binding_pre.hpp:434
int sync_threshold
Definition lci_binding_pre.hpp:433
void * user_context
Definition lci_binding_pre.hpp:437
int cq_default_length
Definition lci_binding_pre.hpp:436
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:435
Definition lci_binding_pre.hpp:158
int uid
Definition lci_binding_pre.hpp:164
size_t net_max_sends
Definition lci_binding_pre.hpp:159
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:165
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:162
void * user_context
Definition lci_binding_pre.hpp:166
size_t net_max_recvs
Definition lci_binding_pre.hpp:160
size_t net_max_cqes
Definition lci_binding_pre.hpp:161
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:163
Definition lci_binding_pre.hpp:249
void * user_context
Definition lci_binding_pre.hpp:251
int uid
Definition lci_binding_pre.hpp:250
Definition lci_binding_pre.hpp:66
int imm_nbits_tag
Definition lci_binding_pre.hpp:82
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:79
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:83
size_t net_max_recvs
Definition lci_binding_pre.hpp:76
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:74
attr_backend_t backend
Definition lci_binding_pre.hpp:67
size_t packet_return_threshold
Definition lci_binding_pre.hpp:81
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:85
size_t max_inject_size
Definition lci_binding_pre.hpp:70
bool zero_copy_am
Definition lci_binding_pre.hpp:91
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:73
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:72
size_t max_msg_size
Definition lci_binding_pre.hpp:69
int ibv_gid_idx
Definition lci_binding_pre.hpp:71
std::string ofi_provider_name
Definition lci_binding_pre.hpp:68
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:86
size_t packet_size
Definition lci_binding_pre.hpp:87
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:80
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:78
size_t net_max_sends
Definition lci_binding_pre.hpp:75
int cq_default_length
Definition lci_binding_pre.hpp:93
bool alloc_default_device
Definition lci_binding_pre.hpp:84
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:89
size_t npackets
Definition lci_binding_pre.hpp:88
int sync_threshold
Definition lci_binding_pre.hpp:90
size_t net_max_cqes
Definition lci_binding_pre.hpp:77
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:92
Definition lci_binding_pre.hpp:393
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:394
void * user_context
Definition lci_binding_pre.hpp:395
Definition lci_binding_pre.hpp:214
void * user_context
Definition lci_binding_pre.hpp:215
Definition lci_binding_pre.hpp:96
bool support_putimm
Definition lci_binding_pre.hpp:105
size_t max_msg_size
Definition lci_binding_pre.hpp:99
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:103
attr_backend_t backend
Definition lci_binding_pre.hpp:97
int ibv_gid_idx
Definition lci_binding_pre.hpp:101
std::string ofi_provider_name
Definition lci_binding_pre.hpp:98
void * user_context
Definition lci_binding_pre.hpp:106
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:104
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:102
size_t max_inject_size
Definition lci_binding_pre.hpp:100
Definition lci_binding_pre.hpp:352
void * user_context
Definition lci_binding_pre.hpp:355
size_t npackets
Definition lci_binding_pre.hpp:354
size_t packet_size
Definition lci_binding_pre.hpp:353
Definition lci_binding_pre.hpp:287
uint64_t max_imm_rcomp
Definition lci_binding_pre.hpp:292
uint64_t max_rcomp
Definition lci_binding_pre.hpp:294
size_t packet_return_threshold
Definition lci_binding_pre.hpp:288
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:296
bool alloc_default_device
Definition lci_binding_pre.hpp:295
void * user_context
Definition lci_binding_pre.hpp:298
int imm_nbits_tag
Definition lci_binding_pre.hpp:289
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:297
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:290
uint64_t max_tag
Definition lci_binding_pre.hpp:293
uint64_t max_imm_tag
Definition lci_binding_pre.hpp:291