7#ifndef LCI_BINDING_PRE_HPP_
8#define LCI_BINDING_PRE_HPP_
242 inline runtime_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"runtime p_impl is nullptr!");
return p_impl; }
247class packet_pool_impl_t;
279 inline packet_pool_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"packet_pool p_impl is nullptr!");
return p_impl; }
284class matching_engine_impl_t;
309 matching_engine_impl_t*
p_impl =
nullptr;
314 inline matching_engine_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"matching_engine p_impl is nullptr!");
return p_impl; }
319class net_context_impl_t;
369 inline net_context_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"net_context p_impl is nullptr!");
return p_impl; }
422 inline device_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"device p_impl is nullptr!");
return p_impl; }
455 inline mr_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"mr p_impl is nullptr!");
return p_impl; }
460class endpoint_impl_t;
490 inline endpoint_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"endpoint p_impl is nullptr!");
return p_impl; }
Completion object implementation base type.
Definition lci.hpp:512
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:500
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:400
device_attr_t attr_t
Definition lci_binding_pre.hpp:402
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:422
bool get_attr_use_reg_cache() const
Definition binding.cpp:402
void * get_attr_user_context() const
Definition binding.cpp:406
int get_attr_uid() const
Definition binding.cpp:403
double get_attr_net_send_reserved_pct() const
Definition binding.cpp:398
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:404
size_t get_attr_net_max_cqes() const
Definition binding.cpp:397
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:399
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:423
attr_t get_attr() const
Definition binding.cpp:408
device_t(void *p)
Definition lci_binding_pre.hpp:420
bool get_attr_alloc_progress_endpoint() const
Definition binding.cpp:401
size_t get_attr_net_max_sends() const
Definition binding.cpp:395
const char * get_attr_name() const
Definition binding.cpp:405
bool is_empty() const
Definition lci_binding_pre.hpp:421
size_t get_attr_net_max_recvs() const
Definition binding.cpp:396
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:424
device_impl_t * p_impl
Definition lci_binding_pre.hpp:417
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:400
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:477
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:485
const char * get_attr_name() const
Definition binding.cpp:458
bool is_empty() const
Definition lci_binding_pre.hpp:489
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:491
attr_t get_attr() const
Definition binding.cpp:461
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:492
endpoint_t(void *p)
Definition lci_binding_pre.hpp:488
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:490
int get_attr_uid() const
Definition binding.cpp:457
void * get_attr_user_context() const
Definition binding.cpp:459
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:479
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:301
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:314
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:303
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:315
const char * get_attr_name() const
Definition binding.cpp:287
void * get_attr_user_context() const
Definition binding.cpp:288
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:309
attr_t get_attr() const
Definition binding.cpp:290
bool is_empty() const
Definition lci_binding_pre.hpp:313
matching_engine_t()=default
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:286
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:316
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:312
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:443
void * get_attr_user_context() const
Definition binding.cpp:434
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:457
attr_t get_attr() const
Definition binding.cpp:436
mr_attr_t attr_t
Definition lci_binding_pre.hpp:445
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:456
mr_t(void *p)
Definition lci_binding_pre.hpp:453
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:450
bool is_empty() const
Definition lci.hpp:322
const char * get_attr_name() const
Definition binding.cpp:433
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:455
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:346
void * get_attr_user_context() const
Definition binding.cpp:369
attr_backend_t get_attr_backend() const
Definition binding.cpp:357
attr_t get_attr() const
Definition binding.cpp:371
int get_attr_ibv_gid_idx() const
Definition binding.cpp:361
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:365
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:364
const char * get_attr_name() const
Definition binding.cpp:368
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:371
std::string get_attr_device_name() const
Definition binding.cpp:363
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:362
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:369
bool get_attr_support_putimm() const
Definition binding.cpp:366
size_t get_attr_max_msg_size() const
Definition binding.cpp:359
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:348
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:358
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:370
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:364
size_t get_attr_max_inject_size() const
Definition binding.cpp:360
bool is_empty() const
Definition lci_binding_pre.hpp:368
bool get_attr_use_dmabuf() const
Definition binding.cpp:367
net_context_t(void *p)
Definition lci_binding_pre.hpp:367
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:265
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:274
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:281
size_t get_attr_npackets() const
Definition binding.cpp:240
void * get_attr_user_context() const
Definition binding.cpp:242
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:277
const char * get_attr_name() const
Definition binding.cpp:241
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:280
size_t get_attr_packet_size() const
Definition binding.cpp:239
attr_t get_attr() const
Definition binding.cpp:244
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:267
bool is_empty() const
Definition lci_binding_pre.hpp:278
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:279
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:219
int get_attr_imm_nbits_tag() const
Definition binding.cpp:180
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:243
bool get_attr_alloc_default_device() const
Definition binding.cpp:187
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:188
void * get_attr_user_context() const
Definition binding.cpp:191
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:237
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:242
bool is_empty() const
Definition lci_binding_pre.hpp:241
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:244
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:183
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:186
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:181
runtime_t(void *p)
Definition lci_binding_pre.hpp:240
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:184
const char * get_attr_name() const
Definition binding.cpp:190
attr_t get_attr() const
Definition binding.cpp:193
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:189
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:179
uint64_t get_attr_max_tag() const
Definition binding.cpp:185
attr_rdv_protocol_t get_attr_rdv_protocol() const
Definition binding.cpp:182
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:221
All LCI API functions and classes are defined in this namespace.
attr_matching_engine_type_t
Definition lci_binding_pre.hpp:34
@ map
Definition lci_binding_pre.hpp:36
@ queue
Definition lci_binding_pre.hpp:35
attr_backend_t
Definition lci.hpp:66
@ none
Definition lci.hpp:67
attr_rdv_protocol_t
Definition lci_binding_pre.hpp:28
@ auto_select
Definition lci_binding_pre.hpp:29
@ writeimm
Definition lci_binding_pre.hpp:31
@ write
Definition lci_binding_pre.hpp:30
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:52
@ all_qp
Definition lci_binding_pre.hpp:54
@ per_qp
Definition lci_binding_pre.hpp:55
attr_ibv_odp_strategy_t
Definition lci_binding_pre.hpp:39
@ explicit_odp
Definition lci_binding_pre.hpp:41
@ implicit_odp
Definition lci_binding_pre.hpp:42
attr_ibv_prefetch_strategy_t
Definition lci_binding_pre.hpp:45
@ prefetch
Definition lci_binding_pre.hpp:47
@ prefetch_write
Definition lci_binding_pre.hpp:48
@ prefetch_no_fault
Definition lci_binding_pre.hpp:49
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:118
int uid
Definition lci_binding_pre.hpp:127
size_t net_max_sends
Definition lci_binding_pre.hpp:119
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:128
const char * name
Definition lci_binding_pre.hpp:129
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:123
double net_send_reserved_pct
Definition lci_binding_pre.hpp:122
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:125
void * user_context
Definition lci_binding_pre.hpp:130
size_t net_max_recvs
Definition lci_binding_pre.hpp:120
bool use_reg_cache
Definition lci_binding_pre.hpp:126
size_t net_max_cqes
Definition lci_binding_pre.hpp:121
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:124
Definition lci_binding_pre.hpp:138
void * user_context
Definition lci_binding_pre.hpp:141
const char * name
Definition lci_binding_pre.hpp:140
int uid
Definition lci_binding_pre.hpp:139
Definition lci_binding_pre.hpp:154
int imm_nbits_tag
Definition lci_binding_pre.hpp:156
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:180
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:157
size_t net_max_recvs
Definition lci_binding_pre.hpp:176
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:173
attr_backend_t backend
Definition lci_binding_pre.hpp:165
size_t packet_return_threshold
Definition lci_binding_pre.hpp:155
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:160
size_t max_inject_size
Definition lci_binding_pre.hpp:168
bool zero_copy_am
Definition lci_binding_pre.hpp:185
bool use_dmabuf
Definition lci_binding_pre.hpp:174
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:172
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:170
size_t max_msg_size
Definition lci_binding_pre.hpp:167
int ibv_gid_idx
Definition lci_binding_pre.hpp:169
std::string ofi_provider_name
Definition lci_binding_pre.hpp:166
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:161
size_t packet_size
Definition lci_binding_pre.hpp:162
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:183
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:179
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:181
size_t net_max_sends
Definition lci_binding_pre.hpp:175
int cq_default_length
Definition lci_binding_pre.hpp:187
bool alloc_default_device
Definition lci_binding_pre.hpp:159
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:164
bool use_reg_cache
Definition lci_binding_pre.hpp:182
size_t npackets
Definition lci_binding_pre.hpp:163
int sync_threshold
Definition lci_binding_pre.hpp:184
size_t net_max_cqes
Definition lci_binding_pre.hpp:177
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:158
double net_send_reserved_pct
Definition lci_binding_pre.hpp:178
std::string device_name
Definition lci_binding_pre.hpp:171
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:186
Definition lci_binding_pre.hpp:96
const char * name
Definition lci_binding_pre.hpp:98
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:97
void * user_context
Definition lci_binding_pre.hpp:99
Definition lci_binding_pre.hpp:133
void * user_context
Definition lci_binding_pre.hpp:135
const char * name
Definition lci_binding_pre.hpp:134
Definition lci_binding_pre.hpp:102
bool support_putimm
Definition lci_binding_pre.hpp:112
const char * name
Definition lci_binding_pre.hpp:114
size_t max_msg_size
Definition lci_binding_pre.hpp:105
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:110
attr_backend_t backend
Definition lci_binding_pre.hpp:103
int ibv_gid_idx
Definition lci_binding_pre.hpp:107
std::string device_name
Definition lci_binding_pre.hpp:109
std::string ofi_provider_name
Definition lci_binding_pre.hpp:104
void * user_context
Definition lci_binding_pre.hpp:115
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:111
bool use_dmabuf
Definition lci_binding_pre.hpp:113
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:108
size_t max_inject_size
Definition lci_binding_pre.hpp:106
Definition lci_binding_pre.hpp:89
void * user_context
Definition lci_binding_pre.hpp:93
size_t npackets
Definition lci_binding_pre.hpp:91
const char * name
Definition lci_binding_pre.hpp:92
size_t packet_size
Definition lci_binding_pre.hpp:90
Definition lci_binding_pre.hpp:73
uint64_t max_imm_rcomp
Definition lci_binding_pre.hpp:79
uint64_t max_rcomp
Definition lci_binding_pre.hpp:81
const char * name
Definition lci_binding_pre.hpp:85
size_t packet_return_threshold
Definition lci_binding_pre.hpp:74
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:83
bool alloc_default_device
Definition lci_binding_pre.hpp:82
void * user_context
Definition lci_binding_pre.hpp:86
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:77
int imm_nbits_tag
Definition lci_binding_pre.hpp:75
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:84
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:76
uint64_t max_tag
Definition lci_binding_pre.hpp:80
uint64_t max_imm_tag
Definition lci_binding_pre.hpp:78