This is a suite of benchmarks that measure performance of CPU, memory subsytem and the interconnect. For details refer to the HPCchallenge web site.
In essence, HPCchallange consists of a number of subbenchmarks each of which tests different aspect of the system.
If you familiar with the HPL benchmark code (see the HPL web site) then you can reuse the configuration file and the input file that you already have for HPL. The HPCchallange benchmark includes HPL and uses its configuration and input files with only slight modifications.
The first step is to create a configuration file that reflects characteristics of your machine. The configuration file should be created in the hpl directory. This directory contains instructions (files README and INSTALL) on how to create the configuration file. This file is reused by all the components of the HPCchallange suite.
When configuration is done, a file should exists in the hpl whose name starts with Make. and ends with a name for the system used for tests. For example, if the name for the system is Unix, the file should be named Make.Unix.
To build the benchmark executable (for a system named Unix) type: make arch=Unix. This command should be run in the current (not in hpl) directory. It will look in the hpl directory for the configuration file and use it to build the benchmark executable.
The HPCchallange is drivien by a short input file named hpccinf.txt that is almost the same as the input file for HPL. Refer to the directory hpl/www/tuning.html for details about the input file for HPL. A sample input file is included with HPCchallange distribution.
The differences between HPL input file and HPCchallange input file can be summarized as follows:
Lines 3 and 4 are ignored. The output always goes to the file named hpccoutf.txt.
There are additional lines (starting with line 33) that may (but do not have to) be used to customize the HPCchallenge benchmark. They are described below.
The additional lines in the HPCchallenge input file (compared to the HPL input file) are:
Lines 33 and 34 describe additional matrix sizes to be used for running the PTRANS benchmark (one of the components of the HPCchallange benchmark).
Lines 35 and 36 describe additional blocking factors to be used for running PTRANS benchmark.
Just for completeness, here is the list of lines of the input file and brief description of their meaning:
It is hard to describe all the possible ways that the HPCchallange benchmark should be run and various systems. A simple example with addition explanation is provided. An example command to run the benchmark could like like this: mpirun -np 4 hpcc. The meaning of the command's components is as follows:
mpirun is the command that starts execution of an MPI code. Depending on the system, it might also be aprun, mpiexec, mprun, poe, or something else.
-np 4 is the argument that specifies that 4 MPI processes should be started. The number of MPI processes should be large enough to accomodate all the process grids specified in the hpccinf.txt file.
hpcc is the name of the HPCchallange executable to run.