The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark. The computational and data access patterns of HPL are no longer driving computer system designs in directions that are beneficial to many important scalable applications. HPCG is designed to exercise computational and data access patterns that more closely match a broad set of important applications, and to give incentive to computer system designers to invest in capabilities that will have impact on the collective performance of these applications. source
Download the source.
cd ~ wget https://software.sandia.gov/hpcg/downloads/hpcg-2.4.tar.gz tar -xf hpcg-2.4.tar.gz cd hpcg-2.4 mkdir build
Edit the Makefile to include the -xHost compiler flag:
vim setup/Makefile.MPIICPC_OMP
Compile the benchmark:
cd build ../configure Makefile.MPIICPC_OMP make
The benchmark can be run using MPI, OpenMP or a hybrid of the two. Two specify the number of desired OpenMP threads, set the environment variable:
OMP_NUM_THREADS=<N>
The problem size can be increased in the hpcg.dat file. To run the benchmark:
mpirun -n <N> -hostfile <HF> ./xhpl
Experimentation should be conducted to determine which approach yields the best performance.