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>
833#define ucp_dt_make_contig(_elem_size) \
834 (((ucp_datatype_t)(_elem_size) << UCP_DATATYPE_SHIFT) | UCP_DATATYPE_CONTIG)
850#define ucp_dt_make_iov() ((ucp_datatype_t)UCP_DATATYPE_IOV)
899 void* (*start_pack)(
void *context,
const void *buffer,
size_t count);
915 void* (*start_unpack)(
void *context,
void *buffer,
size_t count);
948 size_t (*
pack) (
void *state,
size_t offset,
void *dest,
size_t max_length);
2008 const char *title, ucs_config_print_flags_t print_flags);
2022 unsigned *release_number);
2043ucs_status_t ucp_init_version(
unsigned api_major_version,
unsigned api_minor_version,
2088 return ucp_init_version(UCP_API_MAJOR, UCP_API_MINOR, params, config,
3070 void **buffer_p,
size_t *buffer_size_p);
3262 const void *header,
size_t header_length,
3263 const void *buffer,
size_t count,
3314 void *buffer,
size_t count,
3818 size_t count, uint64_t remote_addr,
ucp_rkey_h rkey,
uint64_t field_mask
Definition ucp.h:1835
ucs_status_t status
Definition ucp.h:1854
ucs_memory_type_t mem_type
Definition ucp.h:1859
size_t debug_string_size
Definition ucp.h:1849
char * debug_string
Definition ucp.h:1842
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:540
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:769
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:257
ucp_atomic_op_t
Atomic operation requested for ucp_atomic_op_nbx.
Definition ucp.h:671
ucp_op_attr_t
UCP operation fields and flags.
Definition ucp.h:706
struct ucp_recv_desc * ucp_tag_message_h
UCP Message descriptor.
Definition ucp_def.h:268
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:518
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.
void * ucp_request_alloc(ucp_worker_h worker)
Create an empty communications request.
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:753
ucp_stream_recv_flags_t
Flags to define behavior of ucp_stream_recv_nb function.
Definition ucp.h:688
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:278
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:799
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:340
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:470
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:770
@ UCP_AM_RECV_ATTR_FLAG_DATA
Definition ucp.h:779
@ UCP_AM_RECV_ATTR_FLAG_RNDV
Definition ucp.h:788
@ UCP_ATOMIC_OP_LAST
Definition ucp.h:678
@ UCP_ATOMIC_OP_ADD
Definition ucp.h:672
@ UCP_ATOMIC_OP_OR
Definition ucp.h:676
@ UCP_ATOMIC_OP_XOR
Definition ucp.h:677
@ UCP_ATOMIC_OP_AND
Definition ucp.h:675
@ UCP_ATOMIC_OP_CSWAP
Definition ucp.h:674
@ UCP_ATOMIC_OP_SWAP
Definition ucp.h:673
@ UCP_OP_ATTR_FIELD_FLAGS
Definition ucp.h:711
@ UCP_OP_ATTR_FIELD_DATATYPE
Definition ucp.h:710
@ UCP_OP_ATTR_FLAG_MULTI_SEND
Definition ucp.h:737
@ UCP_OP_ATTR_FLAG_FAST_CMPL
Definition ucp.h:723
@ UCP_OP_ATTR_FIELD_CALLBACK
Definition ucp.h:708
@ UCP_OP_ATTR_FIELD_MEMORY_TYPE
Definition ucp.h:713
@ UCP_OP_ATTR_FIELD_MEMH
Definition ucp.h:715
@ UCP_OP_ATTR_FLAG_NO_IMM_CMPL
Definition ucp.h:717
@ UCP_OP_ATTR_FIELD_REPLY_BUFFER
Definition ucp.h:712
@ UCP_OP_ATTR_FIELD_RECV_INFO
Definition ucp.h:714
@ UCP_OP_ATTR_FIELD_REQUEST
Definition ucp.h:707
@ UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL
Definition ucp.h:733
@ UCP_OP_ATTR_FIELD_USER_DATA
Definition ucp.h:709
@ UCP_REQUEST_ATTR_FIELD_INFO_STRING
Definition ucp.h:754
@ UCP_REQUEST_ATTR_FIELD_MEM_TYPE
Definition ucp.h:757
@ UCP_REQUEST_ATTR_FIELD_STATUS
Definition ucp.h:756
@ UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE
Definition ucp.h:755
@ UCP_STREAM_RECV_FLAG_WAITALL
Definition ucp.h:689
@ UCP_AM_HANDLER_PARAM_FIELD_ARG
Definition ucp.h:815
@ UCP_AM_HANDLER_PARAM_FIELD_ID
Definition ucp.h:803
@ UCP_AM_HANDLER_PARAM_FIELD_CB
Definition ucp.h:811
@ UCP_AM_HANDLER_PARAM_FIELD_FLAGS
Definition ucp.h:807
Attributes of a particular request.
Definition ucp.h:1829
size_t request_size
Definition ucp.h:1059
size_t estimated_num_eps
Definition ucp.h:1116
uint64_t field_mask
Definition ucp.h:1041
uint64_t tag_sender_mask
Definition ucp.h:1089
size_t estimated_num_ppn
Definition ucp.h:1126
const char * name
Definition ucp.h:1136
ucp_request_init_callback_t request_init
Definition ucp.h:1071
int mt_workers_shared
Definition ucp.h:1105
ucp_request_cleanup_callback_t request_cleanup
Definition ucp.h:1082
uint64_t features
Definition ucp.h:1049
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:1035
ucp_tag_t sender_tag
Definition ucp.h:1695
ucp_datatype_t datatype
Definition ucp.h:1776
ucs_thread_mode_t max_thread_level
Definition ucp.h:1162
ucs_thread_mode_t thread_mode
Definition ucp.h:1193
uint64_t field_mask
Definition ucp.h:1153
ucs_memory_type_t memory_type
Definition ucp.h:1796
uint32_t flags
Definition ucp.h:1750
uint64_t memory_types
Definition ucp.h:1199
size_t length
Definition ucp.h:1697
void * request
Definition ucp.h:1758
ucp_mem_h memh
Definition ucp.h:1820
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:1204
uint32_t op_attr_mask
Definition ucp.h:1747
size_t request_size
Definition ucp.h:1187
void * user_data
Definition ucp.h:1781
void * reply_buffer
Definition ucp.h:1787
uint64_t field_mask
Definition ucp.h:1180
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:289
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:419
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:2084
ucp_context_attr_field
UCP context attributes field mask.
Definition ucp.h:432
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:301
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:140
#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:772
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:421
@ UCP_ATTR_FIELD_MEMORY_TYPES
Definition ucp.h:435
@ UCP_ATTR_FIELD_NAME
Definition ucp.h:436
@ UCP_ATTR_FIELD_REQUEST_SIZE
Definition ucp.h:433
@ UCP_ATTR_FIELD_THREAD_MODE
Definition ucp.h:434
@ 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_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:157
@ UCP_FEATURE_TAG
Definition ucp.h:142
@ UCP_FEATURE_AM
Definition ucp.h:160
@ UCP_FEATURE_AMO32
Definition ucp.h:148
@ UCP_FEATURE_WAKEUP
Definition ucp.h:154
@ UCP_FEATURE_AMO64
Definition ucp.h:151
@ UCP_FEATURE_RMA
Definition ucp.h:145
@ UCP_FEATURE_EXPORTED_MEMH
Definition ucp.h:167
Context attributes.
Definition ucp.h:1173
Lib attributes.
Definition ucp.h:1146
Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx,...
Definition ucp.h:1741
UCP receive information descriptor.
Definition ucp.h:1693
size_t count
Definition ucp.h:1018
const void * buffer
Definition ucp.h:1010
size_t packed_size
Definition ucp.h:1002
uint64_t field_mask
Definition ucp.h:997
void * buffer
Definition ucp.h:865
size_t length
Definition ucp.h:866
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:981
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:948
ucp_dt_type
UCP data type classification.
Definition ucp.h:503
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:523
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:965
size_t(* packed_size)(void *state)
Get the total size of packed data.
Definition ucp.h:930
@ UCP_DATATYPE_IOV
Definition ucp.h:506
@ UCP_DATATYPE_CONTIG
Definition ucp.h:504
@ UCP_DATATYPE_SHIFT
Definition ucp.h:509
@ UCP_DATATYPE_CLASS_MASK
Definition ucp.h:511
@ UCP_DATATYPE_STRIDED
Definition ucp.h:505
@ UCP_DATATYPE_GENERIC
Definition ucp.h:507
@ UCP_DATATYPE_ATTR_FIELD_BUFFER
Definition ucp.h:528
@ UCP_DATATYPE_ATTR_FIELD_PACKED_SIZE
Definition ucp.h:525
@ UCP_DATATYPE_ATTR_FIELD_COUNT
Definition ucp.h:531
UCP datatype attributes.
Definition ucp.h:991
Structure for scatter-gather I/O.
Definition ucp.h:864
uint8_t reserved[16]
Definition ucp.h:1591
unsigned flags
Definition ucp.h:1586
void * user_data
Definition ucp.h:1581
ucp_transports_t transports
Definition ucp.h:4115
uint64_t field_mask
Definition ucp.h:1453
uint64_t field_mask
Definition ucp.h:4086
struct sockaddr_storage remote_sockaddr
Definition ucp.h:4108
ucp_ep_h ep
Definition ucp.h:1575
size_t message_size
Definition ucp.h:1435
double estimated_time
Definition ucp.h:1460
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:4092
struct sockaddr_storage local_sockaddr
Definition ucp.h:4100
uint64_t field_mask
Definition ucp.h:1429
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:278
ucp_cb_param_flags
Descriptor flags for Active Message callback.
Definition ucp.h:659
ucp_ep_perf_param_field
UCP performance fields and flags.
Definition ucp.h:346
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:360
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:4064
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:670
ucp_ep_params_field
UCP endpoint parameters field mask.
Definition ucp.h:254
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:313
struct ucp_ep_attr ucp_ep_attr_t
UCP endpoint attributes.
@ UCP_EP_PARAMS_FLAGS_NO_LOOPBACK
Definition ucp.h:287
@ UCP_EP_PARAMS_FLAGS_CLIENT_SERVER
Definition ucp.h:279
@ UCP_EP_PARAMS_FLAGS_SEND_CLIENT_ID
Definition ucp.h:296
@ UCP_CB_PARAM_FLAG_DATA
Definition ucp.h:660
@ UCP_EP_PERF_PARAM_FIELD_MESSAGE_SIZE
Definition ucp.h:348
@ UCP_EP_PERF_ATTR_FIELD_ESTIMATED_TIME
Definition ucp.h:362
@ UCP_EP_ATTR_FIELD_TRANSPORTS
Definition ucp.h:4068
@ UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR
Definition ucp.h:4066
@ UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR
Definition ucp.h:4067
@ UCP_EP_ATTR_FIELD_NAME
Definition ucp.h:4065
@ UCP_EP_PARAM_FIELD_ERR_HANDLING_MODE
Definition ucp.h:257
@ UCP_EP_PARAM_FIELD_FLAGS
Definition ucp.h:263
@ UCP_EP_PARAM_FIELD_SOCK_ADDR
Definition ucp.h:262
@ UCP_EP_PARAM_FIELD_CONN_REQUEST
Definition ucp.h:265
@ UCP_EP_PARAM_FIELD_NAME
Definition ucp.h:266
@ UCP_EP_PARAM_FIELD_ERR_HANDLER
Definition ucp.h:259
@ UCP_EP_PARAM_FIELD_LOCAL_SOCK_ADDR
Definition ucp.h:267
@ UCP_EP_PARAM_FIELD_REMOTE_ADDRESS
Definition ucp.h:255
@ UCP_EP_PARAM_FIELD_USER_DATA
Definition ucp.h:261
@ UCP_EP_CLOSE_FLAG_FORCE
Definition ucp.h:314
UCP endpoint attributes.
Definition ucp.h:4079
UCP endpoint performance evaluation result attributes.
Definition ucp.h:1446
UCP endpoint performance evaluation request attributes.
Definition ucp.h:1422
Tuning parameters for the UCP endpoint.
Definition ucp_def.h:683
Output parameter of ucp_stream_worker_poll function.
Definition ucp.h:1571
Structure containing an array of transport layers and device names used by an endpoint.
Definition ucp_def.h:846
uint64_t field_mask
Definition ucp.h:2933
ucp_mem_advice_t advice
Definition ucp.h:2948
uint64_t field_mask
Definition ucp.h:3087
size_t length
Definition ucp.h:2943
size_t length
Definition ucp.h:1630
uint64_t flags
Definition ucp.h:3031
unsigned flags
Definition ucp.h:1639
ucs_memory_type_t memory_type
Definition ucp.h:1666
uint64_t field_mask
Definition ucp.h:1282
uint64_t field_mask
Definition ucp.h:1609
uint64_t field_mask
Definition ucp.h:3026
void * address
Definition ucp.h:2938
void * address
Definition ucp.h:1621
const void * exported_memh_buffer
Definition ucp.h:1680
unsigned prot
Definition ucp.h:1648
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:2910
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:373
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:405
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:2999
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:2983
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:167
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:152
@ UCP_MEM_MAP_NONBLOCK
Definition ucp.h:548
@ UCP_MEM_MAP_SYMMETRIC_RKEY
Definition ucp.h:570
@ UCP_MEM_MAP_ALLOCATE
Definition ucp.h:555
@ UCP_MEM_MAP_FIXED
Definition ucp.h:561
@ UCP_MADV_NORMAL
Definition ucp.h:2911
@ UCP_MADV_WILLNEED
Definition ucp.h:2912
@ UCP_MEM_MAP_PARAM_FIELD_PROT
Definition ucp.h:389
@ UCP_MEM_MAP_PARAM_FIELD_ADDRESS
Definition ucp.h:377
@ UCP_MEM_MAP_PARAM_FIELD_LENGTH
Definition ucp.h:383
@ UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE
Definition ucp.h:392
@ UCP_MEM_MAP_PARAM_FIELD_EXPORTED_MEMH_BUFFER
Definition ucp.h:395
@ UCP_MEM_MAP_PARAM_FIELD_FLAGS
Definition ucp.h:386
@ UCP_MEM_ADVISE_PARAM_FIELD_ADDRESS
Definition ucp.h:406
@ UCP_MEM_ADVISE_PARAM_FIELD_ADVICE
Definition ucp.h:408
@ UCP_MEM_ADVISE_PARAM_FIELD_LENGTH
Definition ucp.h:407
@ UCP_MEMH_PACK_FLAG_EXPORT
Definition ucp.h:3008
@ UCP_MEMH_PACK_PARAM_FIELD_FLAGS
Definition ucp.h:2988
@ UCP_MEM_MAP_PROT_REMOTE_READ
Definition ucp.h:584
@ UCP_MEM_MAP_PROT_REMOTE_WRITE
Definition ucp.h:585
@ UCP_MEM_MAP_PROT_LOCAL_WRITE
Definition ucp.h:583
@ UCP_MEM_MAP_PROT_LOCAL_READ
Definition ucp.h:582
Tuning parameters for the UCP memory advice.
Definition ucp.h:2927
Attributes of the UCP Memory handle, filled by ucp_mem_query function.
Definition ucp_def.h:185
Tuning parameters for the UCP memory mapping.
Definition ucp.h:1602
Memory handle release parameters passed to ucp_memh_buffer_release.
Definition ucp.h:3082
Memory handle pack parameters passed to ucp_memh_pack.
Definition ucp.h:3020
Tuning parameters for the comparison function ucp_rkey_compare.
Definition ucp.h:1276
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:1884
ucp_listener_conn_handler_t conn_handler
Definition ucp.h:1561
ucp_address_t * address
Definition ucp.h:1244
ucp_listener_accept_handler_t accept_handler
Definition ucp.h:1548
void * user_data
Definition ucp.h:1339
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:1259
uint64_t field_mask
Definition ucp.h:1299
uint64_t client_id
Definition ucp.h:1389
uint64_t recv_attr
Definition ucp.h:1910
uint64_t field_mask
Definition ucp.h:1406
ucp_ep_h reply_ep
Definition ucp.h:1915
uint64_t worker_uid
Definition ucp.h:1411
uint32_t address_flags
Definition ucp.h:1235
size_t max_am_header
Definition ucp.h:1254
ucs_thread_mode_t thread_mode
Definition ucp.h:1313
size_t max_debug_string
Definition ucp.h:1264
size_t address_length
Definition ucp.h:1249
const char * name
Definition ucp.h:1374
ucs_sock_addr_t sockaddr
Definition ucp.h:1540
unsigned events
Definition ucp.h:1331
struct sockaddr_storage client_address
Definition ucp.h:1507
uint64_t field_mask
Definition ucp.h:1874
uint64_t field_mask
Definition ucp.h:1477
size_t am_alignment
Definition ucp.h:1381
int event_fd
Definition ucp.h:1356
ucs_thread_mode_t thread_mode
Definition ucp.h:1227
ucp_am_recv_callback_t cb
Definition ucp.h:1890
unsigned id
Definition ucp.h:1879
uint64_t field_mask
Definition ucp.h:1501
uint64_t flags
Definition ucp.h:1364
void * arg
Definition ucp.h:1896
uint64_t field_mask
Definition ucp.h:1222
uint64_t field_mask
Definition ucp.h:1531
ucs_cpu_set_t cpu_mask
Definition ucp.h:1322
uint64_t client_id
Definition ucp.h:1513
struct sockaddr_storage sockaddr
Definition ucp.h:1483
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:200
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:491
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:213
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:595
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:479
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:618
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition ucp_def.h:246
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:467
ucp_worker_address_flags_t
UCP worker address flags.
Definition ucp.h:238
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:177
ucp_worker_attr_field
UCP worker attributes field mask.
Definition ucp.h:447
struct ucp_worker_attr ucp_worker_attr_t
UCP worker attributes.
ucp_worker_params_field
UCP worker parameters field mask.
Definition ucp.h:178
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:201
@ UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ID
Definition ucp.h:493
@ UCP_CONN_REQUEST_ATTR_FIELD_CLIENT_ADDR
Definition ucp.h:492
@ UCP_LISTENER_PARAM_FIELD_SOCK_ADDR
Definition ucp.h:217
@ UCP_LISTENER_PARAM_FIELD_ACCEPT_HANDLER
Definition ucp.h:222
@ UCP_LISTENER_PARAM_FIELD_CONN_HANDLER
Definition ucp.h:226
@ UCP_AM_FLAG_PERSISTENT_DATA
Definition ucp.h:607
@ UCP_AM_FLAG_WHOLE_MSG
Definition ucp.h:599
@ UCP_LISTENER_ATTR_FIELD_SOCKADDR
Definition ucp.h:480
@ UCP_AM_SEND_FLAG_COPY_HEADER
Definition ucp.h:640
@ UCP_AM_SEND_REPLY
Definition ucp.h:645
@ UCP_AM_SEND_FLAG_RNDV
Definition ucp.h:632
@ UCP_AM_SEND_FLAG_REPLY
Definition ucp.h:622
@ UCP_AM_SEND_FLAG_EAGER
Definition ucp.h:627
@ UCP_WORKER_ADDRESS_ATTR_FIELD_UID
Definition ucp.h:468
@ UCP_WORKER_ADDRESS_FLAG_NET_ONLY
Definition ucp.h:243
@ UCP_WORKER_ATTR_FIELD_ADDRESS
Definition ucp.h:449
@ UCP_WORKER_ATTR_FIELD_MAX_AM_HEADER
Definition ucp.h:451
@ UCP_WORKER_ATTR_FIELD_THREAD_MODE
Definition ucp.h:448
@ UCP_WORKER_ATTR_FIELD_NAME
Definition ucp.h:453
@ UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS
Definition ucp.h:450
@ UCP_WORKER_ATTR_FIELD_MAX_INFO_STRING
Definition ucp.h:454
@ UCP_WORKER_PARAM_FIELD_CPU_MASK
Definition ucp.h:180
@ UCP_WORKER_PARAM_FIELD_USER_DATA
Definition ucp.h:182
@ UCP_WORKER_PARAM_FIELD_CLIENT_ID
Definition ucp.h:189
@ UCP_WORKER_PARAM_FIELD_FLAGS
Definition ucp.h:185
@ UCP_WORKER_PARAM_FIELD_NAME
Definition ucp.h:186
@ UCP_WORKER_PARAM_FIELD_THREAD_MODE
Definition ucp.h:179
@ UCP_WORKER_PARAM_FIELD_AM_ALIGNMENT
Definition ucp.h:187
@ UCP_WORKER_PARAM_FIELD_EVENTS
Definition ucp.h:181
@ UCP_WORKER_PARAM_FIELD_EVENT_FD
Definition ucp.h:183
Active Message handler parameters passed to ucp_worker_set_am_recv_handler routine.
Definition ucp.h:1868
Operation parameters provided in ucp_am_recv_callback_t callback.
Definition ucp.h:1904
UCP listener's connection request attributes.
Definition ucp.h:1494
Definition ucp_compat.h:23
UCP listener attributes.
Definition ucp.h:1470
UCP callback to handle the connection request in a client-server connection establishment flow.
Definition ucp_def.h:426
Parameters for a UCP listener object.
Definition ucp.h:1524
UCP worker address attributes.
Definition ucp.h:1399
UCP worker attributes.
Definition ucp.h:1215
Tuning parameters for the UCP worker.
Definition ucp.h:1293
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:883