Eighth International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'03)
Compiler and Runtime Support for Running OpenMP Programs on Pentium-and Itanium-Architectures
Nice, Paris
April 22-April 22
ISBN: 0-7695-1880-X
Exploiting Thread-Level Parallelism (TLP) is a promising way to improve the performance of applications with the advent of general-purpose cost effective uni-processor and shared-memory multiprocessor systems. In this paper, we describe the OpenMP implementation in the Intel?. C++ and Fortran compilers for Intel platforms. We present our major design consideration and decisions in the Intel compiler for generating efficient multithreaded codes guided by OpenMP directives and pragmas. We describe several transformation phases in the compiler for the OpenMP parallelization. In addition to compiler support, the OpenMP runtime library is a critical part of the Intel compiler. We present untime techniques developed in the Intel OpenMP untime library for exploiting thread-level parallelism as well as integrating the OpenMP support with other forms of threading termed as sibling parallelism. The performance results of a set of benchmarks show good speedups over the well-optimized serial code performance on Intel?. Pentium-and Itanium-processor based systems.
Index Terms:
Parallelization, Hyper-Threading technology, OpenMP, compiler optimization, thread-level parallelism, shared-memory multiprocessor
Citation:
Xinmin Tian, Milind Girkar, Sanjiv Shah, Douglas Armstrong, Ernesto Su, Paul Petersen, "Compiler and Runtime Support for Running OpenMP Programs on Pentium-and Itanium-Architectures," hips, pp.47, Eighth International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'03), 2003