With new features:
- New backends supporting x86 and x86_64 architectures
- Selective Instrumentation
- Fortran95 frontend
- GCC 4.0.2 frontend (without OpenMP support)
- Two new flags, -pfmap and -pfmp, to obtain OpenMP performance data
Upcoming features:
- Nested Parallelism
- GCC 4.2 frontend (with OpenMP support)
- OpenMP 3.0 task features
The source is available by executing the following command:
svn co http://svn.open64.net/svnroot/open64/branches/OpenUH/
An Overview
OpenUH is an open source compiler suite for OpenMP 2.5 in conjunction with C, C++, and Fortran 77/90/95 and the IA-64, x86, x86_64 Linux ABI and API standards. To achieve portability, OpenUH is able to emit optimized, compilable C or Fortran77 code that may be translated by a native compiler on other Linux/Unix platforms. Our run-time library is portable. This release of OpenUH also includes the integrated Dragon tool that gathers and displays static and dynamic information about a user's application. OpenUH is available as stand-alone software or with the Eclipse integrated development environment. The OpenUH compiler is developed and maintained by the High Performance Computing Tools Group (HPCTools) from the University of Houston.
OpenUH is based on Open64 which is the open source version of SGI's Pro64 compiler. To achieve stability, we have successfully merged improvements to Open64 from a variety of sources including Intel ORC 2.1 and Pathscale 2.1 compilers, as well as Open64 compiler versions created by our partners in the DOE-supported Center for Programming Models, which has provided much of the support for this effort. The OpenMP runtime library of OpenUH is based on Tsinghua University's runtime library. We have since extended and updated the library to provide better support for the OpenMP standard. OpenUH also supports the Program Database Toolkit (PDT) of the University of Oregon.
A number of applications and benchmarks have already been successfully translated using OpenMP. However, we are still working to improve its features. The information given on these pages describes some known problems with this release and, where possible, provides a workaround. We have installed OpenUH at the National Center for Supercomputing Applications (NCSA) and NASA Ames for pilot evaluation. It is also being tested in the NSF-funded COPPER project.
In a collaboration with HLRS, University of Stuttgart, we have created an OpenMP validation suite that may be used to test OpenMP compilers for their conformance to the specification. The suite covers both OpenMP 1.0 and OpenMP 2.0 and both Fortran and C bindings. Tests may be individually or collectively invoked.