Open64: A Framework for High performance Compiler - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Open64: A Framework for High performance Compiler

Description:

Osprey Project Objectives. Rejuvenate Compiler Research for Itanium Processor ... Osprey Project leverages effort made by Pathscale heavily ... – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 16
Provided by: sml3
Category:

less

Transcript and Presenter's Notes

Title: Open64: A Framework for High performance Compiler


1
Open64 A Framework for High performance Compiler
March 2007
2
Presenters
  • Shin-Ming Liu, HP
  • Guang Gao, University of Deleware
  • Chunhua Liao, University of Houston
  • Robert Hundt, Google
  • Soo-Mook Moon, Seoul National University
  • Wei Chen, University of California, Berkeley
  • Tong Chen, IBM Research
  • Pen-Chung Yew, University of Minnisota
  • Sun Chan, Simplight Nanoelectronics
  • Dong Yuan, Tsinghua University

3
Outline
  • Open64 History
  • Osprey Project
  • Research Activities
  • Retargetability

4
Open64 History
  • Derived from SGI MIPSpro compiler suite
  • 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
  • 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),

5
Open64 History
  • Intel enhanced the Open64 compiler code generator
    with advanced optimizations for Itanium
  • Itanium-enhanced Open64 compiler suite released
    as the Open Research Compiler (ORC) today to
    facilitate Itanium-related research efforts in
    academia
  • Pathscale retargeted Open64 compilers for x86-64
    and seeded new repository to enable further
    development by open source compiler developers

6
Open64 History
  • Thus, Open64 compiler technology
  • is gnu-compatible since it uses the gcc, g
    front-ends
  • incorporates back-end support for Itanium
  • is based on mature compiler technology developed
    by SGI with wide production exposure
  • Multiple OS bringup, compiler self build,
    numerous large applications Oracle, Pro/E,
    Abacus, Morgan-Stanley, Maya,
  • is suitable for computer architecture, compiler
    architecture and compiler research

7
Open64 in the Commercial Space
  • STMicro
  • Equator Technologies (acquired by Pixelworks)
  • Cognigine (acquired by Huawei)
  • Tensilica
  • CEVA
  • Pathscale (acquired by QLogic)
  • Qualcomm (Unconfirmed)
  • Absoft
  • Nvidia
  • These are based on Pathscale branch

8
Osprey Project Objectives
  • Rejuvenate Compiler Research for Itanium
    Processor
  • Memory Hierarchy Optimizations
  • Exploit Multi-core features
  • Exploit ILP to the full extend
  • As GCC with high performance alternative back end
  • Productize Open64 for Itanium Processor
  • For performance critical applications wedded to
    open source compiler
  • Build Distributed development model
  • Centralized Source Repository bug tracking
  • Using svn and Bugzilla
  • Hosted in www.open64.net
  • Provide tight integration platform for activities
    from research institutes
  • Participation from Universities
  • University of Delaware, Tsinghua University,
    CAS-ICT
  • Coordinated from HP
  • Program management and testing infrastructure
  • Working toward third party product level support
  • Working toward steering committee for open64
    community

9
Comparison between ORC and Osprey
Osprey ORC
As a Compiler Research Platform Yes Yes
Promote leveraging research results across Universities/Institutes Yes No
Provide Source Code Repository Yes No
One Bug data base for reporting problems Yes No
Production Quality as a goal Yes No
Key Take Away Osprey Project wants to build a
research and development community around Open64
Technology
10
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

11
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

12
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

13
Research Areas My Wish List
  • 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!

14
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

15
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com