OpenUH is a compiler based upon the publicly available Open64 infrastructure that was developed by the HPCTools Lab at the University of Houston. It was conceived as a robust framework for exploring the OpenMP language and its implementation. In addition to extending its support to enable the translation of OpenMP 2.5 with each of the base languages Fortran, C and C++, it has been enhanced in a variety of ways to enable experimentation with new language features and to allow interaction with performance tools. On-going work considers how to improve the overall translation of OpenMP, especially for multicore architectures. It includes designing and implementing a parallel data flow analysis framework to support more aggressive OpenMP optimization.
In this presentation we give an overview of OpenUH and discuss some of the work we have performed. In particular, we will describe the compiler's cost model and explain how we are improving it to meet the needs of OpenMP application translation for SMPs as well as for multicore architectures. OpenUH can be downloaded from the web at http://www.cs.uh.edu/~openuh/