-
Notifications
You must be signed in to change notification settings - Fork 385
Provider Feature Matrix v1.7.x
Sean Hefty edited this page Apr 23, 2020
·
1 revision
The tables below indicate which features are supported by which in-tree libfabric providers. Please update the tables as appropriate if you see a box that hasn't been assessed or an incorrect mark in one of the boxes.
✓ = 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 | bgq | gni | mlx | nd | psm | psm2 | rxd | rxm | shm | sockets | tcp | udp | usnic | verbs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_EP_DGRAM |
❌ | ✓ | ❌ | ❌ | ✓ | ✓ | ❌ | ❌ | ❌ | ✓ | ✓ | ✓ | * | |
FI_EP_MSG |
❌ | ✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓ | ✓ | ❌ | * | ✓ |
FI_EP_RDM |
✓ | ✓ | * | U | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | U | U | * | U |
Primary Capabilities | bgq | gni | mlx | nd | psm | psm2 | rxd | rxm | shm | sockets | tcp | udp | usnic | verbs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_ATOMIC |
✓ | ✓ | ❌ | ❌ | ✓ | ✓ | ✓ | ❌ | ✓ | ✓ | ❌ | ❌ | ❌ | * |
FI_DIRECTED_RECV |
✓ | ✓ | ❌ | ❌ | ❌ | ✓ | ✓ | ✓ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ |
FI_MSG |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FI_MULTICAST |
? | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | * | ❌ | ❌ | |
FI_NAMED_RX_CTX |
✓ | ✓ | ❌ | ❌ | ❌ | ✓ | ❌ | ❌ | ❌ | ✓ | ❌ | ❌ | ❌ | |
FI_READ |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ✓ |
FI_RECV |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | * | ✓ |
FI_REMOTE_READ |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ✓ |
FI_REMOTE_WRITE |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ✓ |
FI_RMA |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | * |
FI_SEND |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | * | ✓ |
FI_TAGGED |
✓ | ✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ❌ | * |
FI_WRITE |
✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ❌ | ✓ |
FI_VARIABLE_MSG |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Secondary Capabilities | bgq | gni | mlx | nd | psm | psm2 | rxd | rxm | shm | sockets | tcp | udp | usnic | verbs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
:x | ✓ | ❌ | ❌ | ✓ | ✓ | ❌ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ |
Modes | bgq | gni | mlx | nd | psm | psm2 | rxd | rxm | shm | sockets | tcp | udp | usnic | verbs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_ASYNC_IOV |
R | |||||||||||||
FI_BUFFERED_RECV |
||||||||||||||
FI_CONTEXT |
R | R | R | R | R | O | ||||||||
FI_CONTEXT2 |
||||||||||||||
FI_LOCAL_MR (compat) |
R | O | R | R | ||||||||||
FI_MSG_PREFIX |
R | |||||||||||||
FI_NOTIFY_FLAGS_ONLY |
||||||||||||||
FI_RESTRICTED_COMP |
||||||||||||||
FI_RX_CQ_DATA |
O | R |
Memory Registration Modes | bgq | gni | mlx | nd | psm | psm2 | rxd | rxm | shm | sockets | tcp | udp | usnic | verbs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FI_MR_ALLOCATED |
R | C | R | |||||||||||
FI_MR_ENDPOINT |
||||||||||||||
FI_MR_LOCAL |
R | C | R | |||||||||||
FI_MR_PROV_KEY |
R | C | R | |||||||||||
FI_MR_MMU_NOTIFY |
||||||||||||||
FI_MR_RAW |
||||||||||||||
FI_MR_RMA_EVENT |
||||||||||||||
FI_MR_VIRT_ADDR |
R | C | R | |||||||||||
FI_MR_BASIC (compat) |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | O | ❌ | ✓ | ✓ | |
FI_MR_SCALABLE (compat) |
✓ | ✓ | ❌ | ❌ | ✓ | ✓ | C | ✓ | ✓ | O | ✓ | ❌ | ❌ |
Additional Features | bgq | gni | mlx | nd | psm | psm2 | rxd | rxm | shm | sockets | tcp | udp | usnic | verbs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FABRIC_DIRECT | ✓ | ✓ | ❌ | ❌ | ❌ | ✓ | ❌ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | |
FI_RM_ENABLED | ❌ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | * | ||
Scalable endpoints | ✓ | ✓ | ❌ | ❌ | ❌ | ✓ | ❌ | ❌ | ✓ | ❌ | ❌ | ❌ | ❌ | |
Counters (local operations) | ✓ | ✓ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ❌ | ✓ | ❌ | ❌ | ❌ | * |
Counters (remote operations) | ✓ | ✓ | ❌ | ❌ | ❌ |
Note: The mxm provider was deprecated and removed from libfabric. It has been replaced with the mlx provider.