1fi_efa(7)                      Libfabric v1.8.0                      fi_efa(7)
2
3
4

NAME

6       fi_efa - The Amazon Elastic Fabric Adapter (EFA) Provider
7

OVERVIEW

9       The  EFA  provider  supports the Elastic Fabric Adapter (EFA) device on
10       Amazon EC2.  EFA provides reliable and unreliable datagram send/receive
11       with direct hardware access from userspace (OS bypass).
12

SUPPORTED FEATURES

14       The following features are supported:
15
16       Endpoint types
17              The  provider  supports endpoint type FI_EP_DGRAM, and FI_EP_RDM
18              on a new Scalable (unordered) Reliable Datagram protocol  (SRD).
19              SRD  provides  support  for reliable datagrams and more complete
20              error handling than typically seen with other Reliable  Datagram
21              (RD)  implementations.   The EFA provider provides segmentation,
22              reassembly of out-of-order packets  to  provide  send-after-send
23              ordering guarantees to applications via its FI_EP_RDM endpoint.
24
25       RDM Endpoint capabilities
26              The  following  data  transfer  interfaces are supported via the
27              FI_EP_RDM endpoint: FI_MSG,  FI_TAGGED,  and  FI_RMA.   FI_SEND,
28              FI_RECV, FI_DIRECTED_RECV, FI_MULTI_RECV, and FI_SOURCE capabil‐
29              ities are  supported.   The  endpoint  provides  send-after-send
30              guarantees for data operations.  The FI_EP_RDM endpoint does not
31              have a maximum message size.
32
33       DGRAM Endpoint capabilities
34              The DGRAM endpoint only supports FI_MSG capability with a  maxi‐
35              mum message size of the MTU of the underlying hardware (approxi‐
36              mately 8 KiB).
37
38       Address vectors
39              The provider supports FI_AV_TABLE and FI_AV_MAP  address  vector
40              types.  FI_EVENT is unsupported.
41
42       Completion events
43              The  provider  supports  FI_CQ_FORMAT_CONTEXT, FI_CQ_FORMAT_MSG,
44              and FI_CQ_FORMAT_DATA.  FI_CQ_FORMAT_TAGGED is supported on  the
45              RDM endpoint.  Wait objects are not currently supported.
46
47       Modes  The provider requires the use of FI_MSG_PREFIX when running over
48              the DGRAM endpoint, and requires FI_MR_LOCAL for all memory reg‐
49              istrations on the DGRAM endpoint.
50
51       Memory registration modes
52              The  RDM  endpoint  does not require memory registration and the
53              FI_EP_DGRAM endpoint only supports FI_MR_LOCAL.
54
55       Progress
56              The   RDM   endpoint   supports   both   FI_PROGRESS_AUTO    and
57              FI_PROGRESS_MANUAL,  with the default set to auto.  However, re‐
58              ceive side data buffers are not modified outside  of  completion
59              processing   routines.    The   DGRAM   endpoint  only  supports
60              FI_PROGRESS_MANUAL.
61
62       Threading
63              The RDM endpoint supports  FI_THREAD_SAFE,  the  DGRAM  endpoint
64              supports FI_THREAD_DOMAIN, i.e.  the provider is not thread safe
65              when using the DGRAM endpoint.
66

LIMITATIONS

68       The provider does not support FI_ATOMIC  interfaces.   For  RMA  opera‐
69       tions, completion events for RMA targets (FI_RMA_EVENT) is not support‐
70       ed.  The DGRAM endpoint does not fully protect against  resource  over‐
71       runs,  so resource management is disabled for this endpoint (FI_RM_DIS‐
72       ABLED).
73
74       No support for selective completions.
75
76       No support for counters.
77
78       No support for inject.
79

RUNTIME PARAMETERS

81       FI_EFA_TX_SIZE
82              Maximum number of transmit operations before  the  provider  re‐
83              turns  -FI_EAGAIN.   For  only  the RDM endpoint, this parameter
84              will cause transmit operations to be queued when this  value  is
85              set higher than the default and the transmit queue is full.
86
87       FI_EFA_RX_SIZE
88              Maximum number of receive operations before the provider returns
89              -FI_EAGAIN.
90
91       FI_EFA_TX_IOV_LIMIT
92              Maximum number of IOVs for a transmit operation.
93
94       FI_EFA_RX_IOV_LIMIT
95              Maximum number of IOVs for a receive operation.
96

RUNTIME PARAMETERS SPECIFIC TO RDM ENDPOINT

98       These OFI runtime parameters apply only to the RDM endpoint.
99
100       FI_EFA_RX_WINDOW_SIZE
101              Maximum number of MTU-sized messages that can be in flight  from
102              any single endpoint as part of long message data transfer.
103
104       FI_EFA_TX_QUEUE_SIZE
105              Depth  of  transmit  queue opened with the NIC.  This may not be
106              set to a value greater than what the NIC supports.
107
108       FI_EFA_RECVWIN_SIZE
109              Size of out of order reorder buffer (in messages).  Messages re‐
110              ceived out of this window will result in an error.
111
112       FI_EFA_CQ_SIZE
113              Size of any cq created, in number of entries.
114
115       FI_EFA_MR_CACHE_ENABLE
116              Enables using the mr cache and in-line registration instead of a
117              bounce buffer for iov's larger than  max_memcpy_size.   Defaults
118              to true.  When disabled, only uses a bounce buffer
119
120       FI_EFA_MR_CACHE_MERGE_REGIONS
121              Enables merging overlapping and adjacent memory registration re‐
122              gions.  Defaults to true.
123
124       FI_EFA_MR_MAX_CACHED_COUNT
125              Sets the maximum number of  memory  registrations  that  can  be
126              cached at any time.
127
128       FI_EFA_MR_MAX_CACHED_SIZE
129              Sets  the  maximum amount of memory that cached memory registra‐
130              tions can hold onto at any time.
131
132       FI_EFA_MAX_MEMCPY_SIZE
133              Threshold size switch between using memory copy into a  pre-reg‐
134              istered  bounce  buffer and memory registration on the user buf‐
135              fer.
136
137       FI_EFA_MTU_SIZE
138              Overrides the default MTU size of the device.
139
140       FI_EFA_RX_COPY_UNEXP
141              Enables the use of a separate pool of bounce-buffers to copy un‐
142              expected messages out of the pre-posted receive buffers.
143
144       FI_EFA_RX_COPY_OOO
145              Enables  the  use  of  a separate pool of bounce-buffers to copy
146              out-of-order RTS packets out of the pre-posted receive buffers.
147
148       FI_EFA_MAX_TIMEOUT
149              Maximum timeout (us) for backoff to a peer after a receiver  not
150              ready error.
151
152       FI_EFA_TIMEOUT_INTERVAL
153              Time  interval  (us) for the base timeout to use for exponential
154              backoff to a peer after a receiver not ready error.
155

SEE ALSO

157       fabric(7), fi_provider(7), fi_getinfo(3)
158

AUTHORS

160       OpenFabrics.
161
162
163
164Libfabric Programmer's Manual     2019-06-15                         fi_efa(7)
Impressum