UCX  1.10
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 
36 
37 
58 typedef struct ucp_context *ucp_context_h;
59 
60 
75 typedef struct ucp_config ucp_config_t;
76 
77 
90 typedef struct ucp_ep *ucp_ep_h;
91 
92 
100 typedef struct ucp_conn_request *ucp_conn_request_h;
101 
102 
110 typedef struct ucp_address ucp_address_t;
111 
112 
119 typedef enum {
138 
139 
150 typedef struct ucp_rkey *ucp_rkey_h;
151 
152 
165 typedef struct ucp_mem *ucp_mem_h;
166 
167 
175 typedef struct ucp_listener *ucp_listener_h;
176 
177 
183 typedef struct ucp_mem_attr {
189  uint64_t field_mask;
190 
194  void *address;
195 
199  size_t length;
201 
202 
213 };
214 
215 
238  typedef struct ucp_worker *ucp_worker_h;
239 
240 
249 typedef uint64_t ucp_tag_t;
250 
251 
260 typedef struct ucp_recv_desc *ucp_tag_message_h;
261 
262 
270 typedef uint64_t ucp_datatype_t;
271 
272 
281 typedef void (*ucp_request_init_callback_t)(void *request);
282 
283 
293 typedef void (*ucp_request_cleanup_callback_t)(void *request);
294 
295 
311 typedef void (*ucp_send_callback_t)(void *request, ucs_status_t status);
312 
313 
331 typedef void (*ucp_send_nbx_callback_t)(void *request, ucs_status_t status,
332  void *user_data);
333 
334 
348 typedef void (*ucp_err_handler_cb_t)(void *arg, ucp_ep_h ep, ucs_status_t status);
349 
350 
357 typedef struct ucp_err_handler {
360  void *arg;
365 
366 
381 typedef void (*ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg);
382 
383 
397 typedef void
399 
400 
419  void *arg;
422 
423 
439 typedef void (*ucp_stream_recv_callback_t)(void *request, ucs_status_t status,
440  size_t length);
441 
442 
461 typedef void (*ucp_stream_recv_nbx_callback_t)(void *request, ucs_status_t status,
462  size_t length, void *user_data);
463 
464 
484 typedef void (*ucp_tag_recv_callback_t)(void *request, ucs_status_t status,
485  ucp_tag_recv_info_t *info);
486 
487 
509 typedef void (*ucp_tag_recv_nbx_callback_t)(void *request, ucs_status_t status,
510  const ucp_tag_recv_info_t *tag_info,
511  void *user_data);
512 
513 
531 typedef void (*ucp_am_recv_data_nbx_callback_t)(void *request,
532  ucs_status_t status,
533  size_t length, void *user_data);
534 
535 
550  UCP_WAKEUP_RMA = UCS_BIT(0),
551  UCP_WAKEUP_AMO = UCS_BIT(1),
552  UCP_WAKEUP_TAG_SEND = UCS_BIT(2),
553  UCP_WAKEUP_TAG_RECV = UCS_BIT(3),
554  UCP_WAKEUP_TX = UCS_BIT(10),
561  UCP_WAKEUP_RX = UCS_BIT(11),
566  UCP_WAKEUP_EDGE = UCS_BIT(16)
571 
572 
604 typedef ucs_status_t (*ucp_am_callback_t)(void *arg, void *data, size_t length,
605  ucp_ep_h reply_ep, unsigned flags);
606 
607 
660 typedef ucs_status_t (*ucp_am_recv_callback_t)(void *arg, const void *header,
661  size_t header_length,
662  void *data, size_t length,
663  const ucp_am_recv_param_t *param);
664 
665 
673 typedef struct ucp_ep_params {
680  uint64_t field_mask;
681 
689 
695 
700 
705  void *user_data;
706 
714  unsigned flags;
715 
724 
734 
736 
737 
738 #endif
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:673
Definition: ucp_def.h:128
UCP receive information descriptor.
Definition: ucp.h:1316
struct ucp_mem * ucp_mem_h
UCP Memory handle.
Definition: ucp_def.h:165
UCP endpoint error handling context.
Definition: ucp_def.h:357
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:484
uint64_t ucp_datatype_t
UCP Datatype Identifier.
Definition: ucp_def.h:270
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:439
ucp_wakeup_event_types
UCP worker wakeup events mask.
Definition: ucp_def.h:549
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:189
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:398
struct ucp_context * ucp_context_h
UCP Application Context.
Definition: ucp_def.h:58
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:509
ucs_sock_addr_t sockaddr
Definition: ucp_def.h:723
struct ucp_conn_request * ucp_conn_request_h
UCP connection request.
Definition: ucp_def.h:100
unsigned flags
Definition: ucp_def.h:714
Definition: ucp_def.h:554
ucp_err_handler_cb_t cb
Definition: ucp_def.h:358
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:348
Definition: ucp_def.h:211
struct ucp_listener * ucp_listener_h
UCP listen handle.
Definition: ucp_def.h:175
void(* ucp_request_cleanup_callback_t)(void *request)
Request cleanup callback.
Definition: ucp_def.h:293
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:419
Definition: ucp_def.h:212
ucp_listener_conn_callback_t cb
Definition: ucp_def.h:418
Attributes of the UCP Memory handle, filled by ucp_mem_query function.
Definition: ucp_def.h:183
void * arg
Definition: ucp_def.h:360
uint64_t field_mask
Definition: ucp_def.h:680
ucp_mem_attr_field
UCP Memory handle attributes field mask.
Definition: ucp_def.h:210
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:331
Definition: ucp_def.h:550
void(* ucp_request_init_callback_t)(void *request)
Request initialization callback.
Definition: ucp_def.h:281
struct ucp_ep_params ucp_ep_params_t
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:561
ucs_status_t
Status codes.
Definition: status.h:45
struct ucp_address ucp_address_t
UCP worker address.
Definition: ucp_def.h:110
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:461
void(* ucp_send_callback_t)(void *request, ucs_status_t status)
Completion callback for non-blocking sends.
Definition: ucp_def.h:311
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:660
ucp_conn_request_h conn_request
Definition: ucp_def.h:733
struct ucp_config ucp_config_t
UCP configuration descriptor.
Definition: ucp_def.h:75
Operation parameters provided in ucp_am_recv_callback_t callback.
Definition: ucp.h:1479
struct ucp_recv_desc * ucp_tag_message_h
UCP Message descriptor.
Definition: ucp_def.h:260
Definition: ucp_def.h:566
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:381
size_t length
Definition: ucp_def.h:199
void * address
Definition: ucp_def.h:194
uint64_t ucp_tag_t
UCP Tag Identifier.
Definition: ucp_def.h:249
const ucp_address_t * address
Definition: ucp_def.h:688
struct ucp_err_handler ucp_err_handler_t
UCP endpoint error handling context.
ucp_err_handling_mode_t err_mode
Definition: ucp_def.h:694
Definition: ucp_def.h:551
enum ucp_wakeup_event_types ucp_wakeup_event_t
UCP worker wakeup events mask.
ucp_err_handler_t err_handler
Definition: ucp_def.h:699
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition: ucp_def.h:238
void * user_data
Definition: ucp_def.h:705
Definition: ucp_def.h:553
ucp_err_handling_mode_t
Error handling mode for the UCP endpoint.
Definition: ucp_def.h:119
Definition: types.h:118
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition: ucp_def.h:90
UCP callback to handle the connection request in a client-server connection establishment flow.
Definition: ucp_def.h:417
struct ucp_rkey * ucp_rkey_h
UCP Remote memory handle.
Definition: ucp_def.h:150
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:604
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:531
Definition: ucp_def.h:552
Definition: ucp_def.h:120