Clone the Arm HPCG repository from GitLab, and change into the unpacked
git clone -b SC18 https://gitlab.com/arm-hpc/benchmarks/hpcg cd hpcg
The Arm repository is a mirror of the HPCG source.
The setup file for this recipe is:
This setup file uses flags for Arm Compiler for HPC via the mpic++ wrapper script, which is available in your MPI installation.
Make a directory for the build, change into it, and configure it using the
mkdir build cd build ../configure ARM_TDG_BCOL
To build, run
makein the build directory:
Run a test.
A constraint for this version of HPCG is that each of the three dimensions of the problem must be a power of 2. This constraint causes the benchmark to fail for the default input file that is given in
bin/hpcg.dat. Therefore, Arm recommends that you set the dimensions as required on the command line. The following example shows a small test case using four MPI processes:
mpirun -np 4 ./bin/xhpcg 64 32 16
For larger cases, enable OpenMP and fix affinity settings appropriately. For example, use 56 cores with 8 MPI tasks, and 7 OpenMP threads per task which are each dedicated to a single core:
export OMP_NUM_THREADS=7 export OMP_PROC_BIND=close export OMP_PLACES=cores mpirun -np 8 --map-by socket:PE=7 ./xhpcg 128 128 128