1fi_efa(7)                      Libfabric v1.10.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_MAX_CACHED_COUNT
121              Sets  the  maximum  number  of  memory registrations that can be
122              cached at any time.
123
124       FI_EFA_MR_MAX_CACHED_SIZE
125              Sets the maximum amount of memory that cached  memory  registra‐
126              tions can hold onto at any time.
127
128       FI_EFA_MAX_MEMCPY_SIZE
129              Threshold  size switch between using memory copy into a pre-reg‐
130              istered bounce buffer and memory registration on the  user  buf‐
131              fer.
132
133       FI_EFA_MTU_SIZE
134              Overrides the default MTU size of the device.
135
136       FI_EFA_RX_COPY_UNEXP
137              Enables the use of a separate pool of bounce-buffers to copy un‐
138              expected messages out of the pre-posted receive buffers.
139
140       FI_EFA_RX_COPY_OOO
141              Enables the use of a separate pool  of  bounce-buffers  to  copy
142              out-of-order RTS packets out of the pre-posted receive buffers.
143
144       FI_EFA_MAX_TIMEOUT
145              Maximum  timeout (us) for backoff to a peer after a receiver not
146              ready error.
147
148       FI_EFA_TIMEOUT_INTERVAL
149              Time interval (us) for the base timeout to use  for  exponential
150              backoff to a peer after a receiver not ready error.
151
152       FI_EFA_ENABLE_SHM_TRANSFER
153              Enable  SHM provider to provide the communication across all in‐
154              tra-node processes.  SHM transfer will be disabled in  the  case
155              where  ptrace protection  is  turned on.  You can turn it off to
156              enable shm transfer.
157
158       FI_EFA_SHM_AV_SIZE
159              Defines the maximum number of entries in SHM provider's  address
160              vector.
161
162       FI_EFA_SHM_MAX_MEDIUM_SIZE
163              Defines  the switch point between small/medium message and large
164              message.  The message larger than  this  switch  point  will  be
165              transferred with large message protocol.
166
167       FI_EFA_INTER_MAX_MEDIUM_MESSAGE_SIZE
168              The  maximum  size  for  inter  EFA messages to be sent by using
169              medium message protocol.  Messages which can fit in  one  packet
170              will be sent as eager message.  Messages whose sizes are smaller
171              than this value will be  sent  using  medium  message  protocol.
172              Other  messages will be sent using CTS based long message proto‐
173              col.
174

SEE ALSO

176       fabric(7), fi_provider(7), fi_getinfo(3)
177

AUTHORS

179       OpenFabrics.
180
181
182
183Libfabric Programmer's Manual     2020-04-22                         fi_efa(7)
Impressum