-
Notifications
You must be signed in to change notification settings - Fork 382
Provider Feature Matrix Main
Jianxin Xiong edited this page May 13, 2024
·
9 revisions
The tables below indicate which features are supported by which in-tree libfabric providers.
✓ = well supported
* = limited support (e.g., not supported for all endpoint types or not optimal for performance)
❌ = not supported
U = supported through utility provider(s)
R = required mode bit
O = optional mode bit
H = required mode bit for HMEM support
(no mark) = not applicable or not needed
? = provider hasn't been assessed yet for this feature
C = same as that of Core provider.
Endpoint Types | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | ucx | psm3 | opx | cxi |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_EP_DGRAM |
✓ | ❌ | ❌ | ❌ | ❌ | ✓ | * | ✓ | ❌ | ✓ | * | ❌ |
FI_EP_MSG |
❌ | ❌ | ❌ | ❌ | ✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ |
FI_EP_RDM |
✓ | ✓ | ✓ | ✓ | ✓ | U | U | ✓ | ✓ | ✓ | ✓ | ✓ |
Primary Caps | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | ucx | psm3 | opx | cxi |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_ATOMIC |
✓ | ✓ | ✓ | ✓ | ❌ | ❌ | * | ❌ | ❌ | ✓ | ✓ | ✓ |
FI_COLLECTIVE |
✓ | ❌ | ❌ | ✓ | ||||||||
FI_DIRECTED_RECV |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ✓ | ❌ | ✓ | ✓ | ✓ |
FI_HMEM |
❌ | ❌ | ✓ | ✓ | ❌ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_MSG |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_MULTICAST |
❌ | ❌ | ❌ | ❌ | ❌ | * | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
FI_NAMED_RX_CTX |
✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓ | ❌ | ✓ |
FI_RMA |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | * | * | ✓ | ✓ | ✓ | ✓ |
FI_TAGGED |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | * | * | ✓ | ✓ | ✓ | ✓ |
Primary Mods | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | ucx | psm3 | opx | cxi |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_READ |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_RECV |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_REMOTE_READ |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | * | ✓ | ✓ | ✓ | ✓ |
FI_REMOTE_WRITE |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | * | ✓ | ✓ | ✓ | ✓ |
FI_SEND |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | * | ✓ | ✓ | ✓ | ✓ |
FI_WRITE |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | * | ✓ | ✓ | ✓ | ✓ |
Secondary Caps | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | ucx | psm3 | opx | cxi |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_FENCE |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓ |
FI_LOCAL_COMM |
✓ | C | C | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_MULTI_RECV |
✓ | ✓ | ✓ | ✓ | ✓ | ❌ | * | ✓ | ✓ | ✓ | * | ✓ |
FI_REMOTE_COMM |
✓ | ✓ | C | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_RMA_EVENT |
✓ | ✓ | ❌ | ✓ | ✓ | ❌ | ❌ | ❌ | ✓ | ? | ✓ | |
FI_RMA_PMEM |
❌ | ❌ | ❌ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
FI_SHARED_AV |
✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓ | ? | ❌ | ||
FI_SOURCE |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | ❌ | ✓ | ✓ | ✓ |
FI_SOURCE_ERR |
✓ | ? | ❌ | ❌ | ? | ? | * | ❌ | ✓ | ? | ✓ | |
FI_TRIGGER |
✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓ | ? | ✓ |
Modes | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | ucx | psm3 | opx | cxi |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_ASYNC_IOV |
R | |||||||||||
FI_BUFFERED_RECV |
||||||||||||
FI_CONTEXT |
R | O | R | |||||||||
FI_CONTEXT2 |
R | |||||||||||
FI_LOCAL_MR (compat) |
O | R | ||||||||||
FI_MSG_PREFIX |
||||||||||||
FI_RX_CQ_DATA |
R |
MR Modes | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | ucx | psm3 | opx | cxi |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_MR_ALLOCATED |
C | R | R | R | O | |||||||
FI_MR_ENDPOINT |
R | |||||||||||
FI_MR_HMEM |
H | |||||||||||
FI_MR_LOCAL |
C | R | ||||||||||
FI_MR_PROV_KEY |
C | R | R | R | O | |||||||
FI_MR_MMU_NOTIFY |
||||||||||||
FI_MR_RAW |
R | |||||||||||
FI_MR_RMA_EVENT |
||||||||||||
FI_MR_VIRT_ADDR |
C | O | R | R | R | |||||||
FI_MR_BASIC (compat) |
✓ | ✓ | ❌ | O | ❌ | ✓ | ✓ | ✓ | ✓ | |||
FI_MR_SCALABLE (compat) |
✓ | C | ✓ | O | ✓ | ❌ | ❌ | ❌ | ✓ | ✓ |
Additional Features | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | ucx | psm3 | opx | cxi |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FABRIC_DIRECT | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓ | ✓ | ❌ | |
FI_RM_ENABLED | ✓ | ✓ | ✓ | ✓ | ✓ | * | ❌ | ❌ | ✓ | ✓ | ✓ | |
Scalable endpoints | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓ | ❌ | ❌ | |
Counters (local operations) | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | * | * | ✓ | ✓ | ✓ | ✓ |
Counters (remote operations) | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ✓ | ✓ | ✓ |