Open64 Release 4'0 High Performance Compiler for Itanium and x86 Linux ShinMing Liu, Hewlett Packard - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Open64 Release 4'0 High Performance Compiler for Itanium and x86 Linux ShinMing Liu, Hewlett Packard

Description:

What's the News. Open64 version 4.0 is released for compiler research ... Incorporate latest ORC Itanium Code Generator. Implement IA64 C ABI compatibility ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 14
Provided by: sml3
Category:

less

Transcript and Presenter's Notes

Title: Open64 Release 4'0 High Performance Compiler for Itanium and x86 Linux ShinMing Liu, Hewlett Packard


1
Open64 Release 4.0High Performance Compiler for
Itanium and x86 LinuxShin-Ming Liu, Hewlett
Packard
PLDI, June 2007
2
Whats 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 4.0 compatible
  • Industrial Strength
  • Fortran95 suitable for HPC market
  • www.open64.net 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

3
Open64 History
  • Derived from SGI MIPSpro compiler suite
  • MIPSpro compiler incorporates advanced
    optimizations of 90s
  • 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

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

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 www.open64.net 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
  • Participates in HP Osprey Project
  • Others

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

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!

8
Thank you
  • Meet in the hallway for discussions

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-2.16.1
  • My encouragement to support Pathscale effort

11
HP Osprey Project 2006 Achievements
  • Recreated source code repository
  • Use subversion hosted on http//www.open64.net
  • 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

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

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
Write a Comment
User Comments (0)
About PowerShow.com