Performance characteristics of the SPEC OMP2001 benchmarks

Parallel computing is becoming mainstream with the advent of general purpose cost effective Shared-memory Multiprocessor (SMP) systems. At the same time, new developments in parallel programming environments allow more rapid and efficient programming of these systems. To this end, OpenMP has emerged as a flexible and fairly comprehensive set of compiler directives, library routines, and environment variables to facilitate parallel programming of SMP systems in Fortran and C/C++. The Standard Performance Evaluation Corporation (SPEC) has created a benchmark suite of eleven applications, named SPEC OMP2001, to be used for the performance evaluation and comparison of moderate size SMP systems. Each of the benchmarks in SPEC OMP2001 is either automatically or manually parallelized using OpenMP directives. In this paper, we present basic static and runtime characteristics of these benchmarks. We present data gathered using high resolution timers and the hardware counters available on our SMP system. We explain some of the benchmark performance characteristics with measured data and with a quantitative model.