Provider Feature Matrix v1.7.x - ofiwg/libfabric GitHub Wiki

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.


Key

✓ = well supported

* = limited support (e.g., not supported for all endpoint types or not optimal for performance)

:x: = 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 :x: :x: :x: :x: :x: :x: *
FI_EP_MSG :x: :x: :x: :x: :x: :x: :x: :x: *
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 :x: :x: :x: :x: :x: :x: *
FI_DIRECTED_RECV :x: :x: :x: :x: :x: :x: :x: :x:
FI_MSG :x:
FI_MULTICAST ? :x: :x: :x: :x: :x: :x: :x: :x: :x: * :x: :x:
FI_NAMED_RX_CTX :x: :x: :x: :x: :x: :x: :x: :x: :x:
FI_READ :x: :x: :x:
FI_RECV :x: *
FI_REMOTE_READ :x: :x: :x:
FI_REMOTE_WRITE :x: :x: :x:
FI_RMA :x: :x: :x: *
FI_SEND :x: *
FI_TAGGED :x: :x: :x: :x: *
FI_WRITE :x: :x: :x:
FI_VARIABLE_MSG :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x:
Secondary Capabilities bgq gni mlx nd psm psm2 rxd rxm shm sockets tcp udp usnic verbs
FI_FENCE :x: :x: :x: :x: :x: :x: :x: :x: :x: :x:
FI_LOCAL_COMM ? :x: C C :x:
FI_MULTI_RECV :x: :x: :x: :x: *
FI_REMOTE_COMM ? C :x:
FI_RMA_EVENT :x: :x: :x: :x: :x: :x: :x:
FI_RMA_PMEM :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x: :x:
FI_SHARED_AV :x: :x: :x: :x:
FI_SOURCE :x: :x: :x:
FI_SOURCE_ERR :x: ? :x: :x: ? ? ?
FI_TRIGGER :x :x: :x: :x: :x: :x: :x: :x: :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) :x: O :x:
FI_MR_SCALABLE (compat) :x: :x: C O :x: :x:
Additional Features bgq gni mlx nd psm psm2 rxd rxm shm sockets tcp udp usnic verbs
FABRIC_DIRECT :x: :x: :x: :x: :x: :x: :x: :x: :x:
FI_RM_ENABLED :x: :x: :x: *
Scalable endpoints :x: :x: :x: :x: :x: :x: :x: :x: :x:
Counters (local operations) :x: :x: :x: :x: :x: *
Counters (remote operations) :x: :x: :x:

Note: The mxm provider was deprecated and removed from libfabric. It has been replaced with the mlx provider.