1fi_pingpong(1)                 Libfabric v1.6.1                 fi_pingpong(1)
2
3
4

NAME

6       fi_pingpong - Quick and simple pingpong test for libfabric
7

SYNOPSIS

9               fi_pingpong [OPTIONS]                      start server
10               fi_pingpong [OPTIONS] <server address>     connect to server
11

DESCRIPTION

13       fi_pingpong  is  a  pingpong test for the core feature of the libfabric
14       library: transmitting data between  two  processes.   fi_pingpong  also
15       displays  aggregated  statistics after each test run, and can addition‐
16       ally verify data integrity upon receipt.
17
18       By default, the datagram (FI_EP_DGRAM) endpoint is used for  the  test,
19       unless otherwise specified via -e.
20

HOW TO RUN TESTS

22       Two  copies  of  the  program must be launched: first, one copy must be
23       launched as the server.  Second, another  copy  is  launched  with  the
24       address of the server.
25
26       As a client-server test, each have the following usage model:
27
28   Start the server
29              server$ fi_pingpong
30
31   Start the client
32              client$ fi_pingpong <server address>
33

OPTIONS

35       The  server  and  client  must  be able to communicate properly for the
36       fi_pingpong utility to function.  If any of  the  -e,  -I,  -S,  or  -p
37       options  are  used,  then  they must be specified on the invocation for
38       both the server and the client process.  If the -d option is  specified
39       on the server, then the client will select the appropriate domain if no
40       hint is provided on the client side.  If the -d option is specified  on
41       the  client, then it must also be specified on the server.  If both the
42       server and client specify the -d option and the  given  domains  cannot
43       communicate, then the application will fail.
44
45   Control Messaging
46       -B  <src_port>  :  The  non-default  source  port number of the control
47       socket.  If this is not provided then the  server  will  bind  to  port
48       47592  by  default  and  the  client will allow the port to be selected
49       automatically.
50
51       -P <dest_port> : The non-default destination port number of the control
52       socket.   If this is not provided then the client will connect to 47592
53       by default.  The server ignores this option.
54
55   Fabric Filtering
56       -p <provider_name> : The name of the underlying fabric provider  (e.g.,
57       sockets,  psm, usnic, etc.).  If a provider is not specified via the -p
58       switch, the test will pick one from the list of available providers (as
59       returned by fi_getinfo(3)).
60
61       -e  <endpoint>  :  The  type  of endpoint to be used for data messaging
62       between the two processes.  Supported values are dgram, rdm,  and  msg.
63       For more information on endpoint types, see fi_endpoint(3).
64
65       -d <domain> : The name of the specific domain to be used.
66
67   Test Options
68       -I <iter> : The number of iterations of the test will run.
69
70       -S <msg_size> : The specific size of the message in bytes the test will
71       use or 'all' to run all the default sizes.
72
73       -c : Activate data integrity checks at the receiver  (note:  this  will
74       degrade performance).
75
76   Utility
77       -v : Activate output debugging (warning: highly verbose)
78
79       -h : Displays help output for the pingpong test.
80

USAGE EXAMPLES

82   A simple example
83   Server: fi_pingpong -p <provider_name>
84       server$ fi_pingpong -p sockets
85
86   Client: fi_pingpong -p <provider_name> <server_addr>
87       client$ fi_pingpong -p sockets 192.168.0.123
88
89   An example with various options
90   Server:
91       server$ fi_pingpong -p usnic -I 1000 -S 1024
92
93   Client:
94       client$ fi_pingpong -p usnic -I 1000 -S 1024 192.168.0.123
95
96       Specifically, this will run a pingpong test with:
97
98       · usNIC provider
99
100       · 1000 iterations
101
102       · 1024 bytes message size
103
104       · server node as 192.168.0.123
105
106   A longer test
107   Server:
108       server$ fi_pingpong -p usnic -I 10000 -S all
109
110   Client:
111       client$ fi_pingpong -p usnic -I 10000 -S all 192.168.0.123
112

DEFAULTS

114       There is no default provider; if a provider is not specified via the -p
115       switch, the test will pick one from the list of available providers (as
116       returned by fi_getinfo(3)).
117
118       If no endpoint type is specified, 'dgram' is used.
119
120       The  default tested sizes are: 64, 256, 1024, 4096, 65536, and 1048576.
121       The test will only test sizes that are within  the  selected  endpoints
122       maximum message size boundary.
123

OUTPUT

125       Each  test  generates  data messages which are accounted for.  Specifi‐
126       cally, the displayed statistics at the end are :
127
128       · bytes : number of bytes per message sent
129
130       · #sent : number of messages (ping) sent from the client to the server
131
132       · #ack : number of replies (pong) of the server received by the client
133
134       · total : amount of memory exchanged between the processes
135
136       · time : duration of this single test
137
138       · MB/sec : throughput computed from total and time
139
140       · usec/xfer : average time for transferring a message outbound (ping or
141         pong) in microseconds
142
143       · Mxfers/sec : average amount of transfers of message outbound per sec‐
144         ond
145

SEE ALSO

147       fi_getinfo(3), fi_endpoint(3) fabric(7),
148

AUTHORS

150       OpenFabrics.
151
152
153
154Libfabric Programmer's Manual     2017-12-01                    fi_pingpong(1)
Impressum