7#ifndef LCI_BINDING_PRE_HPP_
8#define LCI_BINDING_PRE_HPP_
192class net_context_impl_t;
242 inline net_context_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"net_context p_impl is nullptr!");
return p_impl; }
295 inline device_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"device p_impl is nullptr!");
return p_impl; }
328 inline mr_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"mr p_impl is nullptr!");
return p_impl; }
333class endpoint_impl_t;
363 inline endpoint_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"endpoint p_impl is nullptr!");
return p_impl; }
418 inline runtime_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"runtime p_impl is nullptr!");
return p_impl; }
423class packet_pool_impl_t;
455 inline packet_pool_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"packet_pool p_impl is nullptr!");
return p_impl; }
460class matching_engine_impl_t;
485 matching_engine_impl_t*
p_impl =
nullptr;
490 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:519
The actual implementation for RESOURCE comp.
Definition lci_binding_pre.hpp:516
void set_impl(comp_impl_t *p)
Definition lci_binding_pre.hpp:534
attr_comp_type_t get_attr_comp_type() const
Definition binding.cpp:832
bool get_attr_zero_copy_am() const
Definition binding.cpp:834
int get_attr_sync_threshold() const
Definition binding.cpp:833
bool operator==(const comp_t &other) const
Definition lci_binding_pre.hpp:535
attr_cq_type_t get_attr_cq_type() const
Definition binding.cpp:835
const char * get_attr_name() const
Definition binding.cpp:837
comp_t(void *p)
Definition lci_binding_pre.hpp:531
attr_t get_attr() const
Definition binding.cpp:840
bool is_empty() const
Definition lci.hpp:507
comp_impl_t * p_impl
Definition lci_binding_pre.hpp:528
int get_attr_cq_default_length() const
Definition binding.cpp:836
void * get_attr_user_context() const
Definition binding.cpp:838
comp_attr_t attr_t
Definition lci_binding_pre.hpp:518
comp_impl_t * get_impl() const
Definition lci_binding_pre.hpp:533
The actual implementation for RESOURCE device.
Definition lci_binding_pre.hpp:273
device_attr_t attr_t
Definition lci_binding_pre.hpp:275
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:295
bool get_attr_use_reg_cache() const
Definition binding.cpp:224
void * get_attr_user_context() const
Definition binding.cpp:228
int get_attr_uid() const
Definition binding.cpp:225
double get_attr_net_send_reserved_pct() const
Definition binding.cpp:220
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:226
size_t get_attr_net_max_cqes() const
Definition binding.cpp:219
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:221
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:296
attr_t get_attr() const
Definition binding.cpp:230
device_t(void *p)
Definition lci_binding_pre.hpp:293
bool get_attr_alloc_progress_endpoint() const
Definition binding.cpp:223
size_t get_attr_net_max_sends() const
Definition binding.cpp:217
const char * get_attr_name() const
Definition binding.cpp:227
bool is_empty() const
Definition lci_binding_pre.hpp:294
size_t get_attr_net_max_recvs() const
Definition binding.cpp:218
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:297
device_impl_t * p_impl
Definition lci_binding_pre.hpp:290
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:222
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:350
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:358
const char * get_attr_name() const
Definition binding.cpp:280
bool is_empty() const
Definition lci_binding_pre.hpp:362
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:364
attr_t get_attr() const
Definition binding.cpp:283
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:365
endpoint_t(void *p)
Definition lci_binding_pre.hpp:361
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:363
int get_attr_uid() const
Definition binding.cpp:279
void * get_attr_user_context() const
Definition binding.cpp:281
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:352
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:477
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:490
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:479
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:491
const char * get_attr_name() const
Definition binding.cpp:762
void * get_attr_user_context() const
Definition binding.cpp:763
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:485
attr_t get_attr() const
Definition binding.cpp:765
bool is_empty() const
Definition lci_binding_pre.hpp:489
matching_engine_t()=default
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:761
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:492
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:488
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:316
void * get_attr_user_context() const
Definition binding.cpp:256
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:330
attr_t get_attr() const
Definition binding.cpp:258
mr_attr_t attr_t
Definition lci_binding_pre.hpp:318
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:329
mr_t(void *p)
Definition lci_binding_pre.hpp:326
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:323
bool is_empty() const
Definition lci.hpp:325
const char * get_attr_name() const
Definition binding.cpp:255
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:328
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:219
void * get_attr_user_context() const
Definition binding.cpp:191
attr_backend_t get_attr_backend() const
Definition binding.cpp:179
attr_t get_attr() const
Definition binding.cpp:193
int get_attr_ibv_gid_idx() const
Definition binding.cpp:183
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:187
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:237
const char * get_attr_name() const
Definition binding.cpp:190
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:244
std::string get_attr_device_name() const
Definition binding.cpp:185
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:184
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:242
bool get_attr_support_putimm() const
Definition binding.cpp:188
size_t get_attr_max_msg_size() const
Definition binding.cpp:181
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:221
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:180
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:243
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:186
size_t get_attr_max_inject_size() const
Definition binding.cpp:182
bool is_empty() const
Definition lci_binding_pre.hpp:241
bool get_attr_use_dmabuf() const
Definition binding.cpp:189
net_context_t(void *p)
Definition lci_binding_pre.hpp:240
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:441
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:450
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:457
size_t get_attr_npackets() const
Definition binding.cpp:715
void * get_attr_user_context() const
Definition binding.cpp:717
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:453
const char * get_attr_name() const
Definition binding.cpp:716
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:456
size_t get_attr_packet_size() const
Definition binding.cpp:714
attr_t get_attr() const
Definition binding.cpp:719
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:443
bool is_empty() const
Definition lci_binding_pre.hpp:454
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:455
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:395
int get_attr_imm_nbits_tag() const
Definition binding.cpp:655
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:419
bool get_attr_alloc_default_device() const
Definition binding.cpp:662
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:663
void * get_attr_user_context() const
Definition binding.cpp:666
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:413
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:418
bool is_empty() const
Definition lci_binding_pre.hpp:417
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:420
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:658
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:661
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:656
runtime_t(void *p)
Definition lci_binding_pre.hpp:416
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:659
const char * get_attr_name() const
Definition binding.cpp:665
attr_t get_attr() const
Definition binding.cpp:668
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:664
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:654
uint64_t get_attr_max_tag() const
Definition binding.cpp:660
attr_rdv_protocol_t get_attr_rdv_protocol() const
Definition binding.cpp:657
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:397
All LCI API functions and classes are defined in this namespace.
attr_matching_engine_type_t
Definition lci_binding_pre.hpp:53
@ map
Definition lci_binding_pre.hpp:55
@ queue
Definition lci_binding_pre.hpp:54
attr_backend_t
Definition lci.hpp:66
@ none
Definition lci.hpp:67
attr_rdv_protocol_t
Definition lci_binding_pre.hpp:47
@ auto_select
Definition lci_binding_pre.hpp:48
@ writeimm
Definition lci_binding_pre.hpp:50
@ write
Definition lci_binding_pre.hpp:49
attr_comp_type_t
Definition lci_binding_pre.hpp:58
@ cq
Definition lci_binding_pre.hpp:61
@ sync
Definition lci_binding_pre.hpp:59
@ counter
Definition lci_binding_pre.hpp:60
@ custom
Definition lci_binding_pre.hpp:64
@ handler
Definition lci_binding_pre.hpp:62
@ graph
Definition lci_binding_pre.hpp:63
global_attr_t g_default_attr
Definition binding.cpp:12
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:67
@ lcrq
Definition lci_binding_pre.hpp:69
@ array_atomic
Definition lci_binding_pre.hpp:68
Definition lci_binding_pre.hpp:144
const char * name
Definition lci_binding_pre.hpp:150
attr_comp_type_t comp_type
Definition lci_binding_pre.hpp:145
bool zero_copy_am
Definition lci_binding_pre.hpp:147
int sync_threshold
Definition lci_binding_pre.hpp:146
void * user_context
Definition lci_binding_pre.hpp:151
int cq_default_length
Definition lci_binding_pre.hpp:149
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:148
Definition lci_binding_pre.hpp:89
int uid
Definition lci_binding_pre.hpp:98
size_t net_max_sends
Definition lci_binding_pre.hpp:90
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:99
const char * name
Definition lci_binding_pre.hpp:100
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:94
double net_send_reserved_pct
Definition lci_binding_pre.hpp:93
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:96
void * user_context
Definition lci_binding_pre.hpp:101
size_t net_max_recvs
Definition lci_binding_pre.hpp:91
bool use_reg_cache
Definition lci_binding_pre.hpp:97
size_t net_max_cqes
Definition lci_binding_pre.hpp:92
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:95
Definition lci_binding_pre.hpp:109
void * user_context
Definition lci_binding_pre.hpp:112
const char * name
Definition lci_binding_pre.hpp:111
int uid
Definition lci_binding_pre.hpp:110
Definition lci_binding_pre.hpp:154
int imm_nbits_tag
Definition lci_binding_pre.hpp:175
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:170
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:176
size_t net_max_recvs
Definition lci_binding_pre.hpp:166
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:163
attr_backend_t backend
Definition lci_binding_pre.hpp:155
size_t packet_return_threshold
Definition lci_binding_pre.hpp:174
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:179
size_t max_inject_size
Definition lci_binding_pre.hpp:158
bool zero_copy_am
Definition lci_binding_pre.hpp:185
bool use_dmabuf
Definition lci_binding_pre.hpp:164
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:162
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:160
size_t max_msg_size
Definition lci_binding_pre.hpp:157
int ibv_gid_idx
Definition lci_binding_pre.hpp:159
std::string ofi_provider_name
Definition lci_binding_pre.hpp:156
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:180
size_t packet_size
Definition lci_binding_pre.hpp:181
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:173
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:169
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:171
size_t net_max_sends
Definition lci_binding_pre.hpp:165
int cq_default_length
Definition lci_binding_pre.hpp:187
bool alloc_default_device
Definition lci_binding_pre.hpp:178
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:183
bool use_reg_cache
Definition lci_binding_pre.hpp:172
size_t npackets
Definition lci_binding_pre.hpp:182
int sync_threshold
Definition lci_binding_pre.hpp:184
size_t net_max_cqes
Definition lci_binding_pre.hpp:167
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:177
double net_send_reserved_pct
Definition lci_binding_pre.hpp:168
std::string device_name
Definition lci_binding_pre.hpp:161
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:186
Definition lci_binding_pre.hpp:138
const char * name
Definition lci_binding_pre.hpp:140
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:139
void * user_context
Definition lci_binding_pre.hpp:141
Definition lci_binding_pre.hpp:104
void * user_context
Definition lci_binding_pre.hpp:106
const char * name
Definition lci_binding_pre.hpp:105
Definition lci_binding_pre.hpp:73
bool support_putimm
Definition lci_binding_pre.hpp:83
const char * name
Definition lci_binding_pre.hpp:85
size_t max_msg_size
Definition lci_binding_pre.hpp:76
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:81
attr_backend_t backend
Definition lci_binding_pre.hpp:74
int ibv_gid_idx
Definition lci_binding_pre.hpp:78
std::string device_name
Definition lci_binding_pre.hpp:80
std::string ofi_provider_name
Definition lci_binding_pre.hpp:75
void * user_context
Definition lci_binding_pre.hpp:86
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:82
bool use_dmabuf
Definition lci_binding_pre.hpp:84
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:79
size_t max_inject_size
Definition lci_binding_pre.hpp:77
Definition lci_binding_pre.hpp:131
void * user_context
Definition lci_binding_pre.hpp:135
size_t npackets
Definition lci_binding_pre.hpp:133
const char * name
Definition lci_binding_pre.hpp:134
size_t packet_size
Definition lci_binding_pre.hpp:132
Definition lci_binding_pre.hpp:115
uint64_t max_imm_rcomp
Definition lci_binding_pre.hpp:121
uint64_t max_rcomp
Definition lci_binding_pre.hpp:123
const char * name
Definition lci_binding_pre.hpp:127
size_t packet_return_threshold
Definition lci_binding_pre.hpp:116
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:125
bool alloc_default_device
Definition lci_binding_pre.hpp:124
void * user_context
Definition lci_binding_pre.hpp:128
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:119
int imm_nbits_tag
Definition lci_binding_pre.hpp:117
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:126
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:118
uint64_t max_tag
Definition lci_binding_pre.hpp:122
uint64_t max_imm_tag
Definition lci_binding_pre.hpp:120