UCX  1.14
Unified Communication X
UCT interface operations and capabilities

List of capabilities supported by UCX API. More...

Macros

#define UCT_IFACE_FLAG_AM_SHORT   UCS_BIT(0)
 
#define UCT_IFACE_FLAG_AM_BCOPY   UCS_BIT(1)
 
#define UCT_IFACE_FLAG_AM_ZCOPY   UCS_BIT(2)
 
#define UCT_IFACE_FLAG_PENDING   UCS_BIT(3)
 
#define UCT_IFACE_FLAG_PUT_SHORT   UCS_BIT(4)
 
#define UCT_IFACE_FLAG_PUT_BCOPY   UCS_BIT(5)
 
#define UCT_IFACE_FLAG_PUT_ZCOPY   UCS_BIT(6)
 
#define UCT_IFACE_FLAG_GET_SHORT   UCS_BIT(8)
 
#define UCT_IFACE_FLAG_GET_BCOPY   UCS_BIT(9)
 
#define UCT_IFACE_FLAG_GET_ZCOPY   UCS_BIT(10)
 
#define UCT_IFACE_FLAG_ATOMIC_CPU   UCS_BIT(30)
 
#define UCT_IFACE_FLAG_ATOMIC_DEVICE   UCS_BIT(31)
 
#define UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF   UCS_BIT(32)
 
#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF   UCS_BIT(33)
 
#define UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF   UCS_BIT(34)
 
#define UCT_IFACE_FLAG_ERRHANDLE_AM_ID   UCS_BIT(35)
 
#define UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM   UCS_BIT(36)
 
#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN   UCS_BIT(37)
 
#define UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE   UCS_BIT(38)
 
#define UCT_IFACE_FLAG_EP_CHECK   UCS_BIT(39)
 
#define UCT_IFACE_FLAG_CONNECT_TO_IFACE   UCS_BIT(40)
 
#define UCT_IFACE_FLAG_CONNECT_TO_EP   UCS_BIT(41)
 
#define UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR   UCS_BIT(42)
 
#define UCT_IFACE_FLAG_AM_DUP   UCS_BIT(43)
 
#define UCT_IFACE_FLAG_CB_SYNC   UCS_BIT(44)
 
#define UCT_IFACE_FLAG_CB_ASYNC   UCS_BIT(45)
 
#define UCT_IFACE_FLAG_EP_KEEPALIVE   UCS_BIT(46)
 
#define UCT_IFACE_FLAG_TAG_EAGER_SHORT   UCS_BIT(50)
 
#define UCT_IFACE_FLAG_TAG_EAGER_BCOPY   UCS_BIT(51)
 
#define UCT_IFACE_FLAG_TAG_EAGER_ZCOPY   UCS_BIT(52)
 
#define UCT_IFACE_FLAG_TAG_RNDV_ZCOPY   UCS_BIT(53)
 

Detailed Description

The definition list presents a full list of operations and capabilities exposed by UCX API.

Macro Definition Documentation

#define UCT_IFACE_FLAG_AM_SHORT   UCS_BIT(0)

Short active message

Examples:
uct_hello_world.c.
#define UCT_IFACE_FLAG_AM_BCOPY   UCS_BIT(1)

Buffered active message

Examples:
uct_hello_world.c.
#define UCT_IFACE_FLAG_AM_ZCOPY   UCS_BIT(2)

Zero-copy active message

Examples:
uct_hello_world.c.
#define UCT_IFACE_FLAG_PENDING   UCS_BIT(3)

Pending operations

#define UCT_IFACE_FLAG_PUT_SHORT   UCS_BIT(4)

Short put

#define UCT_IFACE_FLAG_PUT_BCOPY   UCS_BIT(5)

Buffered put

#define UCT_IFACE_FLAG_PUT_ZCOPY   UCS_BIT(6)

Zero-copy put

#define UCT_IFACE_FLAG_GET_SHORT   UCS_BIT(8)

Short get

#define UCT_IFACE_FLAG_GET_BCOPY   UCS_BIT(9)

Buffered get

#define UCT_IFACE_FLAG_GET_ZCOPY   UCS_BIT(10)

Zero-copy get

#define UCT_IFACE_FLAG_ATOMIC_CPU   UCS_BIT(30)

Atomic communications are consistent with respect to CPU operations.

#define UCT_IFACE_FLAG_ATOMIC_DEVICE   UCS_BIT(31)

Atomic communications are consistent only with respect to other atomics on the same device.

#define UCT_IFACE_FLAG_ERRHANDLE_SHORT_BUF   UCS_BIT(32)

Invalid buffer for short operation

#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_BUF   UCS_BIT(33)

Invalid buffer for buffered operation

#define UCT_IFACE_FLAG_ERRHANDLE_ZCOPY_BUF   UCS_BIT(34)

Invalid buffer for zero copy operation

#define UCT_IFACE_FLAG_ERRHANDLE_AM_ID   UCS_BIT(35)

Invalid AM id on remote

#define UCT_IFACE_FLAG_ERRHANDLE_REMOTE_MEM   UCS_BIT(36)

Remote memory access

#define UCT_IFACE_FLAG_ERRHANDLE_BCOPY_LEN   UCS_BIT(37)

Invalid length for buffered operation

#define UCT_IFACE_FLAG_ERRHANDLE_PEER_FAILURE   UCS_BIT(38)

Remote peer failures/outage

#define UCT_IFACE_FLAG_EP_CHECK   UCS_BIT(39)

Endpoint check

#define UCT_IFACE_FLAG_CONNECT_TO_IFACE   UCS_BIT(40)

Supports connecting to interface

Examples:
uct_hello_world.c.
#define UCT_IFACE_FLAG_CONNECT_TO_EP   UCS_BIT(41)

Supports connecting to specific endpoint

Examples:
uct_hello_world.c.
#define UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR   UCS_BIT(42)

Supports connecting to sockaddr

#define UCT_IFACE_FLAG_AM_DUP   UCS_BIT(43)

Active messages may be received with duplicates This happens if the transport does not keep enough information to detect retransmissions

#define UCT_IFACE_FLAG_CB_SYNC   UCS_BIT(44)

Interface supports setting a callback which is invoked only from the calling context of uct_worker_progress()

#define UCT_IFACE_FLAG_CB_ASYNC   UCS_BIT(45)

Interface supports setting a callback which will be invoked within a reasonable amount of time if uct_worker_progress() is not being called. The callback can be invoked from any progress context and it may also be invoked when uct_worker_progress() is called.

#define UCT_IFACE_FLAG_EP_KEEPALIVE   UCS_BIT(46)

Transport endpoint has built-in keepalive feature, which guarantees the error callback on the transport interface will be called if the communication channel with remote peer is broken, even if there are no outstanding send operations

#define UCT_IFACE_FLAG_TAG_EAGER_SHORT   UCS_BIT(50)

Hardware tag matching short eager support

#define UCT_IFACE_FLAG_TAG_EAGER_BCOPY   UCS_BIT(51)

Hardware tag matching bcopy eager support

#define UCT_IFACE_FLAG_TAG_EAGER_ZCOPY   UCS_BIT(52)

Hardware tag matching zcopy eager support

#define UCT_IFACE_FLAG_TAG_RNDV_ZCOPY   UCS_BIT(53)

Hardware tag matching rendezvous zcopy support