1fi_info(1)                     Libfabric v1.18.1                    fi_info(1)
2
3
4

NAME

6       fi_info - Simple utility to query for fabric interfaces
7

SYNOPSIS

9               fi_info [OPTIONS]
10

DESCRIPTION

12       The  fi_info  utility  can be used to query for available fabric inter‐
13       faces.  The utility supports filtering based on  a  number  of  options
14       such  as endpoint type, provider name, or supported modes.  Additional‐
15       ly, fi_info can also be used to discover the environment variables that
16       can  be  used  to tune provider specific parameters.  If no filters are
17       specified, then all available fabric interfaces for all  providers  and
18       endpoint types will be returned.
19

OPTIONS

21   Filtering
22       -n, –node=<NAME>
23              Node name or address used to filter interfaces.  Only interfaces
24              which can reach the given node or address will respond.
25
26       -P, –port=<PORT>
27              Port number used to filter interfaces.
28
29       -c, –caps=<CAP1|CAP2>..
30              Pipe separated list of capabilities used to  filter  interfaces.
31              Only  interfaces  supporting  all of the given capabilities will
32              respond.  For more  information  on  capabilities,  see  fi_get‐
33              info(3).
34
35       -m, –mode=<MOD1|MOD2>..
36              Pipe  separated  list  of modes used to filter interfaces.  Only
37              interfaces supporting all of the given modes will respond.   For
38              more information on, modes see fi_getinfo(3).
39
40       -t, –ep_type=<EPTYPE>
41              Specifies  the  type  of fabric interface communication desired.
42              For example, specifying FI_EP_DGRAM would return only interfaces
43              which support unreliable datagram.  For more information on end‐
44              point types, see fi_endpoint(3).
45
46       -a, –addr_format=<FMT>
47              Filter fabric interfaces by their address format.  For  example,
48              specifying FI_SOCKADDR_IN would return only interfaces which use
49              sockaddr_in structures for addressing.  For more information  on
50              address formats, see fi_getinfo(3).
51
52       -p, –provider=<PROV>
53              Filter  fabric interfaces by the provider implementation.  For a
54              list of providers, see the --list option.
55
56       -d, –domain=<DOMAIN>
57              Filter interfaces to only those with the given domain name.
58
59       -f, –fabric=<FABRIC>
60              Filter interfaces to only those with the given fabric name.
61
62   Discovery
63       -e, –env
64              List libfabric related environment variables which can  be  used
65              to enable extra configuration or tuning.
66
67       *-g [filter]
68              Same  as -e option, with output limited to environment variables
69              containing filter as a substring.
70
71       -l, –list
72              List available libfabric providers.
73
74       -v, –verbose
75              By default, fi_info will display a summary of each of the inter‐
76              faces discovered.  If the verbose option is enabled, then all of
77              the contents of the fi_info structure are displayed.   For  more
78              information  on the data contained in the fi_info structure, see
79              fi_getinfo(3).
80
81       –version
82              Display versioning information.
83

USAGE EXAMPLES

85              $ fi_info -p verbs -t FI_EP_DGRAM
86
87       This will respond with all fabric interfaces  that  use  endpoint  type
88       FI_EP_DGRAM with the verbs provider.
89
90              fi_info -c 'FI_MSG|FI_READ|FI_RMA'
91
92       This   will  respond  with  all  fabric  interfaces  that  can  support
93       FI_MSG|FI_READ|FI_RMA capabilities.
94

OUTPUT

