Building HPCG with Arm Compiler

Overview Before you begin Procedure Related information


  1. Clone the Arm HPCG repository from GitLab, and change into the unpacked hpcg directory:

    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.

  2. Make a directory for the build, change into it, and configure it using the ARM_TDG_BCOL setup:

    mkdir build
    cd build
    ../configure ARM_TDG_BCOL
  3. To build, run make in the build directory:

    make -j
  4. 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
Previous Next