A Free OpenMP Compiler and Run-Time Library Infrastructure for Research on Shared Memory Parallel Computing

S. Karlsson and M. Brorsson (Sweden)


Parallel Computing, OpenMP, Compilers, High Perfor mance Computing


OpenMP is an informal industry standard for programming parallel computers with a shared memory and has during the last few years achieved considerable acceptance in both the academic world and the industry. OpenMP is a thread level fork-join programming model and relies on a set of compiler directives. An OpenMP aware compiler uses these directives to generate a multi-threaded application. In practice, an OpenMP run-time library is also needed as OpenMP specifies a set of run-time library calls. In this paper we report on a free OpenMP compiler and run-time library infrastructure. We present an OpenMP compiler for C called OdinMP and briefly discuss the run time library that the compiler targets. The source code to both the compiler and the run-time libraries are available and can be freely used for OpenMP research. The compilation system is evaluated using the EPCC micro-benchmark suite for OpenMP and a set of appli cations from the SPLASH-2 benchmarks suite ported to OpenMP. Comparisons are made to OpenMP aware com piler systems from SGI and Intel. The performance of code generated with the pre sented compilation system is shown to be very close to or exceeding that of commercial compilers for a wide range of benchmark applications.

Important Links:

Go Back