-
Notifications
You must be signed in to change notification settings - Fork 8
/
INSTALL
110 lines (78 loc) · 3.17 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
= Common Communication Interface Installation Guide ============================
From a tarball (.tar.gz)
To install CCI from a tarball, simply execute the following commands, where
<version> is the CCI version you want to install:
tar xzf cci-<version>.tar.gz
cd cci-<version>
./configure
make && make install
For a full list of configure options, run:
./configure --help
== Optional config file ========================================================
CCI supports the use of an optional configuration file to set defaults for the
various transports. The configuration file specifies the network interface to
use as well as CCI parameters.
The configuration file, based on a INI format, follows the following pattern:
[<config_name>]
transport = <cci_transport>
ip = <ip_to_use>
default = <0 or 1>
Where:
- <cci_transport> is the transport to use. The available transport are: sock.
- <ip> is the IP associated to the network interface to use.
- default specifies if the configuration is the default one (1) or not (0).
For instance, the configuration file when using CCI over UDP and the loopback
interface will look like the following:
[lo]
transport = sock
ip = 127.0.0.1
default = 1
Once the configuration file in place, the environment must be updated to
specify its path:
export CCI_CONFIG=<path_to_my_cci_config_file>
or
setenv CCI_CONFIG <path_to_my_cci_config_file>
depending on your shell.
= Determine available devices ==================================================
CCI includes the cci_info tool. When run, it queries for all available devices
and outputs each.
$ cci_info
Found 1 CCI devices:
0: bob (default)
= Running a test program =======================================================
It is possible to run a simple pingpong to test the installation:
cd src/test
make pingpong
Launch the server side of the pingpong:
./pingpong -s
The server will print its URI (e.g., "ip://127.0.0.1:60160"), which is need to
start the client:
./pingpong -h <server_uri>
For example, to launch the client with a reliable-unordered connection that will
send and receive 100 messages, run:
./pingpong -h ip://127.0.0.1:60160 -W 1 -i 99 -c ru
The client output something similar to:
Using RU connection
Opened ip://127.0.0.1:65381
Bytes Latency (one-way) Throughput
0 39.50 us 0.00 MB/s
1 537.50 us 0.00 MB/s
2 30.00 us 0.07 MB/s
4 30.00 us 0.13 MB/s
8 4131.50 us 0.00 MB/s
16 1057.00 us 0.02 MB/s
32 30.50 us 1.05 MB/s
64 537.50 us 0.12 MB/s
128 36.50 us 3.51 MB/s
256 2028.00 us 0.13 MB/s
512 542.00 us 0.94 MB/s
1024 1044.00 us 0.98 MB/s
2048 33.50 us 61.13 MB/s
4096 36.50 us 112.22 MB/s
8192 42.00 us 195.05 MB/s
client done
CCI ships with these test programs:
pingpong # run a pingpong (request-response) between two hosts
stream # stream uni-directional traffic from client to server
opt # test the set and get option routines
rma_verify # test and verify RMA transfers