CPC 2006 CPC 2006

Call for Participation
Current List of
Program (List of Talks)
Registration Form
Travel Information

Funded by the Vicerreitoría de Investigación of the University of A Coruña and the Ministry of Education and Science of Spain

Universidade de A Coruña Ministerio de
		      Educación y Ciencia

OpenUH: An Optimizing, Portable OpenMP Compiler

Chunhua Liao1, Oscar Hernandez1, Barbara Chapman1, Wenguang Chen2 and Weimin Zheng2
1 Computer Science Department, University of Houston, USA
2 Computer Science Department, Tsinghua University, China

OpenMP has gained wide popularity as an API for parallel programming on shared memory systems and distributed shared memory platforms. Its success relies on the ease with which it can be used, its support for incremental parallelism, and its broad availability: it has been implemented in many commercial and research compilers. Nevertheless, there remains a need for a portable, robust , open-source, optimizing OpenMP compiler for C/C++/Fortran 90, especially for teaching and research into the API and its use. For example, among the many interesting topics for exploration at language and compiler levels is the expansion of the set of target architectures to include recent system configurations, such as SMPs based on Chip Multithreading processors, as well as 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 reusing its existing analysis and optimization framework 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 compilerŐs behavior is analyzed and the impact of various inter- and intra- procedural optimizations on OpenMP performance are explored using benchmark tests from the EPCC microbenchmarks, NAS parallel benchmark and SPECOMP 2001. Results of using the OpenMP validation suite to ascertain the correctness of the compiler will also be presented. Finally, based on our experience, we will discuss several design and implementation issues related to scalability on large scale systems.

Back to the Workshop Program 

Please contact our webadmin with any comments or changes.