Download presentation
Presentation is loading. Please wait.
Published byIndra Indradjaja Modified over 6 years ago
1
Open64 Release 4.0 High Performance Compiler for Itanium and x86 Linux Shin-Ming Liu, Hewlett Packard PLDI, June 2007
2
What’s the News Open64 version 4.0 is released for compiler research
Supports Itanium and x86 family on Linux Three languages: C, C++, Fortran95 GCC/G compatible Industrial Strength Fortran95 suitable for HPC market hosts SVN, Bugzilla, Release, Documentation For cooperative development model for best leverage Downloadable binary and source packages Open64 Steering Group to coordinate open64 architectural evolution Members from Industry and Universities 2/25/2019
3
Open64 History Derived from SGI MIPSpro compiler suite
MIPSpro compiler incorporates advanced optimizations of 90’s Interprocedural Analysis, rooted from Rice University Loop Nest Optimizer, a production version of Stanford SUIF Global Optimizer, rooted from Stanford/MIPS, invented SSAPRE Code Generator, rooted from Cydra5 and Multiflow technology SGI did the initial port to Itanium SGI open sourced the MIPSpro compilers in Summer 2000 as the “Pro64” compiler suite Gnu-front-end based C, C++ compilers Cray-FORTRAN front-end based F95 compiler 2/25/2019
4
Open64 History University of Delaware took over maintenance of “Pro64” compiler suite New distribution re-named to be “Open64” compiler suite Retargeted to several machines Mips, IA64, X86-64, Ceva, Tensilica, XScale (ARM), … Intel enhanced the Open64 compiler code generator with advanced optimizations for Itanium Itanium-enhanced Open64 compiler suite released as the “Open Research Compiler” (ORC) to facilitate Itanium-related research efforts in academia Pathscale retargeted Open64 compilers for x86-64 and EMT-64 2/25/2019
5
Open64 Active Contributors
HP Initiated Osprey Project since Nov. 2005, to productize open64 for Itanium/Linux, to address the need for high performance production quality open source compiler Merge various branches (x86, ORC), follow gcc evolution Qlogic (aka Pathscale) Retargeted for x86 family, updated GCC/G++ front end, polished the production quality for x86/Linux Google Initiated Go64 project in 2007, to develop performance advisory feature University of Delaware Hosts for source tree repository, etc. Active contributor in HP Osprey Project Tsinghua University Participates in HP Osprey Project Initiated the Retargetability Project, to enable a new architecture port in a week China Academy of Science Others… 2/25/2019
6
Open64 is for YOU Compiler research for multi-core era
Highly scalable Interprocedural Optimization Framework Loop Nest Optimization with automatic parallelization Global Optimization and Code Generator tuned for EPIC, RISC, and CISC Compiler for new SOC in your mind Simple to Retarget Compiler for GPU and Hardware Accelerators Framework for Static Analysis Tool IPA framework enables accurate diagnostics Framework for Run Time Security Check Can use advanced optimizations to minimize overhead 2/25/2019
7
Call for Participation
All dimensions of Multi-core / Multi-thread Break the Memory Hierarchy Barrier Better Integration with Java and C# Mix-mode programming paradigm Trade-off between Static and Dynamic Compilation model Debugging and Performance Analysis/Advisory Tools Productivity and Security Check Tools Scalable/Incremental Inter Procedural Analysis Framework for Huge Applications Instruction Level Parallelism Is it all done? Clearly Not! 2/25/2019
8
Thank you Meet in the hallway for discussions… 2/25/2019
9
Backup
10
Contributions from Pathscale (Qlogic)
Osprey Project leverages effort made by Pathscale heavily Pathscale contributions (a Partial List): Brought up x8664 target support to Open64 Option level compatibility with GCC/G++ Upgraded the GNU 3.x and GNU 4.x front end Added support for C++ Exception Handling in bridge Introduced new abstraction between GNU front end and Open64 framework Fixed many bugs in the front end /back end bridge Improved quality of middle end optimizations Updated Fortran front-end to support 2003 standard Updated IPA linker to binutils My encouragement to support Pathscale effort 2/25/2019
11
HP Osprey Project 2006 Achievements
Recreated source code repository Use subversion; hosted on Includes all Open64 past releases in kept in Sourceforge Incorporated changes made in Pathscale Form extended engineering team, by engaging key academic and research institutions Released Opencc 3.0 Adopted Pathscale 2.1 tree for GCC3.x front-end updates Incorporate latest ORC Itanium Code Generator Implement IA64 C++ ABI compatibility Ensure gcc command option compatibility Booted Linux Kernel with few source work-arounds The compiler will be hosted on HP Portal for download 2/25/2019
12
HP Osprey Project 2007 Goals
Merge Pathscale 3.0 changes Catch up with GCC4.2 front ends Full GCC ABI compatibility New Inter Procedural Analysis/Optimizations Memory Hierarchy Optimizations New Itanium Specific Optimizations Advanced Prefetch Exploit Multi-core Trend Loop Parallelization, Automatic or Program Advise Thread Level Parallelization 2/25/2019
13
Open64 Research Activities
UPC – UC Berkeley OpenMP & Tools – U of Houston EPS, a global scheduler –SNU Static analysis / performance advisory – Google Cyclops – University of Delaware Speculative Parallel Threading – UMN 2/25/2019
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.