-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathREADME.xml
250 lines (248 loc) · 10.8 KB
/
README.xml
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<?xml version="1.0" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<article class="productsheet">
<articleinfo>
<title>
<acronym>DARPA</acronym>/<acronym>DOE</acronym> <acronym>HPC Challenge</acronym> Benchmark
</title>
<author>
<firstname>Piotr</firstname>
<surname>Luszczek</surname>
<affiliation>
<shortaffil>UTK, ICL</shortaffil>
<orgname>University of Tennessee Knoxville, Innovative Computing Laboratory</orgname>
</affiliation>
</author>
</articleinfo>
<section>
<title>Introduction</title>
<para>
This is a suite of benchmarks that measure performance of <acronym>CPU</acronym>, memory
subsytem and the interconnect. For details refer to the <ulink
url="http://icl.cs.utk.edu/hpcc/"><citetitle><acronym>HPC Challenge</acronym></citetitle></ulink>
web site.
</para>
<para>
In essence, <acronym>HPC Challenge</acronym> consists of a number of subbenchmarks each of
which tests different aspect of the system.
</para>
<para>
If you familiar with the <acronym>HPL</acronym> benchmark code (see the <ulink
url="http://www.netlib.org/benchmark/hpl/"><citetitle>HPL</citetitle></ulink> web site)
then you can reuse the configuration file (input for <command>make(1)</command>)
and the input file that you already have for
<acronym>HPL</acronym>. The <acronym>HPC Challenge</acronym> benchmark includes
<acronym>HPL</acronym> and uses its configuration and input files with only slight
modifications.
</para>
</section>
<section>
<title>Compiling</title>
<para>
The first step is to create a configuration file that reflects characteristics of your
machine. The configuration file should be created in the <filename
class="directory">hpl</filename> directory. This directory contains instructions (the files
<filename>README</filename> and <filename>INSTALL</filename>) on how to create the
configuration file. The directory <filename class="directory">hpl/setup</filename>
contains many examples of configuration files. A good approach is to copy one of them
to the <filename class="directory">hpl</filename> directory and if it doesn't work then
change it. This file is reused by all the components of the
<acronym>HPC Challenge</acronym> suite.
</para>
<para>
When configuration is done, a file should exist in the <filename
class="directory">hpl</filename> directory whose name starts with
<filename>Make.</filename> and ends with the name for the system used for tests.
For example, if the name of the system is <filename>Unix</filename>, the file
should be named <filename>Make.Unix</filename>.
</para>
<para>
To build the benchmark executable (for the system named <filename>Unix</filename>) type:
<userinput>make arch=Unix</userinput>. This command should be run in the top directory
(not in the <filename class="directory">hpl</filename> directory). It will look in the
<filename class="directory">hpl</filename> directory for the configuration file and use
it to build the benchmark executable.
</para>
</section>
<section>
<title>Configuration</title>
<para>
The <acronym>HPC Challenge</acronym> is driven by a short input file named
<filename>hpccinf.txt</filename>
that is almost the same as the input file for <acronym>HPL</acronym> (customarily called
<filename>HPL.dat</filename>). Refer to the
file <filename>hpl/www/tuning.html</filename> for details about the input file for
<acronym>HPL</acronym>. A sample input file is included with the
<acronym>HPC Challenge</acronym> distribution.
</para>
<para>
The differences between <acronym>HPL</acronym> input file and
<acronym>HPC Challenge</acronym> input file can be summarized as follows:
<itemizedlist>
<listitem><simpara>
Lines 3 and 4 are ignored. The output always goes to the file named
<filename>hpccoutf.txt</filename>.
</simpara>
</listitem>
<listitem><simpara>
There are additional lines (starting with line 33) that may (but do not have to) be
used to customize the <acronym>HPC Challenge</acronym> benchmark. They are described
below.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
The additional lines in the <acronym>HPC Challenge</acronym> input file (compared to the
<acronym>HPL</acronym> input file) are:
<itemizedlist>
<listitem><simpara>
Lines 33 and 34 describe additional matrix sizes to be used for running the
<acronym>PTRANS</acronym> benchmark (one of the components of the
<acronym>HPC Challenge</acronym> benchmark).
</simpara>
</listitem>
<listitem><simpara>
Lines 35 and 36 describe additional blocking factors to be used for running
<acronym>PTRANS</acronym> benchmark.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Just for completeness, here is the list of lines of the <acronym>HPC Challenge's</acronym>
input file with brief descriptions of their meaning:
<itemizedlist mark="">
<listitem><simpara>Line 1: ignored</simpara></listitem>
<listitem><simpara>Line 2: ignored</simpara></listitem>
<listitem><simpara>Line 3: ignored</simpara></listitem>
<listitem><simpara>Line 4: ignored</simpara></listitem>
<listitem><simpara>Line 5: number of matrix sizes for <acronym>HPL</acronym>
(and <acronym>PTRANS</acronym>)</simpara></listitem>
<listitem><simpara>Line 6: matrix sizes for <acronym>HPL</acronym>
(and <acronym>PTRANS</acronym>)</simpara></listitem>
<listitem><simpara>Line 7: number of blocking factors for <acronym>HPL</acronym> (and
<acronym>PTRANS</acronym>)</simpara></listitem>
<listitem><simpara>Line 8: blocking factors for <acronym>HPL</acronym>
(and <acronym>PTRANS</acronym>)</simpara></listitem>
<listitem><simpara>Line 9: type of process ordering for
<acronym>HPL</acronym></simpara></listitem>
<listitem><simpara>Line 10: number of process grids for <acronym>HPL</acronym> (and
<acronym>PTRANS</acronym>)</simpara></listitem>
<listitem><simpara>Line 11: numbers of process rows of each process grid for
<acronym>HPL</acronym> (and <acronym>PTRANS</acronym>)</simpara></listitem>
<listitem><simpara>Line 12: numbers of process columns of each process grid for
<acronym>HPL</acronym> (and <acronym>PTRANS</acronym>)</simpara></listitem>
<listitem><simpara>
Line 13: threshold value not to be exceeded by scaled residual for <acronym>HPL</acronym>
(and <acronym>PTRANS</acronym>)
</simpara></listitem>
<listitem><simpara>
Line 14: number of panel factorization methods for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 15: panel factorization methods for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 16: number of recursive stopping criteria for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 17: recursive stopping criteria for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 18: number of recursion panel counts for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 19: recursion panel counts for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 20: number of recursive panel factorization methods for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 21: recursive panel factorization methods for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 22: number of broadcast methods for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 23: broadcast methods for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 24: number of look-ahead depths for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 25: look-ahead depths for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 26: swap methods for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 27: swapping threshold for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 28: form of L1 for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 29: form of U for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 30: value that specifies whether equilibration should be used by
<acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 31: memory alignment for <acronym>HPL</acronym>
</simpara></listitem>
<listitem><simpara>
Line 32: ignored
</simpara></listitem>
<listitem><simpara>
Line 33: number of additional problem sizes for <acronym>PTRANS</acronym>
</simpara></listitem>
<listitem><simpara>
Line 34: additional problem sizes for <acronym>PTRANS</acronym>
</simpara></listitem>
<listitem><simpara>
Line 35: number of additional blocking factors for <acronym>PTRANS</acronym>
</simpara></listitem>
<listitem><simpara>
Line 36: additional blocking factors for <acronym>PTRANS</acronym>
</simpara></listitem>
</itemizedlist>
</para>
</section>
<section>
<title>Running</title>
<para>
It is hard to describe all the possible ways in which the <acronym>HPC Challenge</acronym>
benchmark could be run on various systems. An example command to run the benchmark could
like like this:
<command>mpirun -np 4 hpcc</command>. The meaning of the command's components is as follows:
<itemizedlist>
<listitem><simpara>
<command>mpirun</command> is the command that starts execution of an <acronym>MPI</acronym>
code. Depending on the system, it might also be <command>aprun</command>,
<command>mpiexec</command>, <command>mprun</command>, <command>poe</command>, or something
appropriate for your computer.
</simpara>
</listitem>
<listitem><simpara>
<command>-np 4</command> is the argument that specifies that 4 <acronym>MPI</acronym>
processes should be started. The number of <acronym>MPI</acronym> processes should be large
enough to accomodate all the process grids specified in the
<filename>hpccinf.txt</filename> file.
</simpara>
</listitem>
<listitem><simpara>
<command>hpcc</command> is the name of the <acronym>HPC Challenge</acronym> executable to
run.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
After the run, a file called <filename>hpccoutf.txt</filename> is created which contains
results of the benchmark. This file should be uploaded through the web form at the
<acronym>HPC Challenge</acronym> website.
</para>
</section>
</article>