96       By default fi_info will output a summary of the fabric interfaces  dis‐
97       covered:
98
99              $ ./fi_info -p verbs -t FI_EP_DGRAM
100              provider: verbs
101                  fabric: IB-0xfe80000000000000
102                  domain: mlx5_0-dgram
103                  version: 116.0
104                  type: FI_EP_DGRAM
105                  protocol: FI_PROTO_IB_UD
106
107              $ ./fi_info -p tcp
108              provider: tcp
109                  fabric: 192.168.7.0/24
110                  domain: eth0
111                  version: 116.0
112                  type: FI_EP_MSG
113                  protocol: FI_PROTO_SOCK_TCP
114
115       To see the full fi_info structure, specify the -v option.
116
117              fi_info:
118                  caps: [ FI_MSG, FI_RMA, FI_TAGGED, FI_ATOMIC, FI_READ, FI_WRITE, FI_RECV, FI_SEND, FI_REMOTE_READ, FI_REMOTE_WRITE, FI_MULTI_RECV, FI_RMA_EVENT, FI_SOURCE, FI_DIRECTED_RECV ]
119                  mode: [  ]
120                  addr_format: FI_ADDR_IB_UD
121                  src_addrlen: 32
122                  dest_addrlen: 0
123                  src_addr: fi_addr_ib_ud://:::0/0/0/0
124                  dest_addr: (null)
125                  handle: (nil)
126                  fi_tx_attr:
127                      caps: [ FI_MSG, FI_RMA, FI_TAGGED, FI_ATOMIC, FI_READ, FI_WRITE, FI_SEND ]
128                      mode: [  ]
129                      op_flags: [  ]
130                      msg_order: [ FI_ORDER_RAR, FI_ORDER_RAW, FI_ORDER_RAS, FI_ORDER_WAW, FI_ORDER_WAS, FI_ORDER_SAW, FI_ORDER_SAS, FI_ORDER_RMA_RAR, FI_ORDER_RMA_RAW, FI_ORDER_RMA_WAW, FI_ORDER_ATOMIC_RAR, FI_ORDER_ATOMIC_RAW, FI_ORDER_ATOMIC_WAR, FI_ORDER_ATOMIC_WAW ]
131                      comp_order: [ FI_ORDER_NONE ]
132                      inject_size: 3840
133                      size: 1024
134                      iov_limit: 4
135                      rma_iov_limit: 4
136                      tclass: 0x0
137                  fi_rx_attr:
138                      caps: [ FI_MSG, FI_RMA, FI_TAGGED, FI_ATOMIC, FI_RECV, FI_REMOTE_READ, FI_REMOTE_WRITE, FI_MULTI_RECV, FI_RMA_EVENT, FI_SOURCE, FI_DIRECTED_RECV ]
139                      mode: [  ]
140                      op_flags: [  ]
141                      msg_order: [ FI_ORDER_RAR, FI_ORDER_RAW, FI_ORDER_RAS, FI_ORDER_WAW, FI_ORDER_WAS, FI_ORDER_SAW, FI_ORDER_SAS, FI_ORDER_RMA_RAR, FI_ORDER_RMA_RAW, FI_ORDER_RMA_WAW, FI_ORDER_ATOMIC_RAR, FI_ORDER_ATOMIC_RAW, FI_ORDER_ATOMIC_WAR, FI_ORDER_ATOMIC_WAW ]
142                      comp_order: [ FI_ORDER_NONE ]
143                      total_buffered_recv: 0
144                      size: 1024
145                      iov_limit: 4
146                  fi_ep_attr:
147                      type: FI_EP_RDM
148                      protocol: FI_PROTO_RXD
149                      protocol_version: 1
150                      max_msg_size: 18446744073709551615
151                      msg_prefix_size: 0
152                      max_order_raw_size: 18446744073709551615
153                      max_order_war_size: 0
154                      max_order_waw_size: 18446744073709551615
155                      mem_tag_format: 0xaaaaaaaaaaaaaaaa
156                      tx_ctx_cnt: 1
157                      rx_ctx_cnt: 1
158                      auth_key_size: 0
159                  fi_domain_attr:
160                      domain: 0x0
161                      name: mlx5_0-dgram
162                      threading: FI_THREAD_SAFE
163                      control_progress: FI_PROGRESS_MANUAL
164                      data_progress: FI_PROGRESS_MANUAL
165                      resource_mgmt: FI_RM_ENABLED
166                      av_type: FI_AV_UNSPEC
167                      mr_mode: [  ]
168                      mr_key_size: 8
169                      cq_data_size: 8
170                      cq_cnt: 128
171                      ep_cnt: 128
172                      tx_ctx_cnt: 1
173                      rx_ctx_cnt: 1
174                      max_ep_tx_ctx: 1
175                      max_ep_rx_ctx: 1
176                      max_ep_stx_ctx: 0
177                      max_ep_srx_ctx: 0
178                      cntr_cnt: 0
179                      mr_iov_limit: 1
180                      caps: [  ]
181                      mode: [  ]
182                      auth_key_size: 0
183                      max_err_data: 0
184                      mr_cnt: 0
185                      tclass: 0x0
186                  fi_fabric_attr:
187                      name: IB-0xfe80000000000000
188                      prov_name: verbs;ofi_rxd
189                      prov_version: 116.0
190                      api_version: 1.16
191                  nic:
192                      fi_device_attr:
193                          name: mlx5_0
194                          device_id: 0x101b
195                          device_version: 0
196                          vendor_id: 0x02c9
197                          driver: (null)
198                          firmware: 20.33.1048
199                      fi_bus_attr:
200                          bus_type: FI_BUS_UNKNOWN
201                      fi_link_attr:
202                          address: (null)
203                          mtu: 4096
204                          speed: 0
205                          state: FI_LINK_UP
206                          network_type: InfiniBand
207
208       To see libfabric related environment variables -e option.
209
210              $ ./fi_info -e
211              # FI_LOG_INTERVAL: Integer
212              # Delay in ms between rate limited log messages (default 2000)
213
214              # FI_LOG_LEVEL: String
215              # Specify logging level: warn, trace, info, debug (default: warn)
216
217              # FI_LOG_PROV: String
218              # Specify specific provider to log (default: all)
219
220              # FI_PROVIDER: String
221              # Only use specified provider (default: all available)
222
223       To  see  libfabric  related environment variables with substring use -g
224       option.
225
226              $ ./fi_info -g tcp
227              # FI_OFI_RXM_DEF_TCP_WAIT_OBJ: String
228              # ofi_rxm: See def_wait_obj for description.  If set, this overrides the def_wait_obj when running over the tcp provider.  See def_wait_obj for valid values. (default: UNSPEC, tcp provider will select).
229
230              # FI_TCP_IFACE: String
231              # tcp: Specify interface name
232
233              # FI_TCP_PORT_LOW_RANGE: Integer
234              # tcp: define port low range
235
236              # FI_TCP_PORT_HIGH_RANGE: Integer
237              # tcp: define port high range
238
239              # FI_TCP_TX_SIZE: size_t
240              # tcp: define default tx context size (default: 256)
241
242              # FI_TCP_RX_SIZE: size_t
243              # tcp: define default rx context size (default: 256)
244
245              # FI_TCP_NODELAY: Boolean (0/1, on/off, true/false, yes/no)
246              # tcp: overrides default TCP_NODELAY socket setting
247
248              # FI_TCP_STAGING_SBUF_SIZE: Integer
249              # tcp: size of buffer used to coalesce iovec's or send requests before posting to the kernel, set to 0 to disable
250
251              # FI_TCP_PREFETCH_RBUF_SIZE: Integer
252              # tcp: size of buffer used to prefetch received data from the kernel, set to 0 to disable
253
254              # FI_TCP_ZEROCOPY_SIZE: size_t
255              # tcp: lower threshold where zero copy transfers will be used, if supported by the platform, set to -1 to disable (default: 18446744073709551615)
256

SEE ALSO

258       fi_getinfo(3), fi_endpoint(3)
259

AUTHORS

261       OpenFabrics.
262
263
264
265Libfabric Programmer’s Manual     2022-12-09                        fi_info(1)
Impressum