The HPC Challenge Benchmark is managed by the Innovative Computing Laboratory at the University of Tennessee. This is a well-known set of tests that includes the High Performance Linpack used to compile the Top 500 list. The HPC Challenge Benchmark is a consolidation of 7 tests as follows:
- HPL - the High Performance Linpack TPP Benchmark. This solves a linear system of equations, and measures the floating point rate of execution.
- DGEMM – performs double precision real matrix-matrix multiplication and measures the resultant floating point rate of execution.
- STREAM – this is a simple synthetic benchmark program. This measures sustainable memory bandwidth (in GB/s) and the corresponding computation rate for a simple vector kernel.
- PTRANS - parallel matrix transpose. This exercises the simultaneous communications between pairs of processors. It is a useful test of the total communications capacity of the network.
- RandomAccess - measures the rate of random updates of integer memory elements (GUPS).
- FFT – performs double precision complex one-dimensional Discrete Fourier Transform (DFT) to measure the floating point rate.
- Latency/Bandwidth - based on b_eff (effective bandwidth benchmark). This measures latency and bandwidth of a number of simultaneous communication patterns using basic MPI routines.
HPCC is downloadable here:
http://icl.cs.utk.edu/hpcc/software/index.html
The HPC Challenge Benchmark set of tests is primarily High Performance Linpack along with some additional bells-and-whistles tests. The nice thing is the experience in running HPL can be directly leveraged in running HPCC, and vice-versa.
Instead of a binary named xhpl, with HPCC, a binary named hpcc is generated when you compile the HPC Challenge Benchmark. This binary runs the whole series of tests.
Following is a set of commands to get going with HPCC:
cd /home/hpcuser
wget http://icl.cs.utk.edu/projectsfiles/hpcc/download/hpcc-1.2.0.tar.gz
tar xzvf hpcc-1.2.0.tar.gz
cd hpcc-1.2.0
cd hpl
cp setup/Make.Linux_ATHLON_FBLAS .
vi Make.Linux_ATHLON_FBLAS
Apply the same changes to this file as in section Compiling and Running HPL above.
Next, you need to build the HPC Challenge Benchmark, configure hpccinf.dat (which can be derived from the previous settings for HPL.dat), and then invoke the tool.
After modifying Make.Linux_ATHLON_FBLAS:
cd /home/hpcusers/hpcc-1.2.0
make arch=Linux_ATHLON_FBLAS
Copy _hpccinf.txt found in the root hpcc-1.2.0 directory to hpccinf.txt. This is basically the same as HPL.datfrom the previous exercise with HPL. Apply those values you used before, and in addition, make the following changes to lines 33-36 to control the problem sizes and blocking factors for PTRANS.
Change lines 33-34 (number of PTRANS problems sizes and the sizes) to:
4 Number of additional problem sizes for PTRANS
1000 2500 5000 10000 values of N
Change lines 35-36 (number of block sizes and the sizes) to:
2 Number of additional blocking sizes for PTRANS
64 128 values of NB
Now run it:
mpirun –np <numprocs> ./hpcc
The results will be in hpccoutf.txt.