Download presentation
Presentation is loading. Please wait.
Published byIrene Lang Modified over 8 years ago
1
Open64 | The Open Research Compiler Ben Reinhardt and Cliff Piontek
2
Open64 Initially created by SGI Initially created by SGI –Derived from work by Intel Currently maintained by Professor Guang Gao at UD and CAPSL Currently maintained by Professor Guang Gao at UD and CAPSL Source Languages: C, C++, Fortrain90/95 Source Languages: C, C++, Fortrain90/95 Arch: MIPS, IA64, X86-64, Ceva, Tensilica, XScale (ARM) 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. 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 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 http://www.open64.net –Official Open64 Site www.wikipedia.org www.wikipedia.org –The Free Encyclopedia http://www2.cs.uh.edu/~dragon/Document s/open64-doc.pdf http://www2.cs.uh.edu/~dragon/Document s/open64-doc.pdf –University of Houston Computer Science Dept.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.