This repo slices the official HPCC code into its composing benchmarks such that they can be run individually.
Simply invoke make to build the standalone binaries (hpl, lat_bw, mpi_fft, etc.) in the top-level directory.
To build a single binary, you can make <binary_name>.
To run a single binary, you can make run-<binary_name>. Please note that the input size is set to 1GB in the hpccmemf.txt file.
HPCC requires Open MPI and ATLAS (Automatically Tuned Linear Algebra Software). On Ubuntu, you may install them via:
$ sudo apt install libopenmpi-dev libatlas-base-dev
According to its website, the HPC Challenge (HPCC) suite measures a range memory access patterns and consists of seven benchmarks: HPL, DGEMM, STREAM, PTRANS, RandomAccess, FFT, and Communication bandwidth and latency. Strangely, the suite links all these benchmarks into a single, monolithic executable that runs them one by one: see this question from the HPCC FAQ:
How do I run individual tests in HPCC?
HPCC has not been designed for running invidual tests. Quite the opposite. It's a harness that ties multiple tests together. Having said that, it is possible to comment out calls to individual tests in src/hpcc.c
Commenting out/in code is inconvenient, so we use the HPCC library to build multiple executables, one per benchmark. This repo borrows most of its code from src/hpcc.c in the official HPCC repo.