UCX 1.19
Unified Communication X
Loading...
Searching...
No Matches
ucp.h
1/*
2* Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2020. ALL RIGHTS RESERVED.
3* Copyright (C) UT-Battelle, LLC. 2014-2017. ALL RIGHTS RESERVED.
4* Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED.
5* Copyright (C) Los Alamos National Security, LLC. 2018 ALL RIGHTS RESERVED.
6* See file LICENSE for terms.
7*/
8
9#ifndef UCP_H_
10#define UCP_H_
11
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>
20#include <stdio.h>
21#include <sys/types.h>
22
23BEGIN_C_DECLS
24
128 UCP_PARAM_FIELD_NAME = UCS_BIT(8)
130
131
142 UCP_FEATURE_TAG = UCS_BIT(0),
143
145 UCP_FEATURE_RMA = UCS_BIT(1),
146
148 UCP_FEATURE_AMO32 = UCS_BIT(2),
149
151 UCP_FEATURE_AMO64 = UCS_BIT(3),
152
154 UCP_FEATURE_WAKEUP = UCS_BIT(4),
155
157 UCP_FEATURE_STREAM = UCS_BIT(5),
158
160 UCP_FEATURE_AM = UCS_BIT(6),
161
167 UCP_FEATURE_EXPORTED_MEMH = UCS_BIT(7)
169
170
191
192
200typedef enum {
204
205
218
223
228
229
238typedef enum {
239
245
246
259 UCP_EP_PARAM_FIELD_ERR_HANDLER = UCS_BIT(2),
263 UCP_EP_PARAM_FIELD_FLAGS = UCS_BIT(5),
269
270
305
306
313typedef enum {
314 UCP_EP_CLOSE_FLAG_FORCE = UCS_BIT(0)
336
337
350
351
364
365
378
384
387
390
393
397
410
411
423
424
436 UCP_ATTR_FIELD_NAME = UCS_BIT(3)
438
439
457
458
470
471
482
483
495
496
514
515
526
529
533
534
542enum {
549
556
561 UCP_MEM_MAP_FIXED = UCS_BIT(2),
562
571
576 UCP_MEM_MAP_LOCK = UCS_BIT(4)
578
579
587enum {
593
594
606
613 UCP_AM_FLAG_PERSISTENT_DATA = UCS_BIT(1)
615
616
629
634
639
647
653
654
666 UCP_CB_PARAM_FLAG_DATA = UCS_BIT(0)
668
669
677typedef enum {
686
687
694typedef enum {
695 UCP_STREAM_RECV_FLAG_WAITALL = UCS_BIT(0)
702
703
712typedef enum {
723 UCP_OP_ATTR_FLAG_NO_IMM_CMPL = UCS_BIT(16),
729 UCP_OP_ATTR_FLAG_FAST_CMPL = UCS_BIT(17),
739 UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL = UCS_BIT(18),
743 UCP_OP_ATTR_FLAG_MULTI_SEND = UCS_BIT(19)
750
751
759typedef enum {
765
766
775typedef enum {
786
794 UCP_AM_RECV_ATTR_FLAG_RNDV = UCS_BIT(17)
796
797
823
824
839#define ucp_dt_make_contig(_elem_size) \
840 (((ucp_datatype_t)(_elem_size) << UCP_DATATYPE_SHIFT) | UCP_DATATYPE_CONTIG)
841
842
856#define ucp_dt_make_iov() ((ucp_datatype_t)UCP_DATATYPE_IOV)
857
858
870typedef struct ucp_dt_iov {
871 void *buffer;
872 size_t length;
874
875
889typedef struct ucp_generic_dt_ops {
890
905 void* (*start_pack)(void *context, const void *buffer, size_t count);
906
921 void* (*start_unpack)(void *context, void *buffer, size_t count);
922
936 size_t (*packed_size)(void *state);
937
954 size_t (*pack) (void *state, size_t offset, void *dest, size_t max_length);
955
971 ucs_status_t (*unpack)(void *state, size_t offset, const void *src, size_t length);
972
987 void (*finish)(void *state);
989
990
997typedef struct ucp_datatype_attr {
1003 uint64_t field_mask;
1004
1009
1016 const void *buffer;
1017
1024 size_t count;
1026
1027
1041typedef struct ucp_params {
1047 uint64_t field_mask;
1048
1055 uint64_t features;
1056
1066
1078
1089
1096
1112
1123
1133
1142 const char *name;
1144
1145
1152typedef struct ucp_lib_attr {
1159 uint64_t field_mask;
1160
1170
1171
1179typedef struct ucp_context_attr {
1186 uint64_t field_mask;
1187
1194
1200
1206
1212
1213
1221typedef struct ucp_worker_attr {
1228 uint64_t field_mask;
1229
1234
1242
1251
1256
1261
1266
1272
1273
1288 uint64_t field_mask;
1290
1291
1299typedef struct ucp_worker_params {
1305 uint64_t field_mask;
1306
1320
1328 ucs_cpu_set_t cpu_mask;
1329
1337 unsigned events;
1338
1346
1363
1370 uint64_t flags;
1371
1380 const char *name;
1381
1388
1395 uint64_t client_id;
1397
1398
1412 uint64_t field_mask;
1413
1417 uint64_t worker_uid;
1419
1420
1428typedef struct {
1435 uint64_t field_mask;
1436
1443
1444
1452typedef struct {
1459 uint64_t field_mask;
1460
1468
1476typedef struct ucp_listener_attr {
1483 uint64_t field_mask;
1484
1489 struct sockaddr_storage sockaddr;
1491
1492
1507 uint64_t field_mask;
1508
1513 struct sockaddr_storage client_address;
1514
1519 uint64_t client_id;
1521
1522
1530typedef struct ucp_listener_params {
1537 uint64_t field_mask;
1538
1547
1555
1569
1570
1577typedef struct ucp_stream_poll_ep {
1582
1588
1592 unsigned flags;
1593
1597 uint8_t reserved[16];
1599
1600
1608typedef struct ucp_mem_map_params {
1615 uint64_t field_mask;
1616
1627 void *address;
1628
1636 size_t length;
1637
1645 unsigned flags;
1646
1654 unsigned prot;
1655
1656 /*
1657 * Memory type (for possible memory types see @ref ucs_memory_type_t)
1658 * It is an optimization hint to avoid memory type detection for map buffer.
1659 * The meaning of this field depends on the operation type.
1660 *
1661 * - Memory allocation: (@ref UCP_MEM_MAP_ALLOCATE flag is set) This field
1662 * specifies the type of memory to allocate. If it's not set (along with its
1663 * corresponding bit in the field_mask - @ref UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE),
1664 * @ref UCS_MEMORY_TYPE_HOST will be assumed by default.
1665 *
1666 * - Memory registration: This field specifies the type of memory which is
1667 * pointed by @ref ucp_mem_map_params.address. If it's not set (along with its
1668 * corresponding bit in the field_mask - @ref UCP_MEM_MAP_PARAM_FIELD_MEMORY_TYPE),
1669 * or set to @ref UCS_MEMORY_TYPE_UNKNOWN, the memory type will be detected
1670 * internally.
1671 */
1673
1688
1689
1703 size_t length;
1704};
1705
1706
1747typedef struct {
1754
1755 /* Operation specific flags. */
1756 uint32_t flags;
1757
1764 void *request;
1765
1770 union {
1775 } cb;
1776
1783
1788
1794
1803
1810 union {
1811 size_t *length; /* Length of received message in bytes.
1812 Relevant for non-tagged receive
1813 operations. */
1814 ucp_tag_recv_info_t *tag_info; /* Information about received message.
1815 Relevant for @a ucp_tag_recv_nbx
1816 function. */
1817 } recv_info;
1818
1827
1829
1830
1835typedef struct {
1841 uint64_t field_mask;
1842
1849
1856
1861
1867
1868
1874typedef struct ucp_am_handler_param {
1880 uint64_t field_mask;
1881
1886 unsigned id;
1887
1891 uint32_t flags;
1892
1898
1903 void *arg;
1905
1906
1917 uint64_t recv_attr;
1918
1923};
1924
1925
1937
1938
1965ucs_status_t ucp_config_read(const char *env_prefix, const char *filename,
1966 ucp_config_t **config_p);
1967
1968
1980
1981
1996 const char *value);
1997
1998
2014void ucp_config_print(const ucp_config_t *config, FILE *stream,
2015 const char *title, ucs_config_print_flags_t print_flags);
2016
2017
2028void ucp_get_version(unsigned *major_version, unsigned *minor_version,
2029 unsigned *release_number);
2030
2031
2039const char *ucp_get_version_string(void);
2040
2041
2050ucs_status_t ucp_init_version(unsigned api_major_version, unsigned api_minor_version,
2051 const ucp_params_t *params, const ucp_config_t *config,
2052 ucp_context_h *context_p);
2091static inline ucs_status_t ucp_init(const ucp_params_t *params,
2092 const ucp_config_t *config,
2093 ucp_context_h *context_p)
2094{
2095 return ucp_init_version(UCP_API_MAJOR, UCP_API_MINOR, params, config,
2096 context_p);
2097}
2098
2099
2118
2119
2134 ucp_context_attr_t *attr);
2135
2136
2159 const ucp_rkey_compare_params_t *params, int *result);
2160
2161
2173void ucp_context_print_info(const ucp_context_h context, FILE *stream);
2174
2175
2200 const ucp_worker_params_t *params,
2201 ucp_worker_h *worker_p);
2202
2203
2220
2221
2234 ucp_worker_attr_t *attr);
2235
2236
2247void ucp_worker_print_info(ucp_worker_h worker, FILE *stream);
2248
2249
2270
2271
2286
2287
2308
2309
2331 ucp_stream_poll_ep_t *poll_eps, size_t max_eps,
2332 unsigned flags);
2333
2334
2366
2367
2397
2398
2422void ucp_worker_wait_mem(ucp_worker_h worker, void *address);
2423
2424
2495
2496
2516
2517
2544 const ucp_listener_params_t *params,
2545 ucp_listener_h *listener_p);
2546
2547
2558
2559
2572
2573
2588
2589
2600
2601
2635 ucp_ep_h *ep_p);
2636
2637
2661 const ucp_request_param_t *param);
2662
2663
2681 ucp_conn_request_h conn_request);
2682
2683
2694void ucp_ep_print_info(ucp_ep_h ep, FILE *stream);
2695
2696
2746
2747
2762 const ucp_ep_evaluate_perf_param_t *param,
2764
2765
2841 ucp_mem_h *memh_p);
2842
2843
2872
2873
2888
2889
2906void ucp_mem_print_info(const char *mem_spec, ucp_context_h context,
2907 FILE *stream);
2908
2909
2917typedef enum ucp_mem_advice {
2924
2925
2940 uint64_t field_mask;
2941
2945 void *address;
2946
2950 size_t length;
2951
2957
2958
2979 ucp_mem_advise_params_t *params);
2980
2981
2997
2998
3015 UCP_MEMH_PACK_FLAG_EXPORT = UCS_BIT(0)
3017
3018
3027typedef struct ucp_memh_pack_params {
3033 uint64_t field_mask;
3034
3038 uint64_t flags;
3040
3041
3077 void **buffer_p, size_t *buffer_size_p);
3078
3079
3094 uint64_t field_mask;
3096
3097
3116void ucp_memh_buffer_release(void *buffer,
3117 const ucp_memh_buffer_release_params_t *params);
3118
3119
3142ucs_status_t ucp_ep_rkey_unpack(ucp_ep_h ep, const void *rkey_buffer,
3143 ucp_rkey_h *rkey_p);
3144
3145
3165ucs_status_t ucp_rkey_ptr(ucp_rkey_h rkey, uint64_t raddr, void **addr_p);
3166
3167
3190
3191
3213 const ucp_am_handler_param_t *param);
3214
3215
3269 const void *header, size_t header_length,
3270 const void *buffer, size_t count,
3271 const ucp_request_param_t *param);
3272
3273
3321 void *buffer, size_t count,
3322 const ucp_request_param_t *param);
3323
3324
3337void ucp_am_data_release(ucp_worker_h worker, void *data);
3338
3339
3366ucs_status_ptr_t ucp_stream_send_nbx(ucp_ep_h ep, const void *buffer, size_t count,
3367 const ucp_request_param_t *param);
3368
3369
3408ucs_status_ptr_t ucp_tag_send_nbx(ucp_ep_h ep, const void *buffer, size_t count,
3409 ucp_tag_t tag, const ucp_request_param_t *param);
3410
3411
3441 size_t count, ucp_tag_t tag,
3442 const ucp_request_param_t *param);
3443
3444
3480ucs_status_ptr_t ucp_stream_recv_nbx(ucp_ep_h ep, void *buffer, size_t count,
3481 size_t *length,
3482 const ucp_request_param_t *param);
3483
3484
3518
3519
3557ucs_status_ptr_t ucp_tag_recv_nbx(ucp_worker_h worker, void *buffer, size_t count,
3558 ucp_tag_t tag, ucp_tag_t tag_mask,
3559 const ucp_request_param_t *param);
3560
3561
3603 ucp_tag_t tag_mask, int remove,
3604 ucp_tag_recv_info_t *info);
3605
3606
3638 size_t count, ucp_tag_message_h message,
3639 const ucp_request_param_t *param);
3640
3641
3695ucs_status_ptr_t ucp_put_nbx(ucp_ep_h ep, const void *buffer, size_t count,
3696 uint64_t remote_addr, ucp_rkey_h rkey,
3697 const ucp_request_param_t *param);
3698
3699
3752ucs_status_ptr_t ucp_get_nbx(ucp_ep_h ep, void *buffer, size_t count,
3753 uint64_t remote_addr, ucp_rkey_h rkey,
3754 const ucp_request_param_t *param);
3755
3756
3824ucp_atomic_op_nbx(ucp_ep_h ep, ucp_atomic_op_t opcode, const void *buffer,
3825 size_t count, uint64_t remote_addr, ucp_rkey_h rkey,
3826 const ucp_request_param_t *param);
3827
3828
3842
3843
3861
3862
3880ucs_status_t ucp_stream_recv_request_test(void *request, size_t *length_p);
3881
3882
3902void ucp_request_cancel(ucp_worker_h worker, void *request);
3903
3904
3918
3919
3931void ucp_request_free(void *request);
3932
3933
3948
3949
3973 ucp_datatype_t *datatype_p);
3974
3975
3992
3993
4008
4009
4033
4034
4061 const ucp_request_param_t *param);
4062
4063
4076 UCP_EP_ATTR_FIELD_USER_DATA = UCS_BIT(4)
4078
4079
4087typedef struct ucp_ep_attr {
4094 uint64_t field_mask;
4095
4101
4108 struct sockaddr_storage local_sockaddr;
4109
4116 struct sockaddr_storage remote_sockaddr;
4117
4124
4131
4132
4145
4146
4155END_C_DECLS
4156
4157#endif
uint64_t field_mask
Definition ucp.h:1841
ucs_status_t status
Definition ucp.h:1860
ucs_memory_type_t mem_type
Definition ucp.h:1865
size_t debug_string_size
Definition ucp.h:1855
char * debug_string
Definition ucp.h:1848
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:775
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:677
ucp_op_attr_t
UCP operation fields and flags.
Definition ucp.h:712
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:759
ucp_stream_recv_flags_t
Flags to define behavior of ucp_stream_recv_nb function.
Definition ucp.h:694
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:805
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:776
@ UCP_AM_RECV_ATTR_FLAG_DATA
Definition ucp.h:785
@ UCP_AM_RECV_ATTR_FLAG_RNDV
Definition ucp.h:794
@ UCP_ATOMIC_OP_LAST
Definition ucp.h:684
@ UCP_ATOMIC_OP_ADD
Definition ucp.h:678
@ UCP_ATOMIC_OP_OR
Definition ucp.h:682
@ UCP_ATOMIC_OP_XOR
Definition ucp.h:683
@ UCP_ATOMIC_OP_AND
Definition ucp.h:681
@ UCP_ATOMIC_OP_CSWAP
Definition ucp.h:680
@ UCP_ATOMIC_OP_SWAP
Definition ucp.h:679
@ UCP_OP_ATTR_FIELD_FLAGS
Definition ucp.h:717
@ UCP_OP_ATTR_FIELD_DATATYPE
Definition ucp.h:716
@ UCP_OP_ATTR_FLAG_MULTI_SEND
Definition ucp.h:743
@ UCP_OP_ATTR_FLAG_FAST_CMPL
Definition ucp.h:729
@ UCP_OP_ATTR_FIELD_CALLBACK
Definition ucp.h:714
@ UCP_OP_ATTR_FIELD_MEMORY_TYPE
Definition ucp.h:719
@ UCP_OP_ATTR_FIELD_MEMH
Definition ucp.h:721
@ UCP_OP_ATTR_FLAG_NO_IMM_CMPL
Definition ucp.h:723
@ UCP_OP_ATTR_FIELD_REPLY_BUFFER
Definition ucp.h:718
@ UCP_OP_ATTR_FIELD_RECV_INFO
Definition ucp.h:720
@ UCP_OP_ATTR_FIELD_REQUEST
Definition ucp.h:713
@ UCP_OP_ATTR_FLAG_FORCE_IMM_CMPL
Definition ucp.h:739
@ UCP_OP_ATTR_FIELD_USER_DATA
Definition ucp.h:715
@ UCP_REQUEST_ATTR_FIELD_INFO_STRING
Definition ucp.h:760
@ UCP_REQUEST_ATTR_FIELD_MEM_TYPE
Definition ucp.h:763
@ UCP_REQUEST_ATTR_FIELD_STATUS
Definition ucp.h:762
@ UCP_REQUEST_ATTR_FIELD_INFO_STRING_SIZE
Definition ucp.h:761
@ UCP_STREAM_RECV_FLAG_WAITALL
Definition ucp.h:695
@ UCP_AM_HANDLER_PARAM_FIELD_ARG
Definition ucp.h:821
@ UCP_AM_HANDLER_PARAM_FIELD_ID
Definition ucp.h:809
@ UCP_AM_HANDLER_PARAM_FIELD_CB
Definition ucp.h:817
@ UCP_AM_HANDLER_PARAM_FIELD_FLAGS
Definition ucp.h:813
Attributes of a particular request.
Definition ucp.h:1835
size_t request_size
Definition ucp.h:1065
size_t estimated_num_eps
Definition ucp.h:1122
uint64_t field_mask
Definition ucp.h:1047
uint64_t tag_sender_mask
Definition ucp.h:1095
size_t estimated_num_ppn
Definition ucp.h:1132
const char * name
Definition ucp.h:1142
ucp_request_init_callback_t request_init
Definition ucp.h:1077
int mt_workers_shared
Definition ucp.h:1111
ucp_request_cleanup_callback_t request_cleanup
Definition ucp.h:1088
uint64_t features
Definition ucp.h:1055
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:1041
ucp_tag_t sender_tag
Definition ucp.h:1701
ucp_datatype_t datatype
Definition ucp.h:1782
ucs_thread_mode_t max_thread_level
Definition ucp.h:1168
ucs_thread_mode_t thread_mode
Definition ucp.h:1199
uint64_t field_mask
Definition ucp.h:1159
ucs_memory_type_t memory_type
Definition ucp.h:1802
uint32_t flags
Definition ucp.h:1756
uint64_t memory_types
Definition ucp.h:1205
size_t length
Definition ucp.h:1703
void * request
Definition ucp.h:1764
ucp_mem_h memh
Definition ucp.h:1826
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:1210
uint32_t op_attr_mask
Definition ucp.h:1753
size_t request_size
Definition ucp.h:1193
void * user_data
Definition ucp.h:1787
void * reply_buffer
Definition ucp.h:1793
uint64_t field_mask
Definition ucp.h:1186
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:2091
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:1179
Lib attributes.
Definition ucp.h:1152
Operation parameters passed to ucp_tag_send_nbx, ucp_tag_send_sync_nbx, ucp_tag_recv_nbx,...
Definition ucp.h:1747
UCP receive information descriptor.
Definition ucp.h:1699
size_t count
Definition ucp.h:1024
const void * buffer
Definition ucp.h:1016
size_t packed_size
Definition ucp.h:1008
uint64_t field_mask
Definition ucp.h:1003
void * buffer
Definition ucp.h:871
size_t length
Definition ucp.h:872
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:987
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:954
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:971
size_t(* packed_size)(void *state)
Get the total size of packed data.
Definition ucp.h:936
@ 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:997
Structure for scatter-gather I/O.
Definition ucp.h:870
uint8_t reserved[16]
Definition ucp.h:1597
unsigned flags
Definition ucp.h:1592
void * user_data
Definition ucp.h:1587
ucp_transports_t transports
Definition ucp.h:4123
void * user_data
Definition ucp.h:4129
uint64_t field_mask
Definition ucp.h:1459
uint64_t field_mask
Definition ucp.h:4094
struct sockaddr_storage remote_sockaddr
Definition ucp.h:4116
ucp_ep_h ep
Definition ucp.h:1581
size_t message_size
Definition ucp.h:1441
double estimated_time
Definition ucp.h:1466
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:4100
struct sockaddr_storage local_sockaddr
Definition ucp.h:4108
uint64_t field_mask
Definition ucp.h:1435
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:665
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:4071
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:666
@ 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:4075
@ UCP_EP_ATTR_FIELD_LOCAL_SOCKADDR
Definition ucp.h:4073
@ UCP_EP_ATTR_FIELD_REMOTE_SOCKADDR
Definition ucp.h:4074
@ UCP_EP_ATTR_FIELD_NAME
Definition ucp.h:4072
@ UCP_EP_ATTR_FIELD_USER_DATA
Definition ucp.h:4076
@ 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:4087
UCP endpoint performance evaluation result attributes.
Definition ucp.h:1452
UCP endpoint performance evaluation request attributes.
Definition ucp.h:1428
Tuning parameters for the UCP endpoint.
Definition ucp_def.h:683
Output parameter of ucp_stream_worker_poll function.
Definition ucp.h:1577
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:2940
ucp_mem_advice_t advice
Definition ucp.h:2955
uint64_t field_mask
Definition ucp.h:3094
size_t length
Definition ucp.h:2950
size_t length
Definition ucp.h:1636
uint64_t flags
Definition ucp.h:3038
unsigned flags
Definition ucp.h:1645
ucs_memory_type_t memory_type
Definition ucp.h:1672
uint64_t field_mask
Definition ucp.h:1288
uint64_t field_mask
Definition ucp.h:1615
uint64_t field_mask
Definition ucp.h:3033
void * address
Definition ucp.h:2945
void * address
Definition ucp.h:1627
const void * exported_memh_buffer
Definition ucp.h:1686
unsigned prot
Definition ucp.h:1654
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:2917
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:3006
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:2990
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_MEM_MAP_LOCK
Definition ucp.h:576
@ UCP_MADV_NORMAL
Definition ucp.h:2918
@ UCP_MADV_WILLNEED
Definition ucp.h:2919
@ 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:3015
@ UCP_MEMH_PACK_PARAM_FIELD_FLAGS
Definition ucp.h:2995
@ UCP_MEM_MAP_PROT_REMOTE_READ
Definition ucp.h:590
@ UCP_MEM_MAP_PROT_REMOTE_WRITE
Definition ucp.h:591
@ UCP_MEM_MAP_PROT_LOCAL_WRITE
Definition ucp.h:589
@ UCP_MEM_MAP_PROT_LOCAL_READ
Definition ucp.h:588
Tuning parameters for the UCP memory advice.
Definition ucp.h:2934
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:1608
Memory handle release parameters passed to ucp_memh_buffer_release.
Definition ucp.h:3089
Memory handle pack parameters passed to ucp_memh_pack.
Definition ucp.h:3027
Tuning parameters for the comparison function ucp_rkey_compare.
Definition ucp.h:1282
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:1891
ucp_listener_conn_handler_t conn_handler
Definition ucp.h:1567
ucp_address_t * address
Definition ucp.h:1250
ucp_listener_accept_handler_t accept_handler
Definition ucp.h:1554
void * user_data
Definition ucp.h:1345
char name[UCP_ENTITY_NAME_MAX]
Definition ucp.h:1265
uint64_t field_mask
Definition ucp.h:1305
uint64_t client_id
Definition ucp.h:1395
uint64_t recv_attr
Definition ucp.h:1917
uint64_t field_mask
Definition ucp.h:1412
ucp_ep_h reply_ep
Definition ucp.h:1922
uint64_t worker_uid
Definition ucp.h:1417
uint32_t address_flags
Definition ucp.h:1241
size_t max_am_header
Definition ucp.h:1260
ucs_thread_mode_t thread_mode
Definition ucp.h:1319
size_t max_debug_string
Definition ucp.h:1270
size_t address_length
Definition ucp.h:1255
const char * name
Definition ucp.h:1380
ucs_sock_addr_t sockaddr
Definition ucp.h:1546
unsigned events
Definition ucp.h:1337
struct sockaddr_storage client_address
Definition ucp.h:1513
uint64_t field_mask
Definition ucp.h:1880
uint64_t field_mask
Definition ucp.h:1483
size_t am_alignment
Definition ucp.h:1387
int event_fd
Definition ucp.h:1362
ucs_thread_mode_t thread_mode
Definition ucp.h:1233
ucp_am_recv_callback_t cb
Definition ucp.h:1897
unsigned id
Definition ucp.h:1886
uint64_t field_mask
Definition ucp.h:1507
uint64_t flags
Definition ucp.h:1370
void * arg
Definition ucp.h:1903
uint64_t field_mask
Definition ucp.h:1228
uint64_t field_mask
Definition ucp.h:1537
ucs_cpu_set_t cpu_mask
Definition ucp.h:1328
uint64_t client_id
Definition ucp.h:1519
struct sockaddr_storage sockaddr
Definition ucp.h:1489
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:601
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:624
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:613
@ UCP_AM_FLAG_WHOLE_MSG
Definition ucp.h:605
@ UCP_LISTENER_ATTR_FIELD_SOCKADDR
Definition ucp.h:480
@ UCP_AM_SEND_FLAG_COPY_HEADER
Definition ucp.h:646
@ UCP_AM_SEND_REPLY
Definition ucp.h:651
@ UCP_AM_SEND_FLAG_RNDV
Definition ucp.h:638
@ UCP_AM_SEND_FLAG_REPLY
Definition ucp.h:628
@ UCP_AM_SEND_FLAG_EAGER
Definition ucp.h:633
@ 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:1874
Operation parameters provided in ucp_am_recv_callback_t callback.
Definition ucp.h:1911
UCP listener's connection request attributes.
Definition ucp.h:1500
Definition ucp_compat.h:23
UCP listener attributes.
Definition ucp.h:1476
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:1530
UCP worker address attributes.
Definition ucp.h:1405
UCP worker attributes.
Definition ucp.h:1221
Tuning parameters for the UCP worker.
Definition ucp.h:1299
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
Definition types.h:151
UCP generic data type descriptor.
Definition ucp.h:889