7#ifndef LCI_BINDING_PRE_HPP_
8#define LCI_BINDING_PRE_HPP_
190class net_context_impl_t;
238 inline net_context_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"net_context p_impl is nullptr!");
return p_impl; }
291 inline device_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"device p_impl is nullptr!");
return p_impl; }
324 inline mr_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"mr p_impl is nullptr!");
return p_impl; }
329class endpoint_impl_t;
359 inline endpoint_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"endpoint p_impl is nullptr!");
return p_impl; }
414 inline runtime_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"runtime p_impl is nullptr!");
return p_impl; }
419class packet_pool_impl_t;
451 inline packet_pool_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"packet_pool p_impl is nullptr!");
return p_impl; }
456class matching_engine_impl_t;
481 matching_engine_impl_t*
p_impl =
nullptr;
486 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:512
The actual implementation for RESOURCE comp.
Definition lci_binding_pre.hpp:512
void set_impl(comp_impl_t *p)
Definition lci_binding_pre.hpp:530
attr_comp_type_t get_attr_comp_type() const
Definition binding.cpp:826
bool get_attr_zero_copy_am() const
Definition binding.cpp:828
int get_attr_sync_threshold() const
Definition binding.cpp:827
bool operator==(const comp_t &other) const
Definition lci_binding_pre.hpp:531
attr_cq_type_t get_attr_cq_type() const
Definition binding.cpp:829
const char * get_attr_name() const
Definition binding.cpp:831
comp_t(void *p)
Definition lci_binding_pre.hpp:527
attr_t get_attr() const
Definition binding.cpp:834
bool is_empty() const
Definition lci.hpp:500
comp_impl_t * p_impl
Definition lci_binding_pre.hpp:524
int get_attr_cq_default_length() const
Definition binding.cpp:830
void * get_attr_user_context() const
Definition binding.cpp:832
comp_attr_t attr_t
Definition lci_binding_pre.hpp:514
comp_impl_t * get_impl() const
Definition lci_binding_pre.hpp:529
The actual implementation for RESOURCE device.
Definition lci_binding_pre.hpp:269
device_attr_t attr_t
Definition lci_binding_pre.hpp:271
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:291
bool get_attr_use_reg_cache() const
Definition binding.cpp:370
void * get_attr_user_context() const
Definition binding.cpp:374
int get_attr_uid() const
Definition binding.cpp:371
double get_attr_net_send_reserved_pct() const
Definition binding.cpp:366
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:372
size_t get_attr_net_max_cqes() const
Definition binding.cpp:365
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:367
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:292
attr_t get_attr() const
Definition binding.cpp:376
device_t(void *p)
Definition lci_binding_pre.hpp:289
bool get_attr_alloc_progress_endpoint() const
Definition binding.cpp:369
size_t get_attr_net_max_sends() const
Definition binding.cpp:363
const char * get_attr_name() const
Definition binding.cpp:373
bool is_empty() const
Definition lci_binding_pre.hpp:290
size_t get_attr_net_max_recvs() const
Definition binding.cpp:364
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:293
device_impl_t * p_impl
Definition lci_binding_pre.hpp:286
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:368
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:346
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:354
const char * get_attr_name() const
Definition binding.cpp:426
bool is_empty() const
Definition lci_binding_pre.hpp:358
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:360
attr_t get_attr() const
Definition binding.cpp:429
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:361
endpoint_t(void *p)
Definition lci_binding_pre.hpp:357
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:359
int get_attr_uid() const
Definition binding.cpp:425
void * get_attr_user_context() const
Definition binding.cpp:427
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:348
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:473
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:486
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:475
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:487
const char * get_attr_name() const
Definition binding.cpp:663
void * get_attr_user_context() const
Definition binding.cpp:664
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:481
attr_t get_attr() const
Definition binding.cpp:666
bool is_empty() const
Definition lci_binding_pre.hpp:485
matching_engine_t()=default
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:662
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:488
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:484
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:312
void * get_attr_user_context() const
Definition binding.cpp:402
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:326
attr_t get_attr() const
Definition binding.cpp:404
mr_attr_t attr_t
Definition lci_binding_pre.hpp:314
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:325
mr_t(void *p)
Definition lci_binding_pre.hpp:322
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:319
bool is_empty() const
Definition lci.hpp:322
const char * get_attr_name() const
Definition binding.cpp:401
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:324
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:216
void * get_attr_user_context() const
Definition binding.cpp:338
attr_backend_t get_attr_backend() const
Definition binding.cpp:327
attr_t get_attr() const
Definition binding.cpp:340
int get_attr_ibv_gid_idx() const
Definition binding.cpp:331
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:334
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:233
const char * get_attr_name() const
Definition binding.cpp:337
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:240
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:332
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:238
bool get_attr_support_putimm() const
Definition binding.cpp:335
size_t get_attr_max_msg_size() const
Definition binding.cpp:329
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:218
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:328
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:239
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:333
size_t get_attr_max_inject_size() const
Definition binding.cpp:330
bool is_empty() const
Definition lci_binding_pre.hpp:237
bool get_attr_use_dmabuf() const
Definition binding.cpp:336
net_context_t(void *p)
Definition lci_binding_pre.hpp:236
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:437
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:446
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:453
size_t get_attr_npackets() const
Definition binding.cpp:616
void * get_attr_user_context() const
Definition binding.cpp:618
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:449
const char * get_attr_name() const
Definition binding.cpp:617
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:452
size_t get_attr_packet_size() const
Definition binding.cpp:615
attr_t get_attr() const
Definition binding.cpp:620
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:439
bool is_empty() const
Definition lci_binding_pre.hpp:450
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:451
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:391
int get_attr_imm_nbits_tag() const
Definition binding.cpp:558
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:415
bool get_attr_alloc_default_device() const
Definition binding.cpp:565
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:566
void * get_attr_user_context() const
Definition binding.cpp:569
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:409
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:414
bool is_empty() const
Definition lci_binding_pre.hpp:413
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:416
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:561
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:564
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:559
runtime_t(void *p)
Definition lci_binding_pre.hpp:412
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:562
const char * get_attr_name() const
Definition binding.cpp:568
attr_t get_attr() const
Definition binding.cpp:571
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:567
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:557
uint64_t get_attr_max_tag() const
Definition binding.cpp:563
attr_rdv_protocol_t get_attr_rdv_protocol() const
Definition binding.cpp:560
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:393
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:143
const char * name
Definition lci_binding_pre.hpp:149
attr_comp_type_t comp_type
Definition lci_binding_pre.hpp:144
bool zero_copy_am
Definition lci_binding_pre.hpp:146
int sync_threshold
Definition lci_binding_pre.hpp:145
void * user_context
Definition lci_binding_pre.hpp:150
int cq_default_length
Definition lci_binding_pre.hpp:148
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:147
Definition lci_binding_pre.hpp:88
int uid
Definition lci_binding_pre.hpp:97
size_t net_max_sends
Definition lci_binding_pre.hpp:89
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:98
const char * name
Definition lci_binding_pre.hpp:99
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:93
double net_send_reserved_pct
Definition lci_binding_pre.hpp:92
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:95
void * user_context
Definition lci_binding_pre.hpp:100
size_t net_max_recvs
Definition lci_binding_pre.hpp:90
bool use_reg_cache
Definition lci_binding_pre.hpp:96
size_t net_max_cqes
Definition lci_binding_pre.hpp:91
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:94
Definition lci_binding_pre.hpp:108
void * user_context
Definition lci_binding_pre.hpp:111
const char * name
Definition lci_binding_pre.hpp:110
int uid
Definition lci_binding_pre.hpp:109
Definition lci_binding_pre.hpp:153
int imm_nbits_tag
Definition lci_binding_pre.hpp:173
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:168
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:174
size_t net_max_recvs
Definition lci_binding_pre.hpp:164
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:161
attr_backend_t backend
Definition lci_binding_pre.hpp:154
size_t packet_return_threshold
Definition lci_binding_pre.hpp:172
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:177
size_t max_inject_size
Definition lci_binding_pre.hpp:157
bool zero_copy_am
Definition lci_binding_pre.hpp:183
bool use_dmabuf
Definition lci_binding_pre.hpp:162
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:160
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:159
size_t max_msg_size
Definition lci_binding_pre.hpp:156
int ibv_gid_idx
Definition lci_binding_pre.hpp:158
std::string ofi_provider_name
Definition lci_binding_pre.hpp:155
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:178
size_t packet_size
Definition lci_binding_pre.hpp:179
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:171
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:167
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:169
size_t net_max_sends
Definition lci_binding_pre.hpp:163
int cq_default_length
Definition lci_binding_pre.hpp:185
bool alloc_default_device
Definition lci_binding_pre.hpp:176
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:181
bool use_reg_cache
Definition lci_binding_pre.hpp:170
size_t npackets
Definition lci_binding_pre.hpp:180
int sync_threshold
Definition lci_binding_pre.hpp:182
size_t net_max_cqes
Definition lci_binding_pre.hpp:165
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:175
double net_send_reserved_pct
Definition lci_binding_pre.hpp:166
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:184
Definition lci_binding_pre.hpp:137
const char * name
Definition lci_binding_pre.hpp:139
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:138
void * user_context
Definition lci_binding_pre.hpp:140
Definition lci_binding_pre.hpp:103
void * user_context
Definition lci_binding_pre.hpp:105
const char * name
Definition lci_binding_pre.hpp:104
Definition lci_binding_pre.hpp:73
bool support_putimm
Definition lci_binding_pre.hpp:82
const char * name
Definition lci_binding_pre.hpp:84
size_t max_msg_size
Definition lci_binding_pre.hpp:76
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:80
attr_backend_t backend
Definition lci_binding_pre.hpp:74
int ibv_gid_idx
Definition lci_binding_pre.hpp:78
std::string ofi_provider_name
Definition lci_binding_pre.hpp:75
void * user_context
Definition lci_binding_pre.hpp:85
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:81
bool use_dmabuf
Definition lci_binding_pre.hpp:83
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:130
void * user_context
Definition lci_binding_pre.hpp:134
size_t npackets
Definition lci_binding_pre.hpp:132
const char * name
Definition lci_binding_pre.hpp:133
size_t packet_size
Definition lci_binding_pre.hpp:131
Definition lci_binding_pre.hpp:114
uint64_t max_imm_rcomp
Definition lci_binding_pre.hpp:120
uint64_t max_rcomp
Definition lci_binding_pre.hpp:122
const char * name
Definition lci_binding_pre.hpp:126
size_t packet_return_threshold
Definition lci_binding_pre.hpp:115
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:124
bool alloc_default_device
Definition lci_binding_pre.hpp:123
void * user_context
Definition lci_binding_pre.hpp:127
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:118
int imm_nbits_tag
Definition lci_binding_pre.hpp:116
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:125
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:117
uint64_t max_tag
Definition lci_binding_pre.hpp:121
uint64_t max_imm_tag
Definition lci_binding_pre.hpp:119