7#ifndef LCI_BINDING_PRE_HPP_
8#define LCI_BINDING_PRE_HPP_
240 inline runtime_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"runtime p_impl is nullptr!");
return p_impl; }
245class packet_pool_impl_t;
277 inline packet_pool_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"packet_pool p_impl is nullptr!");
return p_impl; }
282class matching_engine_impl_t;
307 matching_engine_impl_t*
p_impl =
nullptr;
312 inline matching_engine_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"matching_engine p_impl is nullptr!");
return p_impl; }
317class net_context_impl_t;
365 inline net_context_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"net_context p_impl is nullptr!");
return p_impl; }
418 inline device_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"device p_impl is nullptr!");
return p_impl; }
451 inline mr_impl_t *
get_impl()
const {
if (!
p_impl)
throw std::runtime_error(
"mr p_impl is nullptr!");
return p_impl; }
456class endpoint_impl_t;
486 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:511
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:583
bool get_attr_zero_copy_am() const
Definition binding.cpp:585
int get_attr_sync_threshold() const
Definition binding.cpp:584
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:586
const char * get_attr_name() const
Definition binding.cpp:588
comp_t(void *p)
Definition lci_binding_pre.hpp:527
attr_t get_attr() const
Definition binding.cpp:591
bool is_empty() const
Definition lci.hpp:499
comp_impl_t * p_impl
Definition lci_binding_pre.hpp:524
int get_attr_cq_default_length() const
Definition binding.cpp:587
void * get_attr_user_context() const
Definition binding.cpp:589
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:396
device_attr_t attr_t
Definition lci_binding_pre.hpp:398
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:418
bool get_attr_use_reg_cache() const
Definition binding.cpp:396
void * get_attr_user_context() const
Definition binding.cpp:400
int get_attr_uid() const
Definition binding.cpp:397
double get_attr_net_send_reserved_pct() const
Definition binding.cpp:392
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:398
size_t get_attr_net_max_cqes() const
Definition binding.cpp:391
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:393
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:419
attr_t get_attr() const
Definition binding.cpp:402
device_t(void *p)
Definition lci_binding_pre.hpp:416
bool get_attr_alloc_progress_endpoint() const
Definition binding.cpp:395
size_t get_attr_net_max_sends() const
Definition binding.cpp:389
const char * get_attr_name() const
Definition binding.cpp:399
bool is_empty() const
Definition lci_binding_pre.hpp:417
size_t get_attr_net_max_recvs() const
Definition binding.cpp:390
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:420
device_impl_t * p_impl
Definition lci_binding_pre.hpp:413
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:394
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:473
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:481
const char * get_attr_name() const
Definition binding.cpp:452
bool is_empty() const
Definition lci_binding_pre.hpp:485
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:487
attr_t get_attr() const
Definition binding.cpp:455
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:488
endpoint_t(void *p)
Definition lci_binding_pre.hpp:484
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:486
int get_attr_uid() const
Definition binding.cpp:451
void * get_attr_user_context() const
Definition binding.cpp:453
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:475
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:299
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:312
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:301
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:313
const char * get_attr_name() const
Definition binding.cpp:283
void * get_attr_user_context() const
Definition binding.cpp:284
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:307
attr_t get_attr() const
Definition binding.cpp:286
bool is_empty() const
Definition lci_binding_pre.hpp:311
matching_engine_t()=default
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:282
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:314
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:310
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:439
void * get_attr_user_context() const
Definition binding.cpp:428
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:453
attr_t get_attr() const
Definition binding.cpp:430
mr_attr_t attr_t
Definition lci_binding_pre.hpp:441
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:452
mr_t(void *p)
Definition lci_binding_pre.hpp:449
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:446
bool is_empty() const
Definition lci.hpp:321
const char * get_attr_name() const
Definition binding.cpp:427
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:451
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:343
void * get_attr_user_context() const
Definition binding.cpp:364
attr_backend_t get_attr_backend() const
Definition binding.cpp:353
attr_t get_attr() const
Definition binding.cpp:366
int get_attr_ibv_gid_idx() const
Definition binding.cpp:357
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:360
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:360
const char * get_attr_name() const
Definition binding.cpp:363
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:367
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:358
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:365
bool get_attr_support_putimm() const
Definition binding.cpp:361
size_t get_attr_max_msg_size() const
Definition binding.cpp:355
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:345
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:354
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:366
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:359
size_t get_attr_max_inject_size() const
Definition binding.cpp:356
bool is_empty() const
Definition lci_binding_pre.hpp:364
bool get_attr_use_dmabuf() const
Definition binding.cpp:362
net_context_t(void *p)
Definition lci_binding_pre.hpp:363
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:263
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:272
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:279
size_t get_attr_npackets() const
Definition binding.cpp:236
void * get_attr_user_context() const
Definition binding.cpp:238
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:275
const char * get_attr_name() const
Definition binding.cpp:237
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:278
size_t get_attr_packet_size() const
Definition binding.cpp:235
attr_t get_attr() const
Definition binding.cpp:240
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:265
bool is_empty() const
Definition lci_binding_pre.hpp:276
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:277
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:217
int get_attr_imm_nbits_tag() const
Definition binding.cpp:178
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:241
bool get_attr_alloc_default_device() const
Definition binding.cpp:185
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:186
void * get_attr_user_context() const
Definition binding.cpp:189
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:235
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:240
bool is_empty() const
Definition lci_binding_pre.hpp:239
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:242
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:181
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:184
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:179
runtime_t(void *p)
Definition lci_binding_pre.hpp:238
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:182
const char * get_attr_name() const
Definition binding.cpp:188
attr_t get_attr() const
Definition binding.cpp:191
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:187
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:177
uint64_t get_attr_max_tag() const
Definition binding.cpp:183
attr_rdv_protocol_t get_attr_rdv_protocol() const
Definition binding.cpp:180
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:219
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:65
@ none
Definition lci.hpp:66
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: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:117
int uid
Definition lci_binding_pre.hpp:126
size_t net_max_sends
Definition lci_binding_pre.hpp:118
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:127
const char * name
Definition lci_binding_pre.hpp:128
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:122
double net_send_reserved_pct
Definition lci_binding_pre.hpp:121
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:124
void * user_context
Definition lci_binding_pre.hpp:129
size_t net_max_recvs
Definition lci_binding_pre.hpp:119
bool use_reg_cache
Definition lci_binding_pre.hpp:125
size_t net_max_cqes
Definition lci_binding_pre.hpp:120
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:123
Definition lci_binding_pre.hpp:137
void * user_context
Definition lci_binding_pre.hpp:140
const char * name
Definition lci_binding_pre.hpp:139
int uid
Definition lci_binding_pre.hpp:138
Definition lci_binding_pre.hpp:153
int imm_nbits_tag
Definition lci_binding_pre.hpp:155
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:178
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:156
size_t net_max_recvs
Definition lci_binding_pre.hpp:174
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:171
attr_backend_t backend
Definition lci_binding_pre.hpp:164
size_t packet_return_threshold
Definition lci_binding_pre.hpp:154
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:159
size_t max_inject_size
Definition lci_binding_pre.hpp:167
bool zero_copy_am
Definition lci_binding_pre.hpp:183
bool use_dmabuf
Definition lci_binding_pre.hpp:172
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:170
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:169
size_t max_msg_size
Definition lci_binding_pre.hpp:166
int ibv_gid_idx
Definition lci_binding_pre.hpp:168
std::string ofi_provider_name
Definition lci_binding_pre.hpp:165
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:160
size_t packet_size
Definition lci_binding_pre.hpp:161
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:181
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:177
bool alloc_progress_endpoint
Definition lci_binding_pre.hpp:179
size_t net_max_sends
Definition lci_binding_pre.hpp:173
int cq_default_length
Definition lci_binding_pre.hpp:185
bool alloc_default_device
Definition lci_binding_pre.hpp:158
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:163
bool use_reg_cache
Definition lci_binding_pre.hpp:180
size_t npackets
Definition lci_binding_pre.hpp:162
int sync_threshold
Definition lci_binding_pre.hpp:182
size_t net_max_cqes
Definition lci_binding_pre.hpp:175
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:157
double net_send_reserved_pct
Definition lci_binding_pre.hpp:176
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:184
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:132
void * user_context
Definition lci_binding_pre.hpp:134
const char * name
Definition lci_binding_pre.hpp:133
Definition lci_binding_pre.hpp:102
bool support_putimm
Definition lci_binding_pre.hpp:111
const char * name
Definition lci_binding_pre.hpp:113
size_t max_msg_size
Definition lci_binding_pre.hpp:105
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:109
attr_backend_t backend
Definition lci_binding_pre.hpp:103
int ibv_gid_idx
Definition lci_binding_pre.hpp:107
std::string ofi_provider_name
Definition lci_binding_pre.hpp:104
void * user_context
Definition lci_binding_pre.hpp:114
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:110
bool use_dmabuf
Definition lci_binding_pre.hpp:112
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