-
Notifications
You must be signed in to change notification settings - Fork 386
Provider Feature Matrix v1.10.x
aingerson edited this page Jul 8, 2020
·
3 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
(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 | gni | nd | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | usnic |
---|---|---|---|---|---|---|---|---|---|---|---|
FI_EP_DGRAM |
✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ✓ | * | ✓ | ✓ | |
FI_EP_MSG |
✓ | ✓ | ❌ | ❌ | ❌ | ❌ | ✓ | ❌ | ✓ | ❌ | ❌ |
FI_EP_RDM |
✓ | U | ✓ | ✓ | ✓ | ✓ | U | U | U | ✓ | U |
Primary Caps | gni | nd | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | usnic |
---|---|---|---|---|---|---|---|---|---|---|---|
FI_ATOMIC |
✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | * | ❌ | ❌ |
FI_COLLECTIVE |
✓ | ❌ | |||||||||
FI_DIRECTED_RECV |
✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ❌ | ✓ | ❌ |
FI_HMEM |
✓ | ❌ | |||||||||
FI_MSG |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_MULTICAST |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | * | ❌ | ❌ | ❌ | |
FI_NAMED_RX_CTX |
✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
FI_RMA |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | * | * | ❌ |
FI_TAGGED |
✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | * | * | ❌ |
FI_VARIABLE_MSG |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Primary Mods | gni | nd | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | usnic |
---|---|---|---|---|---|---|---|---|---|---|---|
FI_READ |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | ✓ | ❌ |
FI_RECV |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_REMOTE_READ |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | * | ❌ |
FI_REMOTE_WRITE |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | * | ❌ |
FI_SEND |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | * | ✓ |
FI_WRITE |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | * | ❌ |
Secondary Caps | gni | nd | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | usnic |
---|---|---|---|---|---|---|---|---|---|---|---|
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 |
✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
FI_RMA_PMEM |
❌ |
Modes | gni | nd | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | usnic |
---|---|---|---|---|---|---|---|---|---|---|---|
FI_ASYNC_IOV |
|||||||||||
FI_BUFFERED_RECV |
|||||||||||
FI_CONTEXT |
R | R | O | ||||||||
FI_CONTEXT2 |
|||||||||||
FI_LOCAL_MR (compat) |
R | O | R | R | |||||||
FI_MSG_PREFIX |
|||||||||||
FI_NOTIFY_FLAGS_ONLY |
|||||||||||
FI_RESTRICTED_COMP |
|||||||||||
FI_RX_CQ_DATA |
R |
MR Modes | gni | nd | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | usnic |
---|---|---|---|---|---|---|---|---|---|---|---|
FI_MR_ALLOCATED |
R | C | R | R | |||||||
FI_MR_ENDPOINT |
|||||||||||
FI_MR_LOCAL |
R | C | R | ||||||||
FI_MR_PROV_KEY |
R | C | R | R | |||||||
FI_MR_MMU_NOTIFY |
|||||||||||
FI_MR_RAW |
|||||||||||
FI_MR_RMA_EVENT |
|||||||||||
FI_MR_VIRT_ADDR |
R | C | O | R | R | ||||||
FI_MR_BASIC (compat) |
✓ | ✓ | ✓ | ✓ | ❌ | O | ❌ | ✓ | ✓ | ||
FI_MR_SCALABLE (compat) |
✓ | ❌ | ✓ | C | ✓ | O | ✓ | ❌ | ❌ | ❌ |
Additional Features | gni | nd | psm2 | rxd | rxm | shm | tcp | udp | verbs | efa | usnic |
---|---|---|---|---|---|---|---|---|---|---|---|
FABRIC_DIRECT | ✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
FI_RM_ENABLED | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | * | ❌ | ❌ | ||
Scalable endpoints | ✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
Counters (local operations) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | * | * | ❌ |
Counters (remote operations) | ✓ | ✓ | ✓ | ❌ | ❌ | ❌ |
Note: The following providers are supported and maintained, but feature frozen: bgq, psm, and sockets. See the v1.8 provider feature matrix for API support details. Out of tree and closed source providers are not listed. Please contact those vendors directly.