|
OpenMP Microbenchmarks V2.0
|
 |
Changes/additions to OpenMP Microbenchmarks version 2.0
Changes/additions to Fortran version
- WORKSHARE (testws()) and PARALLEL WORKSHARE
(testpws()) routines added to syncbench.f90
- Array operations benchmark added (new files arraybench.f90,
arraydata.f90 and arraydelay.f90)
- IMPLICIT NONE used throughout
- All codes re-written to use Fortran 90 syntax and free format
- Common blocks/include files replaced by modules: module
benchdata.f90 contains global variables common to all 3 programs.
Module arraydata.f90 contains global data required for
arraybench.f90
- Version 1.0 files syncstats.f and schedstats.f
were practically identical so have been combined into a single module
benchstats.f90
- Repeat counts reduced where possible to speedup runtime
- #ifdef statements added to allow for OpenMP 1.0/2.0 compatibility
- Timing routine changed to use OpenMP 2.0 function OMP_GET_WTIME()
or system_clock if OpenMP 2.0 is not available. All other timing
routines have been removed.
- Makefile altered to reflect above changes - additional flag OMPFLAG toggles
between OpenMP 1.0/2.0
Changes/additions to C version
- Array operations benchmark added (new files arraybench.c,
arraybench.h and arraydelay.c)
- Timing routine changed to use OpenMP 2.0 function omp_get_wtime()
or get_time_of_day is OpenMP 2.0 is not available. All other timing
routines have been removed.
- Repeat counts adjusted to match the Fortran 90 version
- #ifdef statements added to allow for OpenMP 1.0/2.0 compatibility
- Makefile altered to reflect above changes - additional flag OMPFLAG
toggles between OpenMP 1.0/2.0