UCX  1.8
Unified Communication X
ucp_compat.h
1 /*
2  * Copyright (C) Mellanox Technologies Ltd. 2001-2017. ALL RIGHTS RESERVED.
3  *
4  * See file LICENSE for terms.
5  */
6 
7 
8 #ifndef UCP_COMPAT_H_
9 #define UCP_COMPAT_H_
10 
11 
12 #include <ucp/api/ucp_def.h>
13 #include <ucs/sys/compiler_def.h>
14 
15 BEGIN_C_DECLS
16 
25  void *arg;
28 
29 
34 int ucp_request_is_completed(void *request);
35 
36 
41 void ucp_request_release(void *request);
42 
43 
48 void ucp_ep_destroy(ucp_ep_h ep);
49 
50 
56 
57 
72 
73 
79 
122 
123 
171 ucs_status_t ucp_put(ucp_ep_h ep, const void *buffer, size_t length,
172  uint64_t remote_addr, ucp_rkey_h rkey);
173 
174 
198 ucs_status_t ucp_get(ucp_ep_h ep, void *buffer, size_t length,
199  uint64_t remote_addr, ucp_rkey_h rkey);
200 
201 
228 ucs_status_t ucp_atomic_add32(ucp_ep_h ep, uint32_t add,
229  uint64_t remote_addr, ucp_rkey_h rkey);
230 
231 
258 ucs_status_t ucp_atomic_add64(ucp_ep_h ep, uint64_t add,
259  uint64_t remote_addr, ucp_rkey_h rkey);
260 
261 
292 ucs_status_t ucp_atomic_fadd32(ucp_ep_h ep, uint32_t add, uint64_t remote_addr,
293  ucp_rkey_h rkey, uint32_t *result);
294 
295 
326 ucs_status_t ucp_atomic_fadd64(ucp_ep_h ep, uint64_t add, uint64_t remote_addr,
327  ucp_rkey_h rkey, uint64_t *result);
328 
329 
359 ucs_status_t ucp_atomic_swap32(ucp_ep_h ep, uint32_t swap, uint64_t remote_addr,
360  ucp_rkey_h rkey, uint32_t *result);
361 
362 
392 ucs_status_t ucp_atomic_swap64(ucp_ep_h ep, uint64_t swap, uint64_t remote_addr,
393  ucp_rkey_h rkey, uint64_t *result);
394 
395 
426 ucs_status_t ucp_atomic_cswap32(ucp_ep_h ep, uint32_t compare, uint32_t swap,
427  uint64_t remote_addr, ucp_rkey_h rkey,
428  uint32_t *result);
429 
430 
461 ucs_status_t ucp_atomic_cswap64(ucp_ep_h ep, uint64_t compare, uint64_t swap,
462  uint64_t remote_addr, ucp_rkey_h rkey,
463  uint64_t *result);
464 
465 
500 
501 
502 END_C_DECLS
503 
504 #endif
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:516
ucs_status_ptr_t ucp_ep_modify_nb(ucp_ep_h ep, const ucp_ep_params_t *params)
Modify endpoint parameters.
UCP receive information descriptor.
Definition: ucp.h:1074
ucs_status_t ucp_atomic_cswap64(ucp_ep_h ep, uint64_t compare, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
Blocking atomic conditional swap (cswap) operation for 64 bit values.
ucs_status_t ucp_request_test(void *request, ucp_tag_recv_info_t *info)
int ucp_request_is_completed(void *request)
ucs_status_t ucp_put(ucp_ep_h ep, const void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
Blocking remote memory put operation.
ucs_status_t ucp_atomic_fadd64(ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
Blocking atomic fetch and add operation for 64 bit integers.
Definition: ucp_compat.h:23
ucs_status_t ucp_atomic_cswap32(ucp_ep_h ep, uint32_t compare, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
Blocking atomic conditional swap (cswap) operation for 32 bit values.
void * arg
Definition: ucp_compat.h:25
ucs_status_t ucp_get(ucp_ep_h ep, void *buffer, size_t length, uint64_t remote_addr, ucp_rkey_h rkey)
Blocking remote memory get operation.
ucs_status_t
Status codes.
Definition: status.h:45
ucs_status_t ucp_atomic_add32(ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey)
Blocking atomic add operation for 32 bit integers.
ucs_status_t ucp_ep_flush(ucp_ep_h ep)
void ucp_request_release(void *request)
ucs_status_ptr_t ucp_disconnect_nb(ucp_ep_h ep)
ucp_listener_accept_callback_t cb
Definition: ucp_compat.h:24
void ucp_ep_destroy(ucp_ep_h ep)
ucs_status_t ucp_atomic_swap32(ucp_ep_h ep, uint32_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
Blocking atomic swap operation for 32 bit values.
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:353
void * ucs_status_ptr_t
Status pointer.
Definition: status.h:106
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition: ucp_def.h:231
ucs_status_t ucp_atomic_swap64(ucp_ep_h ep, uint64_t swap, uint64_t remote_addr, ucp_rkey_h rkey, uint64_t *result)
Blocking atomic swap operation for 64 bit values.
ucs_status_t ucp_worker_flush(ucp_worker_h worker)
Flush outstanding AMO and RMA operations on the worker.
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition: ucp_def.h:83
struct ucp_listener_accept_handler ucp_listener_accept_handler_t
ucs_status_t ucp_atomic_add64(ucp_ep_h ep, uint64_t add, uint64_t remote_addr, ucp_rkey_h rkey)
Blocking atomic add operation for 64 bit integers.
struct ucp_rkey * ucp_rkey_h
UCP Remote memory handle.
Definition: ucp_def.h:143
ucs_status_t ucp_atomic_fadd32(ucp_ep_h ep, uint32_t add, uint64_t remote_addr, ucp_rkey_h rkey, uint32_t *result)
Blocking atomic fetch and add operation for 32 bit integers.