1 / 8

Open64 | The Open Research Compiler

Open64 | The Open Research Compiler. Ben Reinhardt and Cliff Piontek. Open64. Initially created by SGI Derived from work by Intel Currently maintained by Professor Guang Gao at UD and CAPSL Source Languages: C, C++, Fortrain90/95 Arch: MIPS, IA64, X86-64, Ceva, Tensilica, XScale (ARM).

tonya
Download Presentation

Open64 | The Open Research Compiler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open64 | The Open Research Compiler Ben Reinhardt and Cliff Piontek

  2. Open64 • Initially created by SGI • Derived from work by Intel • Currently maintained by Professor Guang Gao at UD and CAPSL • Source Languages: C, C++, Fortrain90/95 • Arch: MIPS, IA64, X86-64, Ceva, Tensilica, XScale (ARM)

  3. How it works Open64 is broken down into different modules which communicate via a common IR called WHIRL.  The major components are the three front end modules and a back end module which is subdivided into 3 optimizers and a code generator.  There are components to support parallelization. The first phase takes in code either in C, C++ or Fortran.  The three front end components produce a very high level IR stored in a .B file. This file is then passed to the Very High Level Optimizer (VHO) which operates on the generated code and lowers it to a high level IR.  The following optimizers work on the code stage by stage reducing it to lower level IR.  All of this is controlled by a driver.

  4. Current Use • NVIDIA uses open64 for its general purpose computing using GPUs.  Open64 was chosen for the strength of its optimizations.

  5. Benchmarks Out of all the CPU2000 and CPU2006 benchmarks, they claim benefits in: • The CPU2000 FP benchmark 179.art • INT benchmark 181.mcf • The CPU2006 INT benchmark 462.libquantum.

  6. Limitations • Initially designed for a single architecture but has since proven itself on many others

  7. Future • Further tune the current implementation of static profile estimates • Relax some of the restrictions • Make the analysis and transformation more general, allowing more types to be transformed • Will allow them to apply the transformation to more applications and analyze the effects. • Make the existing field-reordering framework and the new structure layout optimization framework collaborate with each other so as to maximize their combined effects

  8. References • http://www.open64.net • Official Open64 Site • www.wikipedia.org • The Free Encyclopedia • http://www2.cs.uh.edu/~dragon/Documents/open64-doc.pdf • University of Houston Computer Science Dept.

More Related