Download GHOST

Requires MPI and FFTW

Untar the GHOST package and go to the ghost/3D directory

tar xfz ghost_2010_01_19.tgz
cd ghost/3D

Several parameters in ‘Makefile.in’ need to be set for GHOST to compile.

  • For the benchmark make sure "N" is set to 512
  • Update FFTW3DIR to reflect where FFTW is installed
  • CSIZE should be 32. If the cache size is large compared to the number of cores, performance may be gained by adjusting this value upwards.
  • Set the COMPILER and MPI variables to the proper values. Potential values are listed below:
    i. Compilers: PGI, XLF, ABSOT, INTEL, GNU, G95
    ii. MPI: MPICH, GM, VAPI, LAM, MAC
    *Intel MPI is known to work but is not listed
  • Several paths need to be updated in the variables
  • The variables you are looking for take the format of CPP_$<compiler name>, and MPIINC_$<MPI distribution>. Update the entire block with the path to the executables you want to use.
  • Occasionally adding a new set of compiler or MPI options results in make failing. This is generally caused by trailing spaces. If removing trailing spaces does not fix the problem restore the Makefile.in and simply specify and edit one of the existing cases.

To compile GHOST Type

make

Use mpirun to execute the program

mpirun -np <# procs> ./HD

Note

This benchmark tends to runs run faster with hyper-threading enabled.

Result Reporting
Each time the benchmark is run a line is appended to the benchmark.txt file. That line contains N (the problem size), how many iterations were run, number of processors, CPU time per process, and time per iteration. Time per iteration is what should be examined for changes when trying different optimizations, as well as being the value being used in the spreadsheet.

  • No labels