UCX  1.9
Unified Communication X
ucp_def.h
1 /*
2 * Copyright (C) Mellanox Technologies Ltd. 2001-2014. ALL RIGHTS RESERVED.
3 * Copyright (C) UT-Battelle, LLC. 2014-2015. ALL RIGHTS RESERVED.
4 * Copyright (C) IBM 2015. ALL RIGHTS RESERVED.
5 * Copyright (C) Los Alamos National Security, LLC. 2018. ALL RIGHTS RESERVED.
6 *
7 * See file LICENSE for terms.
8 */
9 
10 #ifndef UCP_DEF_H_
11 #define UCP_DEF_H_
12 
13 #include <ucs/type/status.h>
14 #include <ucs/config/types.h>
15 #include <stddef.h>
16 #include <stdint.h>
17 
18 
29 
30 
51 typedef struct ucp_context *ucp_context_h;
52 
53 
68 typedef struct ucp_config ucp_config_t;
69 
70 
83 typedef struct ucp_ep *ucp_ep_h;
84 
85 
93 typedef struct ucp_conn_request *ucp_conn_request_h;
94 
95 
103 typedef struct ucp_address ucp_address_t;
104 
105 
112 typedef enum {
131 
132 
143 typedef struct ucp_rkey *ucp_rkey_h;
144 
145 
158 typedef struct ucp_mem *ucp_mem_h;
159 
160 
168 typedef struct ucp_listener *ucp_listener_h;
169 
170 
176 typedef struct ucp_mem_attr {
182  uint64_t field_mask;
183 
187  void *address;
188 
192  size_t length;
194 
195 
206 };
207 
208 
231  typedef struct ucp_worker *ucp_worker_h;
232 
233 
242 typedef uint64_t ucp_tag_t;
243 
244 
253 typedef struct ucp_recv_desc *ucp_tag_message_h;
254 
255 
263 typedef uint64_t ucp_datatype_t;
264 
265 
274 typedef void (*ucp_request_init_callback_t)(void *request);
275 
276 
286 typedef void (*ucp_request_cleanup_callback_t)(void *request);
287 
288 
304 typedef void (*ucp_send_callback_t)(void *request, ucs_status_t status);
305 
306 
324 typedef void (*ucp_send_nbx_callback_t)(void *request, ucs_status_t status,
325  void *user_data);
326 
327 
341 typedef void (*ucp_err_handler_cb_t)(void *arg, ucp_ep_h ep, ucs_status_t status);
342 
343 
350 typedef struct ucp_err_handler {
353  void *arg;
358 
359 
374 typedef void (*ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg);
375 
376 
390 typedef void
392 
393 
412  void *arg;
415 
416 
432 typedef void (*ucp_stream_recv_callback_t)(void *request, ucs_status_t status,
433  size_t length);
434 
435 
454 typedef void (*ucp_stream_recv_nbx_callback_t)(void *request, ucs_status_t status,
455  size_t length, void *user_data);
456 
457 
477 typedef void (*ucp_tag_recv_callback_t)(void *request, ucs_status_t status,
478  ucp_tag_recv_info_t *info);
479 
480 
502 typedef void (*ucp_tag_recv_nbx_callback_t)(void *request, ucs_status_t status,
503  const ucp_tag_recv_info_t *tag_info,
504  void *user_data);
505 
506 
521  UCP_WAKEUP_RMA = UCS_BIT(0),
522  UCP_WAKEUP_AMO = UCS_BIT(1),
523  UCP_WAKEUP_TAG_SEND = UCS_BIT(2),
524  UCP_WAKEUP_TAG_RECV = UCS_BIT(3),
525  UCP_WAKEUP_TX = UCS_BIT(10),
532  UCP_WAKEUP_RX = UCS_BIT(11),
537  UCP_WAKEUP_EDGE = UCS_BIT(16)
542 
543 
575 typedef ucs_status_t (*ucp_am_callback_t)(void *arg, void *data, size_t length,
576  ucp_ep_h reply_ep, unsigned flags);
577 
578 
586 typedef struct ucp_ep_params {
593  uint64_t field_mask;
594 
602 
608 
613 
618  void *user_data;
619 
627  unsigned flags;
628 
637 
647 
649 
650 
651 #endif
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:586
Definition: ucp_def.h:121
UCP receive information descriptor.
Definition: ucp.h:1189
struct ucp_mem * ucp_mem_h
UCP Memory handle.
Definition: ucp_def.h:158
UCP endpoint error handling context.
Definition: ucp_def.h:350
void(* ucp_tag_recv_callback_t)(void *request, ucs_status_t status, ucp_tag_recv_info_t *info)
Completion callback for non-blocking tag receives.
Definition: ucp_def.h:477
uint64_t ucp_datatype_t
UCP Datatype Identifier.
Definition: ucp_def.h:263
void(* ucp_stream_recv_callback_t)(void *request, ucs_status_t status, size_t length)
Completion callback for non-blocking stream oriented receives.
Definition: ucp_def.h:432
ucp_wakeup_event_types
UCP worker wakeup events mask.
Definition: ucp_def.h:520
struct ucp_mem_attr ucp_mem_attr_t
Attributes of the UCP Memory handle, filled by ucp_mem_query function.
uint64_t field_mask
Definition: ucp_def.h:182
void(* ucp_listener_conn_callback_t)(ucp_conn_request_h conn_request, void *arg)
A callback for handling of incoming connection request conn_request from a client.
Definition: ucp_def.h:391
struct ucp_context * ucp_context_h
UCP Application Context.
Definition: ucp_def.h:51
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:502
ucs_sock_addr_t sockaddr
Definition: ucp_def.h:636
struct ucp_conn_request * ucp_conn_request_h
UCP connection request.
Definition: ucp_def.h:93
unsigned flags
Definition: ucp_def.h:627
Definition: ucp_def.h:525
ucp_err_handler_cb_t cb
Definition: ucp_def.h:351
void(* ucp_err_handler_cb_t)(void *arg, ucp_ep_h ep, ucs_status_t status)
Callback to process peer failure.
Definition: ucp_def.h:341
Definition: ucp_def.h:204
struct ucp_listener * ucp_listener_h
UCP listen handle.
Definition: ucp_def.h:168
void(* ucp_request_cleanup_callback_t)(void *request)
Request cleanup callback.
Definition: ucp_def.h:286
struct ucp_listener_conn_handler ucp_listener_conn_handler_t
UCP callback to handle the connection request in a client-server connection establishment flow.
void * arg
Definition: ucp_def.h:412
Definition: ucp_def.h:205
ucp_listener_conn_callback_t cb
Definition: ucp_def.h:411
Attributes of the UCP Memory handle, filled by ucp_mem_query function.
Definition: ucp_def.h:176
void * arg
Definition: ucp_def.h:353
uint64_t field_mask
Definition: ucp_def.h:593
ucp_mem_attr_field
UCP Memory handle attributes field mask.
Definition: ucp_def.h:203
void(* ucp_send_nbx_callback_t)(void *request, ucs_status_t status, void *user_data)
Completion callback for non-blocking sends ucp_tag_send_nbx call.
Definition: ucp_def.h:324
Definition: ucp_def.h:521
void(* ucp_request_init_callback_t)(void *request)
Request initialization callback.
Definition: ucp_def.h:274
struct ucp_ep_params ucp_ep_params_t
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:532
ucs_status_t
Status codes.
Definition: status.h:45
struct ucp_address ucp_address_t
UCP worker address.
Definition: ucp_def.h:103
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:454
void(* ucp_send_callback_t)(void *request, ucs_status_t status)
Completion callback for non-blocking sends.
Definition: ucp_def.h:304
ucp_conn_request_h conn_request
Definition: ucp_def.h:646
struct ucp_config ucp_config_t
UCP configuration descriptor.
Definition: ucp_def.h:68
struct ucp_recv_desc * ucp_tag_message_h
UCP Message descriptor.
Definition: ucp_def.h:253
Definition: ucp_def.h:537
void(* ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg)
A callback for accepting client/server connections on a listener ucp_listener_h.
Definition: ucp_def.h:374
size_t length
Definition: ucp_def.h:192
void * address
Definition: ucp_def.h:187
uint64_t ucp_tag_t
UCP Tag Identifier.
Definition: ucp_def.h:242
const ucp_address_t * address
Definition: ucp_def.h:601
struct ucp_err_handler ucp_err_handler_t
UCP endpoint error handling context.
ucp_err_handling_mode_t err_mode
Definition: ucp_def.h:607
Definition: ucp_def.h:522
enum ucp_wakeup_event_types ucp_wakeup_event_t
UCP worker wakeup events mask.
ucp_err_handler_t err_handler
Definition: ucp_def.h:612
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition: ucp_def.h:231
void * user_data
Definition: ucp_def.h:618
Definition: ucp_def.h:524
ucp_err_handling_mode_t
Error handling mode for the UCP endpoint.
Definition: ucp_def.h:112
Definition: types.h:117
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition: ucp_def.h:83
UCP callback to handle the connection request in a client-server connection establishment flow.
Definition: ucp_def.h:410
struct ucp_rkey * ucp_rkey_h
UCP Remote memory handle.
Definition: ucp_def.h:143
ucs_status_t(* ucp_am_callback_t)(void *arg, void *data, size_t length, ucp_ep_h reply_ep, unsigned flags)
Callback to process incoming Active Message.
Definition: ucp_def.h:575
Definition: ucp_def.h:523
Definition: ucp_def.h:113