OpenUH: An optimizing, portable OpenMP compiler

Chunhua Liao, Oscar Hernandez, Barbara Chapman, Wenguang Chen, Weimin Zheng

Research output: Contribution to journalArticlepeer-review

52 Scopus citations

Abstract

OpenMP has gained wide popularity as an API for parallel programming on shared memory and distributed shared memory platforms. Despite its broad availability, there remains a need for a portable, robust, open source, optimizing OpenMP compiler for C/C++/Fortran 90, especially for teaching and research, for example into its use on new target architectures, such as SMPs with chip multi-threading, as well as learning how to translate for clusters of SMPs. In this paper, we present our efforts to design and implement such an OpenMP compiler on top of Open64, an open source compiler framework, by extending its existing analysis and optimization and adopting a source-to-source translator approach where a native back end is not available. The compilation strategy we have adopted and the corresponding runtime support are described. The OpenMP validation suite is used to determine the correctness of the translation. The compiler's behavior is evaluated using benchmark tests from the EPCC microbenchmarks and the NAS parallel benchmark.

Original languageEnglish
Pages (from-to)2317-2332
Number of pages16
JournalConcurrency and Computation: Practice and Experience
Volume19
Issue number18
DOIs
StatePublished - Dec 25 2007
Externally publishedYes

Keywords

  • Hybrid openMP compiler
  • OpenMP runtime library
  • OpenMP translation

Fingerprint

Dive into the research topics of 'OpenUH: An optimizing, portable OpenMP compiler'. Together they form a unique fingerprint.

Cite this