A portable C compiler for OpenMP V.2.0

This paper presents an overview of OMPi, a portable implementation of the OpenMP API for C, adhering to the recently released version 2.0 of the standard. OMPi is a C-to-C translator which takes C code with OpenMP directives and produces equivalent C code which uses POSIX threads, similarly to other publicly available implementations. However, in contrast to the latter, OMPi is written entirely in C and, more importantly, implements fully version 2.0 of the OpenMP C API. We present major aspects of the implementation, along with performance results.