OpenUH is an open source, optimizing compiler suite for C, C++ and Fortran 95. It supports a variety of architectures including IA-32, X86_64, IA-64. 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, optionally, on the portable GASNet or ARMCI communications interfaces. OpenUH includes support for a new version of the Dragon tool that gathers and displays static and dynamic information about a user's application.
OpenUH extends the Open64 OpenMP implementation by adding support for nested parallelism, OpenMP 3.0, and other OpenMP bug fixes. 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 the DARWIN framework and other performance collection tools. The OpenMP implementation has been successfully tested using a number of applications and validated with the NAS Parallel Benchmarks (NPB) and OpenMP Validation Suite developed in collaboration with the High Performance Computing Center Stuttgart(HLRS) of the University of Stuttgart.
OpenUH also provides support for Coarray Fortran (CAF), 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 distributed systems. CAF provides an array extension for carrying out 1-sided communication between executing "images", as well as a number of intrinsic functions for synchronization between all or a specified subset of the images. The OpenUH CAF implementation can work in conjunction with either the GASNet or ARMCI runtime libraries, open-source projects which are freely downloadable online.