TY - JOUR
T1 - OpenUH
T2 - An optimizing, portable OpenMP compiler
AU - Liao, Chunhua
AU - Hernandez, Oscar
AU - Chapman, Barbara
AU - Chen, Wenguang
AU - Zheng, Weimin
PY - 2007/12/25
Y1 - 2007/12/25
N2 - 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.
AB - 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.
KW - Hybrid openMP compiler
KW - OpenMP runtime library
KW - OpenMP translation
UR - http://www.scopus.com/inward/record.url?scp=36148968813&partnerID=8YFLogxK
U2 - 10.1002/cpe.1174
DO - 10.1002/cpe.1174
M3 - Article
AN - SCOPUS:36148968813
SN - 1532-0626
VL - 19
SP - 2317
EP - 2332
JO - Concurrency and Computation: Practice and Experience
JF - Concurrency and Computation: Practice and Experience
IS - 18
ER -