OpenMP Microbenchmarks
[OpenMP Microbenchmarks] [Research at EPCC] [EPCC Sun Web pages]

Downloading, compiling and running the benchmark codes

Downloading

Download version 2.0 of the benchmark suite from below as a gzip'd tar file:

Fortran 90 version

C version

Compiling

Fortran 90 version

  1. Unpack the tar file
  2. Edit the Makefile as follows:
  3. Set the value of the parameter mhz in benchdata.f90 to the CPU clock rate in MHz
  4. Type make

C version

  1. Unpack the tar file
  2. Edit the Makefile as follows:
  3. Set the value of the macro MHZ in schedbench.c to the CPU clock rate in MHz
  4. Type make

Running

  1. Set the environment variable OMP_NUM_THREADS to the number of threads you wish to use.
  2. Run one of the synchronisation benchmark syncbench, the scheduling benchmark schedbench, or the array benchmark for array size = n, arraybench_n.
  3. For the array benchmark a separate executable is created for each array size specified in the Makefile . To investigate the variation of overhead time with array size it is necessary to run each executable arraybench_n separately.
Notes
  1. It is common to observe significant variability between the overhead values obtained on different runs of the benchmark programs. Therefore, it is advisable to run each benchmark, say, 20 times and average the results obtained.
  2. You should use whatever mechanisms are at your disposal to ensure that threads have exclusive or almost exclusive access to processors. You should rejects runs where the standard deviation or number of outliers is large: this is a good indication that the benchmark did not have almost exclusive access to processors.
  3. The array benchmark has numerous executables - one for each array size specified in the Makefile. Depending on the memory available to you may wish alter the number of executables created, or the array sizes.
  4. Warning: If you use the Intel Fortran Compiler for Linux Version 7.1 the names of the .mod files are capitalised automatically. This is a "feature" of the compiler and cannot be avoided. A work around is to capitalise all the .mod files in the Makefile. Version 8.0 of the Intel Fortran Compiler for Linux does not exhibit this feature.

Webpage maintained by www@epcc.ed.ac.uk

ww.epcc.ed.ac.uk/contact-us/" accesskey="9" title="Get in touch with EPCC" rel="contact">Contact us/feedback form