UCX  1.5
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 
17 
24  void *arg;
27 
28 
33 int ucp_request_is_completed(void *request);
34 
35 
40 void ucp_request_release(void *request);
41 
42 
47 void ucp_ep_destroy(ucp_ep_h ep);
48 
49 
55 
56 
71 
72 
78 
121 
122 
170 ucs_status_t ucp_put(ucp_ep_h ep, const void *buffer, size_t length,
171  uint64_t remote_addr, ucp_rkey_h rkey);
172 
173 
197 ucs_status_t ucp_get(ucp_ep_h ep, void *buffer, size_t length,
198  uint64_t remote_addr, ucp_rkey_h rkey);
199 
200 
227 ucs_status_t ucp_atomic_add32(ucp_ep_h ep, uint32_t add,
228  uint64_t remote_addr, ucp_rkey_h rkey);
229 
230 
257 ucs_status_t ucp_atomic_add64(ucp_ep_h ep, uint64_t add,
258  uint64_t remote_addr, ucp_rkey_h rkey);
259 
260 
291 ucs_status_t ucp_atomic_fadd32(ucp_ep_h ep, uint32_t add, uint64_t remote_addr,
292  ucp_rkey_h rkey, uint32_t *result);
293 
294 
325 ucs_status_t ucp_atomic_fadd64(ucp_ep_h ep, uint64_t add, uint64_t remote_addr,
326  ucp_rkey_h rkey, uint64_t *result);
327 
328 
358 ucs_status_t ucp_atomic_swap32(ucp_ep_h ep, uint32_t swap, uint64_t remote_addr,
359  ucp_rkey_h rkey, uint32_t *result);
360 
361 
391 ucs_status_t ucp_atomic_swap64(ucp_ep_h ep, uint64_t swap, uint64_t remote_addr,
392  ucp_rkey_h rkey, uint64_t *result);
393 
394 
425 ucs_status_t ucp_atomic_cswap32(ucp_ep_h ep, uint32_t compare, uint32_t swap,
426  uint64_t remote_addr, ucp_rkey_h rkey,
427  uint32_t *result);
428 
429 
460 ucs_status_t ucp_atomic_cswap64(ucp_ep_h ep, uint64_t compare, uint64_t swap,
461  uint64_t remote_addr, ucp_rkey_h rkey,
462  uint64_t *result);
463 
464 
499 
500 
501 END_C_DECLS
502 
503 #endif
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:480
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:937
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:22
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:24
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:43
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:23
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:352
BEGIN_C_DECLS struct ucp_listener_accept_handler ucp_listener_accept_handler_t
void * ucs_status_ptr_t
Status pointer.
Definition: status.h:102
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition: ucp_def.h:230
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:82
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:142
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.