-
Notifications
You must be signed in to change notification settings - Fork 386
Provider Feature Matrix v1.17.x
Thomas Huber edited this page Dec 16, 2022
·
4 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 | psm3 | opx |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | psm3 | opx |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | psm3 | opx |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | psm3 | opx |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | psm3 | opx |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_ASYNC_IOV |
R | ||||||||||||
FI_BUFFERED_RECV |
|||||||||||||
FI_CONTEXT |
R | R | O | R | |||||||||
FI_CONTEXT2 |
R | ||||||||||||
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 | psm3 | opx |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | psm3 | opx |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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.