OverviewOpenUH is an open source, optimizing compiler suite for C, C++ and Fortran, based on Open64. It supports a variety of architectures including x86-64, IA-32, IA-64, MIPS, and PTX.
OpenUH extends the Open64 OpenMP implementation by adding support for nested parallelism and the tasking features introduced in OpenMP 3.0. The OpenMP runtime library that comes with OpenUH supports several task scheduling strategies, enables selection of more scalable barrier algorithms, and provides an implementation of the OpenMP Collector API for interaction with performance collection tools (including DARWIN). The OpenMP implementation has been successfully tested using a number of applications and validated with the NAS Parallel Benchmarks (NPB) and our OpenMP Validation Suite, developed in collaboration with the High Performance Computing Center Stuttgart (HLRS) from the University of Stuttgart. OpenUH also provides support for Fortran coarrays, an extension that has been adopted in the Fortran 2008 standard. With the use of coarrays, a programmer can easily write parallel Fortran programs for a variety of parallel systems. The OpenUH CAF implementation can work in conjunction with either the GASNet or ARMCI runtime libraries, open-source projects which are freely downloadable online.
To achieve portability, OpenUH is able to emit optimized C or Fortran 77 code that may be compiled by a native compiler on other platforms. The supporting runtime libraries are also portable - the OpenMP runtime library is based on the portable Pthreads interface while the Coarray Fortran runtime library is based on the portable GASNet (or, optionally, ARMCI) communications interfaces.
OpenUH includes support for the Dragon tool which gathers and displays static and dynamic information. Dragon provides information such as call graph, control flow graph, array region data, and profile statistics about a user's application. As of version 3.0.38, OpenUH also includes the OpenSHMEM Analyzer (OSA), a compiler analysis framework for checking syntactic and semantic correctness of OpenSHMEM programs.
OpenUH, Dragon, and DARWIN are developed and maintained with the support of NSF and DOE grants. We have strong working relationships with partners in the research and business sectors based on OpenUH and related tools. We have installed OpenUH at the National Center for Supercomputing Applications and NASA Ames for evaluation. More recently, OpenUH has been installed on the Titan supercomputer at Oak Ridge National Laboratory.