OpenUH: an optimizing, portable OpenMP compiler: Research Articles

  • Authors:
  • Chunhua Liao;Oscar Hernandez;Barbara Chapman;Wenguang Chen;Weimin Zheng

  • Affiliations:
  • Computer Science Department, University of Houston, TX 77004, U.S.A.;Computer Science Department, University of Houston, TX 77004, U.S.A.;Computer Science Department, University of Houston, TX 77004, U.S.A.;Department of Computer Science and Technology, Tsinghua University, Beijing 100084, People's Republic of China;Department of Computer Science and Technology, Tsinghua University, Beijing 100084, People's Republic of China

  • Venue:
  • Concurrency and Computation: Practice & Experience - Current Trends in Compilers for Parallel Computers (CPC2006)
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

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. Copyright © 2007 John Wiley & Sons, Ltd.