12#include <ucp/api/ucp_def.h>
13#include <ucp/api/ucp_compat.h>
14#include <ucp/api/ucp_version.h>
15#include <ucs/type/thread_mode.h>
16#include <ucs/type/cpu_set.h>
17#include <ucs/config/types.h>
18#include <ucs/sys/compiler_def.h>
19#include <ucs/memory/memory_type.h>
847#define ucp_dt_make_contig(_elem_size) \
848 (((ucp_datatype_t)(_elem_size) << UCP_DATATYPE_SHIFT) | UCP_DATATYPE_CONTIG)
864#define ucp_dt_make_iov() ((ucp_datatype_t)UCP_DATATYPE_IOV)
884#define ucp_dt_make_sgl() ((ucp_datatype_t)UCP_DATATYPE_SGL)
1022 void* (*start_pack)(
void *context,
const void *buffer,
size_t count);
1038 void* (*start_unpack)(
void *context,
void *buffer,
size_t count);
1071 size_t (*
pack) (
void *state,
size_t offset,
void *dest,
size_t max_length);
2174 const char *title, ucs_config_print_flags_t print_flags);
2188 unsigned *release_number);
2209ucs_status_t ucp_init_version(
unsigned api_major_version,
unsigned api_minor_version,
2254 return ucp_init_version(UCP_API_MAJOR, UCP_API_MINOR, params, config,
3236 void **buffer_p,
size_t *buffer_size_p);
3428 const void *header,
size_t header_length,
3429 const void *buffer,
size_t count,
3480 void *buffer,
size_t count,
3996 size_t count, uint64_t remote_addr,
ucp_rkey_h rkey,
uint64_t field_mask
Definition ucp.h:2000
ucs_status_t status
Definition ucp.h:2019
ucs_memory_type_t mem_type
Definition ucp.h:2024
size_t debug_string_size
Definition ucp.h:2014
char * debug_string
Definition ucp.h:2007
ucs_status_ptr_t ucp_atomic_op_nbx(ucp_ep_h ep, ucp_atomic_op_t opcode, const void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
Post an atomic memory operation.
ucs_status_ptr_t ucp_tag_send_sync_nbx(ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
Non-blocking synchronous tagged-send operation.
void ucp_request_free(void *request)
Release a communications request.
void ucp_stream_data_release(ucp_ep_h ep, void *data)
Release UCP data buffer returned by ucp_stream_recv_data_nb.
void(* ucp_am_recv_data_nbx_callback_t)(void *request, ucs_status_t status, size_t length, void *user_data)
Completion callback for non-blocking Active Message receives.
Definition ucp_def.h:567
ucs_status_ptr_t ucp_put_nbx(ucp_ep_h ep, const void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
Non-blocking remote memory put operation.
ucs_status_ptr_t ucp_stream_recv_nbx(ucp_ep_h ep, void *buffer, size_t count, size_t *length, const ucp_request_param_t *param)
Non-blocking stream receive operation of structured data into a user-supplied buffer.
void ucp_request_cancel(ucp_worker_h worker, void *request)
Cancel an outstanding communications request.
ucp_tag_message_h ucp_tag_probe_nb(ucp_worker_h worker, ucp_tag_t tag, ucp_tag_t tag_mask, int remove, ucp_tag_recv_info_t *info)
Non-blocking probe and return a message.
void ucp_am_data_release(ucp_worker_h worker, void *data)
Releases Active Message data.
ucs_status_ptr_t ucp_stream_recv_data_nb(ucp_ep_h ep, size_t *length)
Non-blocking stream receive operation of unstructured data into a UCP-supplied buffer.
ucp_am_recv_attr_t
UCP AM receive data parameter fields and flags.
Definition ucp.h:783
ucs_status_ptr_t ucp_tag_msg_recv_nbx(ucp_worker_h worker, void *buffer, size_t count, ucp_tag_message_h message, const ucp_request_param_t *param)
Non-blocking receive operation for a probed message.
ucs_status_ptr_t ucp_am_send_nbx(ucp_ep_h ep, unsigned id, const void *header, size_t header_length, const void *buffer, size_t count, const ucp_request_param_t *param)
Send Active Message.
ucs_status_t ucp_stream_recv_request_test(void *request, size_t *length_p)
Check the status and currently available state of non-blocking request returned from ucp_stream_recv_...
uint64_t ucp_tag_t
UCP Tag Identifier.
Definition ucp_def.h:284
ucp_atomic_op_t
Atomic operation requested for ucp_atomic_op_nbx.
Definition ucp.h:683
ucp_op_attr_t
UCP operation fields and flags.
Definition ucp.h:718
struct ucp_recv_desc * ucp_tag_message_h
UCP Message descriptor.
Definition ucp_def.h:295
ucs_status_t ucp_tag_recv_request_test(void *request, ucp_tag_recv_info_t *info)
Check the status and currently available state of non-blocking request returned from ucp_tag_recv_nb ...
void(* ucp_tag_recv_nbx_callback_t)(void *request, ucs_status_t status, const ucp_tag_recv_info_t *tag_info, void *user_data)
Completion callback for non-blocking tag receives ucp_tag_recv_nbx call.
Definition ucp_def.h:545
ucs_status_ptr_t ucp_tag_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, ucp_tag_t tag, const ucp_request_param_t *param)
Non-blocking tagged-send operation.
ucs_status_ptr_t ucp_get_nbx(ucp_ep_h ep, void *buffer, size_t count, uint64_t remote_addr, ucp_rkey_h rkey, const ucp_request_param_t *param)
Non-blocking remote memory get operation.
ucs_status_ptr_t ucp_tag_recv_nbx(ucp_worker_h worker, void *buffer, size_t count, ucp_tag_t tag, ucp_tag_t tag_mask, const ucp_request_param_t *param)
Non-blocking tagged-receive operation.
ucp_req_attr_field
UCP request query attributes.
Definition ucp.h:767
ucp_stream_recv_flags_t
Flags to define behavior of ucp_stream_recv_nb function.
Definition ucp.h:700
ucs_status_t ucp_request_check_status(void *request)
Check the status of non-blocking request.
uint64_t ucp_datatype_t
UCP Datatype Identifier.
Definition ucp_def.h:305
ucs_status_ptr_t ucp_stream_send_nbx(ucp_ep_h ep, const void *buffer, size_t count, const ucp_request_param_t *param)
Non-blocking stream send operation.
ucp_am_handler_param_field
UCP AM receive data parameters fields and flags.
Definition ucp.h:813
void(* ucp_send_nbx_callback_t)(void *request, ucs_status_t status, void *user_data)
Completion callback for non-blocking sends.
Definition ucp_def.h:367
ucs_status_ptr_t ucp_am_recv_data_nbx(ucp_worker_h worker, void *data_desc, void *buffer, size_t count, const ucp_request_param_t *param)
Receive Active Message as defined by provided data descriptor.
void(* ucp_stream_recv_nbx_callback_t)(void *request, ucs_status_t status, size_t length, void *user_data)
Completion callback for non-blocking stream receives ucp_stream_recv_nbx call.
Definition ucp_def.h:497
ucs_status_t ucp_request_query(void *request, ucp_request_attr_t *attr)
Get information about ucp_request.
@ UCP_AM_RECV_ATTR_FIELD_REPLY_EP
Definition ucp.h:784
@ UCP_AM_RECV_ATTR_FLAG_DATA
Definition ucp.h:793
@ UCP_AM_RECV_ATTR_FLAG_RNDV
Definition ucp.h:802
@ UCP_ATOMIC_OP_LAST
Definition ucp.h:690
@ UCP_ATOMIC_OP_ADD
Definition ucp.h:684
@ UCP_ATOMIC_OP_OR
Definition ucp.h:688
@ UCP_ATOMIC_OP_XOR
Definition ucp.h:689
@ UCP_ATOMIC_OP_AND
Definition ucp.h:687
@ UCP_ATOMIC_OP_CSWAP
Definition ucp.h:686
@ UCP_ATOMIC_OP_SWAP
Definition ucp.h:685
@ UCP_OP_ATTR_FIELD_REMOTE_DATATYPE
Definition ucp.h:728
@ UCP_OP_ATTR_FIELD_REMOTE_COUNT
Definition ucp.h:730
@ UCP_OP_ATTR_FIELD_FLAGS
Definition ucp.h:723
@ UCP_OP_ATTR_FIELD_DATATYPE
Definition ucp.h:722
@ UCP_OP_ATTR_FLAG_MULTI_SEND
Definition ucp.h:751
@ UCP_OP_ATTR_FLAG_FAST_CMPL
Definition ucp.h:737
@ UCP_OP_ATTR_FIELD_CALLBACK
Definition ucp.h:720
@ UCP_OP_ATTR_FIELD_MEMORY_TYPE
Definition ucp.h:725
@ UCP_OP_ATTR_FIELD_MEMH
Definition ucp.h:727
@ UCP_OP_ATTR_FLAG_NO_IMM_CMPL
Definition ucp.h:731
@ UCP_OP_ATTR_FIELD_REMOTE
Definition ucp.h:729
@ UCP_OP_ATTR_FIELD_REPLY_BUFFER
Definition ucp.h:724
@ UCP_OP_ATTR_FIELD_RECV_INFO
Definition ucp.h:726
@ UCP_OP_ATTR_FIELD_REQUEST
Definition ucp.h:719
@ UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL
Definition ucp.h:747
@ UCP_OP_ATTR_FIELD_USER_DATA
Definition ucp.h:721
@ UCP_REQUEST_ATTR_FIELD_INFO_STRING
Definition ucp.h:768
@ UCP_REQUEST_ATTR_FIELD_MEM_TYPE
Definition ucp.h:771
@ UCP_REQUEST_ATTR_FIELD_STATUS
Definition ucp.h:770
@ UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE
Definition ucp.h:769
@ UCP_STREAM_RECV_FLAG_WAITALL
Definition ucp.h:701
@ UCP_AM_HANDLER_PARAM_FIELD_ARG
Definition ucp.h:829
@ UCP_AM_HANDLER_PARAM_FIELD_ID
Definition ucp.h:817
@ UCP_AM_HANDLER_PARAM_FIELD_CB
Definition ucp.h:825
@ UCP_AM_HANDLER_PARAM_FIELD_FLAGS
Definition ucp.h:821
Attributes of a particular request.
Definition ucp.h:1994
size_t request_size
Definition ucp.h:1182
size_t estimated_num_eps
Definition ucp.h:1239
uint64_t field_mask
Definition ucp.h:1164
uint64_t tag_sender_mask
Definition ucp.h:1212
size_t node_local_id
Definition ucp.h:1269
size_t estimated_num_ppn
Definition ucp.h:1249
const char * name
Definition ucp.h:1259
ucp_request_init_callback_t request_init
Definition ucp.h:1194
int mt_workers_shared
Definition ucp.h:1228
ucp_request_cleanup_callback_t request_cleanup
Definition ucp.h:1205
uint64_t features
Definition ucp.h:1172
void ucp_config_release(ucp_config_t *config)
Release configuration descriptor.
void ucp_config_print(const ucp_config_t *config, FILE *stream, const char *title, ucs_config_print_flags_t print_flags)
Print configuration information.
struct ucp_params ucp_params_t
Tuning parameters for UCP library.
ucs_status_t ucp_config_modify(ucp_config_t *config, const char *name, const char *value)
Modify context configuration.
ucs_status_t ucp_config_read(const char *env_prefix, const char *filename, ucp_config_t **config_p)
Read UCP configuration descriptor.
struct ucp_config ucp_config_t
UCP configuration descriptor.
Definition ucp_def.h:77
Tuning parameters for UCP library.
Definition ucp.h:1158
size_t device_counter_size
Definition ucp.h:1342
ucp_tag_t sender_tag
Definition ucp.h:1833
size_t remote_count
Definition ucp.h:1986
const void * remote
Definition ucp.h:1975
ucp_datatype_t datatype
Definition ucp.h:1914
ucs_thread_mode_t max_thread_level
Definition ucp.h:1295
ucp_datatype_t remote_datatype
Definition ucp.h:1967
ucs_thread_mode_t thread_mode
Definition ucp.h:1326
uint64_t field_mask
Definition ucp.h:1286
ucs_memory_type_t memory_type
Definition ucp.h:1934
uint32_t flags
Definition ucp.h:1888
uint64_t memory_types
Definition ucp.h:1332
size_t length
Definition ucp.h:1835
void * request
Definition ucp.h:1896
ucp_mem_h memh
Definition ucp.h:1958
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:1337
uint32_t op_attr_mask
Definition ucp.h:1885
size_t request_size
Definition ucp.h:1320
void * user_data
Definition ucp.h:1919
void * reply_buffer
Definition ucp.h:1925
uint64_t field_mask
Definition ucp.h:1313
struct ucp_lib_attr ucp_lib_attr_t
Lib attributes.
void(* ucp_request_init_callback_t)(void *request)
Request initialization callback.
Definition ucp_def.h:316
struct ucp_context * ucp_context_h
UCP Application Context.
Definition ucp_def.h:60
ucp_lib_attr_field
UCP library attributes field mask.
Definition ucp.h:423
ucs_status_t ucp_context_query(ucp_context_h context_p, ucp_context_attr_t *attr)
Get attributes specific to a particular context.
static ucs_status_t ucp_init(const ucp_params_t *params, const ucp_config_t *config, ucp_context_h *context_p)
UCP context initialization.
Definition ucp.h:2250
ucp_context_attr_field
UCP context attributes field mask.
Definition ucp.h:436
ucs_status_t ucp_lib_query(ucp_lib_attr_t *attr)
Get attributes of the UCP library.
struct ucp_context_attr ucp_context_attr_t
Context attributes.
void ucp_context_print_info(const ucp_context_h context, FILE *stream)
Print context information.
void(* ucp_request_cleanup_callback_t)(void *request)
Request cleanup callback.
Definition ucp_def.h:328
void ucp_cleanup(ucp_context_h context_p)
Release UCP application context.
ucp_params_field
UCP context parameters field mask.
Definition ucp.h:119
ucp_feature
UCP configuration features.
Definition ucp.h:141
#define UCP_ENTITY_NAME_MAX
Maximum size of the UCP entity name in structure of entity attributes provided by a query method.
Definition ucp_def.h:799
void ucp_get_version(unsigned *major_version, unsigned *minor_version, unsigned *release_number)
Get UCP library version.
const char * ucp_get_version_string(void)
Get UCP library version as a string.
@ UCP_LIB_ATTR_FIELD_MAX_THREAD_LEVEL
Definition ucp.h:425
@ UCP_ATTR_FIELD_MEMORY_TYPES
Definition ucp.h:439
@ UCP_ATTR_FIELD_NAME
Definition ucp.h:440
@ UCP_ATTR_FIELD_REQUEST_SIZE
Definition ucp.h:437
@ UCP_ATTR_FIELD_DEVICE_COUNTER_SIZE
Definition ucp.h:441
@ UCP_ATTR_FIELD_THREAD_MODE
Definition ucp.h:438
@ UCP_PARAM_FIELD_TAG_SENDER_MASK
Definition ucp.h:124
@ UCP_PARAM_FIELD_ESTIMATED_NUM_PPN
Definition ucp.h:127
@ UCP_PARAM_FIELD_FEATURES
Definition ucp.h:120
@ UCP_PARAM_FIELD_ESTIMATED_NUM_EPS
Definition ucp.h:126
@ UCP_PARAM_FIELD_REQUEST_SIZE
Definition ucp.h:121
@ UCP_PARAM_FIELD_NODE_LOCAL_ID
Definition ucp.h:129
@ UCP_PARAM_FIELD_NAME
Definition ucp.h:128
@ UCP_PARAM_FIELD_REQUEST_CLEANUP
Definition ucp.h:123
@ UCP_PARAM_FIELD_MT_WORKERS_SHARED
Definition ucp.h:125
@ UCP_PARAM_FIELD_REQUEST_INIT
Definition ucp.h:122
@ UCP_FEATURE_STREAM
Definition ucp.h:158
@ UCP_FEATURE_DEVICE
Definition ucp.h:171
@ UCP_FEATURE_TAG
Definition ucp.h:143
@ UCP_FEATURE_AM
Definition ucp.h:161
@ UCP_FEATURE_AMO32
Definition ucp.h:149
@ UCP_FEATURE_WAKEUP
Definition ucp.h:155
@ UCP_FEATURE_AMO64
Definition ucp.h:152
@ UCP_FEATURE_RMA
Definition ucp.h:146
@ UCP_FEATURE_EXPORTED_MEMH
Definition ucp.h:168
Context attributes.
Definition ucp.h:1306
Lib attributes.
Definition ucp.h:1279
Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx,...
Definition ucp.h:1879
UCP receive information descriptor.
Definition ucp.h:1831
size_t count
Definition ucp.h:1141
const void * buffer
Definition ucp.h:1133
size_t packed_size
Definition ucp.h:1125
const size_t * lengths
Definition ucp.h:988
void *const * buffers
Definition ucp.h:960
uint64_t field_mask
Definition ucp.h:1120
const size_t * counts
Definition ucp.h:963
const size_t * strides
Definition ucp.h:964
void * buffer
Definition ucp.h:899
size_t length
Definition ucp.h:900
const size_t * lengths
Definition ucp.h:961
ucp_mem_h const * memhs
Definition ucp.h:962
uint64_t field_mask
Definition ucp.h:958
uint64_t field_mask
Definition ucp.h:985
const uint64_t * remote_addrs
Definition ucp.h:987
ucp_rkey_h const * rkeys
Definition ucp.h:989
void ucp_dt_destroy(ucp_datatype_t datatype)
Destroy a datatype and release its resources.
void(* finish)(void *state)
Finish packing/unpacking.
Definition ucp.h:1104
ucs_status_t ucp_dt_query(ucp_datatype_t datatype, ucp_datatype_attr_t *attr)
Query attributes of a datatype.
size_t(* pack)(void *state, size_t offset, void *dest, size_t max_length)
Pack data.
Definition ucp.h:1071
ucp_dt_type
UCP data type classification.
Definition ucp.h:508
ucp_dt_remote_sgl_field
Flags for specifying valid fields in ucp_dt_remote_sgl_t.
Definition ucp.h:921
ucp_dt_local_sgl_field
Flags for specifying valid fields in ucp_dt_local_sgl_t.
Definition ucp.h:908
struct ucp_datatype_attr ucp_datatype_attr_t
UCP datatype attributes.
struct ucp_dt_iov ucp_dt_iov_t
Structure for scatter-gather I/O.
struct ucp_generic_dt_ops ucp_generic_dt_ops_t
UCP generic data type descriptor.
ucp_datatype_attr_field
UCP datatype attributes field mask.
Definition ucp.h:529
ucs_status_t ucp_dt_create_generic(const ucp_generic_dt_ops_t *ops, void *context, ucp_datatype_t *datatype_p)
Create a generic datatype.
ucs_status_t(* unpack)(void *state, size_t offset, const void *src, size_t length)
Unpack data.
Definition ucp.h:1088
size_t(* packed_size)(void *state)
Get the total size of packed data.
Definition ucp.h:1053
@ UCP_DATATYPE_IOV
Definition ucp.h:511
@ UCP_DATATYPE_CONTIG
Definition ucp.h:509
@ UCP_DATATYPE_SHIFT
Definition ucp.h:515
@ UCP_DATATYPE_CLASS_MASK
Definition ucp.h:517
@ UCP_DATATYPE_SGL
Definition ucp.h:512
@ UCP_DATATYPE_STRIDED
Definition ucp.h:510
@ UCP_DATATYPE_GENERIC
Definition ucp.h:513
@ UCP_DT_REMOTE_SGL_FIELD_LENGTHS
Definition ucp.h:923
@ UCP_DT_REMOTE_SGL_FIELD_RKEYS
Definition ucp.h:924
@ UCP_DT_REMOTE_SGL_FIELD_REMOTE_ADDRS
Definition ucp.h:922
@ UCP_DT_LOCAL_SGL_FIELD_MEMHS
Definition ucp.h:911
@ UCP_DT_LOCAL_SGL_FIELD_STRIDES
Definition ucp.h:913
@ UCP_DT_LOCAL_SGL_FIELD_COUNTS
Definition ucp.h:912
@ UCP_DT_LOCAL_SGL_FIELD_BUFFERS
Definition ucp.h:909
@ UCP_DT_LOCAL_SGL_FIELD_LENGTHS
Definition ucp.h:910
@ UCP_DATATYPE_ATTR_FIELD_BUFFER
Definition ucp.h:534
@ UCP_DATATYPE_ATTR_FIELD_PACKED_SIZE
Definition ucp.h:531
@ UCP_DATATYPE_ATTR_FIELD_COUNT
Definition ucp.h:537
UCP datatype attributes.
Definition ucp.h:1114
Structure for scatter-gather I/O.
Definition ucp.h:898
Local SGL descriptor for multi-element operations.
Definition ucp.h:957
Remote SGL descriptor for multi-element operations.
Definition ucp.h:984
uint8_t reserved[16]
Definition ucp.h:1729
unsigned flags
Definition ucp.h:1724
void * user_data
Definition ucp.h:1719
ucp_transports_t transports
Definition ucp.h:4278
void * user_data
Definition ucp.h:4284
uint64_t field_mask
Definition ucp.h:1591
uint64_t field_mask
Definition ucp.h:4249
struct sockaddr_storage remote_sockaddr
Definition ucp.h:4271
ucp_ep_h ep
Definition ucp.h:1713
size_t message_size
Definition ucp.h:1573
double estimated_time
Definition ucp.h:1598
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:4255
struct sockaddr_storage local_sockaddr
Definition ucp.h:4263
uint64_t field_mask
Definition ucp.h:1567
enum ucp_ep_perf_attr_field ucp_ep_perf_attr_field_t
UCP performance fields and flags.
struct ucp_conn_request * ucp_conn_request_h
UCP connection request.
Definition ucp_def.h:102
ucs_status_ptr_t ucp_ep_flush_nbx(ucp_ep_h ep, const ucp_request_param_t *param)
Non-blocking flush of outstanding AMO and RMA operations on the endpoint.
ucp_ep_params_flags_field
UCP endpoint parameters flags.
Definition ucp.h:282
ucp_cb_param_flags
Descriptor flags for Active Message callback.
Definition ucp.h:671
ucp_ep_perf_param_field
UCP performance fields and flags.
Definition ucp.h:350
ucs_status_t ucp_ep_query(ucp_ep_h ep, ucp_ep_attr_t *attr)
Get attributes of a given endpoint.
ucs_status_t ucp_ep_evaluate_perf(ucp_ep_h ep, const ucp_ep_evaluate_perf_param_t *param, ucp_ep_evaluate_perf_attr_t *attr)
Estimate performance characteristics of a specific endpoint.
ucs_status_ptr_t ucp_ep_close_nbx(ucp_ep_h ep, const ucp_request_param_t *param)
Non-blocking endpoint closure.
ucs_status_t ucp_ep_create(ucp_worker_h worker, const ucp_ep_params_t *params, ucp_ep_h *ep_p)
Create and connect an endpoint.
ucp_ep_perf_attr_field
UCP performance fields and flags.
Definition ucp.h:364
enum ucp_ep_perf_param_field ucp_ep_perf_param_field_t
UCP performance fields and flags.
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition ucp_def.h:92
ucp_ep_attr_field
UCP endpoint attributes field mask.
Definition ucp.h:4226
ucs_status_t(* ucp_am_recv_callback_t)(void *arg, const void *header, size_t header_length, void *data, size_t length, const ucp_am_recv_param_t *param)
Callback to process incoming Active Message sent by ucp_am_send_nbx routine.
Definition ucp_def.h:697
ucp_ep_params_field
UCP endpoint parameters field mask.
Definition ucp.h:258
struct ucp_stream_poll_ep ucp_stream_poll_ep_t
Output parameter of ucp_stream_worker_poll function.
void ucp_ep_print_info(ucp_ep_h ep, FILE *stream)
Print endpoint information.
ucp_ep_close_flags_t
Close UCP endpoint modes.
Definition ucp.h:317
struct ucp_ep_attr ucp_ep_attr_t
UCP endpoint attributes.
@ UCP_EP_PARAMS_FLAGS_NO_LOOPBACK
Definition ucp.h:291
@ UCP_EP_PARAMS_FLAGS_CLIENT_SERVER
Definition ucp.h:283
@ UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID
Definition ucp.h:300
@ UCP_CB_PARAM_FLAG_DATA
Definition ucp.h:672
@ UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE
Definition ucp.h:352
@ UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME
Definition ucp.h:366
@ UCP_EP_ATTR_FIELD_TRANSPORTS
Definition ucp.h:4230
@ UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR
Definition ucp.h:4228
@ UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR
Definition ucp.h:4229
@ UCP_EP_ATTR_FIELD_NAME
Definition ucp.h:4227
@ UCP_EP_ATTR_FIELD_USER_DATA
Definition ucp.h:4231
@ UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE
Definition ucp.h:261
@ UCP_EP_PARAM_FIELD_FLAGS
Definition ucp.h:267
@ UCP_EP_PARAM_FIELD_SOCK_ADDR
Definition ucp.h:266
@ UCP_EP_PARAM_FIELD_CONN_REQUEST
Definition ucp.h:269
@ UCP_EP_PARAM_FIELD_NAME
Definition ucp.h:270
@ UCP_EP_PARAM_FIELD_ERR_HANDLER
Definition ucp.h:263
@ UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR
Definition ucp.h:271
@ UCP_EP_PARAM_FIELD_REMOTE_ADDRESS
Definition ucp.h:259
@ UCP_EP_PARAM_FIELD_USER_DATA
Definition ucp.h:265
@ UCP_EP_CLOSE_FLAG_FORCE
Definition ucp.h:318
UCP endpoint attributes.
Definition ucp.h:4242
UCP endpoint performance evaluation result attributes.
Definition ucp.h:1584
UCP endpoint performance evaluation request attributes.
Definition ucp.h:1560
Tuning parameters for the UCP endpoint.
Definition ucp_def.h:710
Output parameter of ucp_stream_worker_poll function.
Definition ucp.h:1709
Structure containing an array of transport layers and device names used by an endpoint.
Definition ucp_def.h:873
uint64_t field_mask
Definition ucp.h:3099
ucp_mem_advice_t advice
Definition ucp.h:3114
uint64_t field_mask
Definition ucp.h:3253
size_t length
Definition ucp.h:3109
size_t length
Definition ucp.h:1768
uint64_t flags
Definition ucp.h:3197
unsigned flags
Definition ucp.h:1777
ucs_memory_type_t memory_type
Definition ucp.h:1804
uint64_t field_mask
Definition ucp.h:1420
uint64_t field_mask
Definition ucp.h:1747
uint64_t field_mask
Definition ucp.h:3192
void * address
Definition ucp.h:3104
void * address
Definition ucp.h:1759
const void * exported_memh_buffer
Definition ucp.h:1818
unsigned prot
Definition ucp.h:1786
ucs_status_t ucp_mem_query(const ucp_mem_h memh, ucp_mem_attr_t *attr)
query mapped memory segment
struct ucp_mem_map_params ucp_mem_map_params_t
Tuning parameters for the UCP memory mapping.
ucp_mem_advice
list of UCP memory use advice.
Definition ucp.h:3076
ucs_status_t ucp_mem_map(ucp_context_h context, const ucp_mem_map_params_t *params, ucp_mem_h *memh_p)
Map or allocate memory for zero-copy operations.
ucp_mem_map_params_field
UCP memory mapping parameters field mask.
Definition ucp.h:377
struct ucp_memh_buffer_release_params ucp_memh_buffer_release_params_t
Memory handle release parameters passed to ucp_memh_buffer_release.
struct ucp_rkey_compare_params ucp_rkey_compare_params_t
Tuning parameters for the comparison function ucp_rkey_compare.
void ucp_mem_print_info(const char *mem_spec, ucp_context_h context, FILE *stream)
Print memory mapping information.
struct ucp_mem_advise_params ucp_mem_advise_params_t
Tuning parameters for the UCP memory advice.
ucp_mem_advise_params_field
UCP memory advice parameters field mask.
Definition ucp.h:409
struct ucp_memh_pack_params ucp_memh_pack_params_t
Memory handle pack parameters passed to ucp_memh_pack.
ucs_status_t ucp_mem_advise(ucp_context_h context, ucp_mem_h memh, ucp_mem_advise_params_t *params)
give advice about the use of memory
enum ucp_mem_advice ucp_mem_advice_t
list of UCP memory use advice.
ucs_status_t ucp_rkey_ptr(ucp_rkey_h rkey, uint64_t raddr, void **addr_p)
Get a local pointer to remote memory.
ucp_memh_pack_flags
UCP memory handle flags.
Definition ucp.h:3165
ucs_status_t ucp_memh_pack(ucp_mem_h memh, const ucp_memh_pack_params_t *params, void **buffer_p, size_t *buffer_size_p)
Pack a memory handle to a buffer specified by the user.
ucp_memh_pack_params_field
UCP memory handle packing parameters field mask.
Definition ucp.h:3149
ucs_status_t ucp_ep_rkey_unpack(ucp_ep_h ep, const void *rkey_buffer, ucp_rkey_h *rkey_p)
Create remote access key from packed buffer.
void ucp_memh_buffer_release(void *buffer, const ucp_memh_buffer_release_params_t *params)
Release packed memory handle buffer.
ucs_status_t ucp_mem_unmap(ucp_context_h context, ucp_mem_h memh)
Unmap memory segment.
struct ucp_mem * ucp_mem_h
UCP Memory handle.
Definition ucp_def.h:194
void ucp_rkey_destroy(ucp_rkey_h rkey)
Destroy the remote key.
ucs_status_t ucp_rkey_compare(ucp_worker_h worker, ucp_rkey_h rkey1, ucp_rkey_h rkey2, const ucp_rkey_compare_params_t *params, int *result)
Compare two remote keys.
struct ucp_rkey * ucp_rkey_h
UCP Remote memory handle.
Definition ucp_def.h:157
@ UCP_MEM_MAP_NONBLOCK
Definition ucp.h:554
@ UCP_MEM_MAP_SYMMETRIC_RKEY
Definition ucp.h:576
@ UCP_MEM_MAP_ALLOCATE
Definition ucp.h:561
@ UCP_MEM_MAP_FIXED
Definition ucp.h:567
@ UCP_MEM_MAP_LOCK
Definition ucp.h:582
@ UCP_MADV_NORMAL
Definition ucp.h:3077
@ UCP_MADV_WILLNEED
Definition ucp.h:3078
@ UCP_MEM_MAP_PARAM_FIELD_PROT
Definition ucp.h:393
@ UCP_MEM_MAP_PARAM_FIELD_ADDRESS
Definition ucp.h:381
@ UCP_MEM_MAP_PARAM_FIELD_LENGTH
Definition ucp.h:387
@ UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE
Definition ucp.h:396
@ UCP_MEM_MAP_PARAM_FIELD_EXPORTED_MEMH_BUFFER
Definition ucp.h:399
@ UCP_MEM_MAP_PARAM_FIELD_FLAGS
Definition ucp.h:390
@ UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS
Definition ucp.h:410
@ UCP_MEM_ADVISE_PARAM_FIELD_ADVICE
Definition ucp.h:412
@ UCP_MEM_ADVISE_PARAM_FIELD_LENGTH
Definition ucp.h:411
@ UCP_MEMH_PACK_FLAG_EXPORT
Definition ucp.h:3174
@ UCP_MEMH_PACK_PARAM_FIELD_FLAGS
Definition ucp.h:3154
@ UCP_MEM_MAP_PROT_REMOTE_READ
Definition ucp.h:596
@ UCP_MEM_MAP_PROT_REMOTE_WRITE
Definition ucp.h:597
@ UCP_MEM_MAP_PROT_LOCAL_WRITE
Definition ucp.h:595
@ UCP_MEM_MAP_PROT_LOCAL_READ
Definition ucp.h:594
Tuning parameters for the UCP memory advice.
Definition ucp.h:3093
Attributes of the UCP Memory handle, filled by ucp_mem_query function.
Definition ucp_def.h:212
Tuning parameters for the UCP memory mapping.
Definition ucp.h:1740
Memory handle release parameters passed to ucp_memh_buffer_release.
Definition ucp.h:3248
Memory handle pack parameters passed to ucp_memh_pack.
Definition ucp.h:3186
Tuning parameters for the comparison function ucp_rkey_compare.
Definition ucp.h:1414
ucs_status_t ucp_worker_signal(ucp_worker_h worker)
Cause an event of the worker.
void ucp_worker_wait_mem(ucp_worker_h worker, void *address)
Wait for memory update on the address.
ucs_status_t ucp_worker_wait(ucp_worker_h worker)
Wait for an event of the worker.
ucs_status_t ucp_worker_arm(ucp_worker_h worker)
Turn on event notification for the next event.
ucs_status_t ucp_worker_get_efd(ucp_worker_h worker, int *fd)
Obtain an event file descriptor for event notification.
uint32_t flags
Definition ucp.h:2050
ucp_listener_conn_handler_t conn_handler
Definition ucp.h:1699
ucp_address_t * address
Definition ucp.h:1382
ucp_listener_accept_handler_t accept_handler
Definition ucp.h:1686
void * user_data
Definition ucp.h:1477
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:1397
uint64_t field_mask
Definition ucp.h:1437
uint64_t client_id
Definition ucp.h:1527
uint64_t recv_attr
Definition ucp.h:2076
uint64_t field_mask
Definition ucp.h:1544
ucp_ep_h reply_ep
Definition ucp.h:2081
uint64_t worker_uid
Definition ucp.h:1549
uint32_t address_flags
Definition ucp.h:1373
size_t max_am_header
Definition ucp.h:1392
ucs_thread_mode_t thread_mode
Definition ucp.h:1451
size_t max_debug_string
Definition ucp.h:1402
size_t address_length
Definition ucp.h:1387
const char * name
Definition ucp.h:1512
ucs_sock_addr_t sockaddr
Definition ucp.h:1678
unsigned events
Definition ucp.h:1469
struct sockaddr_storage client_address
Definition ucp.h:1645
uint64_t field_mask
Definition ucp.h:2039
uint64_t field_mask
Definition ucp.h:1615
size_t am_alignment
Definition ucp.h:1519
int event_fd
Definition ucp.h:1494
ucs_thread_mode_t thread_mode
Definition ucp.h:1365
ucp_am_recv_callback_t cb
Definition ucp.h:2056
unsigned id
Definition ucp.h:2045
uint64_t field_mask
Definition ucp.h:1639
uint64_t flags
Definition ucp.h:1502
void * arg
Definition ucp.h:2062
uint64_t field_mask
Definition ucp.h:1360
uint64_t field_mask
Definition ucp.h:1669
ucs_cpu_set_t cpu_mask
Definition ucp.h:1460
uint64_t client_id
Definition ucp.h:1651
struct sockaddr_storage sockaddr
Definition ucp.h:1621
struct ucp_conn_request_attr ucp_conn_request_attr_t
UCP listener's connection request attributes.
ucs_status_t ucp_worker_fence(ucp_worker_h worker)
Assures ordering between non-blocking operations.
struct ucp_worker_params ucp_worker_params_t
Tuning parameters for the UCP worker.
ucs_status_t ucp_worker_create(ucp_context_h context, const ucp_worker_params_t *params, ucp_worker_h *worker_p)
Create a worker object.
ucs_status_t ucp_worker_address_query(ucp_address_t *address, ucp_worker_address_attr_t *attr)
Get attributes of the particular worker address.
ucp_worker_flags_t
UCP worker flags.
Definition ucp.h:204
struct ucp_am_handler_param ucp_am_handler_param_t
Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine.
ucs_status_t ucp_listener_reject(ucp_listener_h listener, ucp_conn_request_h conn_request)
Reject an incoming connection request.
ucp_conn_request_attr_field
UCP listener's connection request attributes field mask.
Definition ucp.h:496
unsigned ucp_worker_progress(ucp_worker_h worker)
Progress all communications on a specific worker.
ucp_listener_params_field
UCP listener parameters field mask.
Definition ucp.h:217
ucs_status_t ucp_worker_set_am_recv_handler(ucp_worker_h worker, const ucp_am_handler_param_t *param)
Add user defined callback for Active Message.
ucp_am_cb_flags
Flags for a UCP Active Message callback.
Definition ucp.h:607
struct ucp_listener_params ucp_listener_params_t
Parameters for a UCP listener object.
ucs_status_t ucp_conn_request_query(ucp_conn_request_h conn_request, ucp_conn_request_attr_t *attr)
Get attributes specific to a particular connection request received on the server side.
ucp_listener_attr_field
UCP listener attributes field mask.
Definition ucp.h:484
ucs_status_ptr_t ucp_worker_flush_nbx(ucp_worker_h worker, const ucp_request_param_t *param)
Flush outstanding AMO and RMA operations on the worker.
ucp_send_am_flags
Flags for sending a UCP Active Message.
Definition ucp.h:630
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition ucp_def.h:273
void ucp_worker_destroy(ucp_worker_h worker)
Destroy a worker object.
struct ucp_worker_address_attr ucp_worker_address_attr_t
UCP worker address attributes.
ucs_status_t ucp_listener_query(ucp_listener_h listener, ucp_listener_attr_t *attr)
Get attributes specific to a particular listener.
ucs_status_t ucp_listener_create(ucp_worker_h worker, const ucp_listener_params_t *params, ucp_listener_h *listener_p)
Create a listener to accept connections on. Connection requests on the listener will arrive at a loca...
struct ucp_address ucp_address_t
UCP worker address.
Definition ucp_def.h:112
void ucp_worker_release_address(ucp_worker_h worker, ucp_address_t *address)
Release an address of the worker object.
struct ucp_listener_attr ucp_listener_attr_t
UCP listener attributes.
ucs_status_t ucp_worker_query(ucp_worker_h worker, ucp_worker_attr_t *attr)
Get attributes specific to a particular worker.
ssize_t ucp_stream_worker_poll(ucp_worker_h worker, ucp_stream_poll_ep_t *poll_eps, size_t max_eps, unsigned flags)
Poll for endpoints that are ready to consume streaming data.
ucp_worker_address_attr_field
UCP worker address attributes field mask.
Definition ucp.h:472
ucp_worker_address_flags_t
UCP worker address flags.
Definition ucp.h:242
void ucp_worker_print_info(ucp_worker_h worker, FILE *stream)
Print information about the worker.
struct ucp_listener * ucp_listener_h
UCP listen handle.
Definition ucp_def.h:204
ucp_worker_attr_field
UCP worker attributes field mask.
Definition ucp.h:452
struct ucp_worker_attr ucp_worker_attr_t
UCP worker attributes.
ucp_worker_params_field
UCP worker parameters field mask.
Definition ucp.h:182
void ucp_listener_destroy(ucp_listener_h listener)
Stop accepting connections on a local address of the worker object.
@ UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK
Definition ucp.h:205
@ UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID
Definition ucp.h:498
@ UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR
Definition ucp.h:497
@ UCP_LISTENER_PARAM_FIELD_SOCK_ADDR
Definition ucp.h:221
@ UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER
Definition ucp.h:226
@ UCP_LISTENER_PARAM_FIELD_CONN_HANDLER
Definition ucp.h:230
@ UCP_AM_FLAG_PERSISTENT_DATA
Definition ucp.h:619
@ UCP_AM_FLAG_WHOLE_MSG
Definition ucp.h:611
@ UCP_LISTENER_ATTR_FIELD_SOCKADDR
Definition ucp.h:485
@ UCP_AM_SEND_FLAG_COPY_HEADER
Definition ucp.h:652
@ UCP_AM_SEND_REPLY
Definition ucp.h:657
@ UCP_AM_SEND_FLAG_RNDV
Definition ucp.h:644
@ UCP_AM_SEND_FLAG_REPLY
Definition ucp.h:634
@ UCP_AM_SEND_FLAG_EAGER
Definition ucp.h:639
@ UCP_WORKER_ADDRESS_ATTR_FIELD_UID
Definition ucp.h:473
@ UCP_WORKER_ADDRESS_FLAG_NET_ONLY
Definition ucp.h:247
@ UCP_WORKER_ATTR_FIELD_ADDRESS
Definition ucp.h:454
@ UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER
Definition ucp.h:456
@ UCP_WORKER_ATTR_FIELD_THREAD_MODE
Definition ucp.h:453
@ UCP_WORKER_ATTR_FIELD_NAME
Definition ucp.h:458
@ UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS
Definition ucp.h:455
@ UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING
Definition ucp.h:459
@ UCP_WORKER_PARAM_FIELD_CPU_MASK
Definition ucp.h:184
@ UCP_WORKER_PARAM_FIELD_USER_DATA
Definition ucp.h:186
@ UCP_WORKER_PARAM_FIELD_CLIENT_ID
Definition ucp.h:193
@ UCP_WORKER_PARAM_FIELD_FLAGS
Definition ucp.h:189
@ UCP_WORKER_PARAM_FIELD_NAME
Definition ucp.h:190
@ UCP_WORKER_PARAM_FIELD_THREAD_MODE
Definition ucp.h:183
@ UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT
Definition ucp.h:191
@ UCP_WORKER_PARAM_FIELD_EVENTS
Definition ucp.h:185
@ UCP_WORKER_PARAM_FIELD_EVENT_FD
Definition ucp.h:187
Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine.
Definition ucp.h:2033
Operation parameters provided in ucp_am_recv_callback_t callback.
Definition ucp.h:2070
UCP listener's connection request attributes.
Definition ucp.h:1632
Definition ucp_compat.h:23
UCP listener attributes.
Definition ucp.h:1608
UCP callback to handle the connection request in a client-server connection establishment flow.
Definition ucp_def.h:453
Parameters for a UCP listener object.
Definition ucp.h:1662
UCP worker address attributes.
Definition ucp.h:1537
UCP worker attributes.
Definition ucp.h:1353
Tuning parameters for the UCP worker.
Definition ucp.h:1431
enum ucs_memory_type ucs_memory_type_t
Memory types.
ucs_thread_mode_t
Thread sharing mode.
Definition thread_mode.h:19
ucs_status_t
Status codes.
Definition status.h:45
void * ucs_status_ptr_t
Status pointer.
Definition status.h:106
UCP generic data type descriptor.
Definition ucp.h:1006