UCX  1.5
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_EVENT_SEND_COMP   UCS_BIT(46)
 
#define UCT_IFACE_FLAG_EVENT_RECV   UCS_BIT(47)
 
#define UCT_IFACE_FLAG_EVENT_RECV_SIG   UCS_BIT(48)
 
#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_EVENT_SEND_COMP   UCS_BIT(46)

Event notification of send completion is supported

#define UCT_IFACE_FLAG_EVENT_RECV   UCS_BIT(47)

Event notification of tag and active message receive is supported

#define UCT_IFACE_FLAG_EVENT_RECV_SIG   UCS_BIT(48)

Event notification of signaled tag and active message is supported

#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