SlideShare a Scribd company logo
Open64 Compiler
Submitted By:
Maria Akther
ID: 083-20-119
Dept.:Computer Science
Daffodil International University
Submitted To:
Mohammad Zaidul Karim
Senior Lecturer
Dept. of CSE,CS &CIS
Daffodil International University
Introduction
Open64 is an open source, optimizing compiler tool for
Intel Itanium platform. It was released by SGI (Silicon
Graphics, Inc) company and now mostly serves as a
research platform for compiler and computer
architecture research groups.
Overview
 Developer(s):
Silicon Graphics, Inc., Institute of Computing Technology, Chinese Academy of
Sciences, Hewlett Packard, University of Delaware
 Initial release:
2002
 Stable release:
5.0 / November 10, 2011
Operating system:
Cross-platform, Linux
 Type:
Compiler
 License:
GNU General Public License
 Website:
http://www.open64.net/
Possible source languages compilation
Open64 supports Fortran 77/95 and C/C++, as well as the shared
memory API OpenMP. It has the capability to conduct high-quality
interprocedural analysis, data flow analysis, data dependence analysis
and array region analysis.
Possible targeted computer architectures
For the Itanium and x86-64 microprocessor architectures
Architecture of the compiler
Its major components are:
 The frontend for C/C++ and Fortran 77/90,
 Interprocedural analysis (IPA),
 Loop nest optimizer (LNO),
 Global optimizer (WOPT) and
 Code generator (CG).
Figure
Program Representations
 Five levels of intermediate representation (IR) are used in this
compiler to serve as the common interface among all the frontend
and backend components. This IR is named WHIRL.
 1. Front Ends:The C and C++ front ends are based on GNU
technology; the Fortran90/95 front end is the SGI Pro64 (Cray)
Fortran front end. Each of these produces a very high level IR for
the input program units, stored as a so-called “.B” file. This
representation is available for the subsequent phases.
2.Roles of IPA :
The only optimization component operating at program scope
Analysis: collect information from entire program
Optimization: performs optimizations across procedure boundaries
Depends on later phases for full optimization effects
Supplies cross-file information for later optimization phases
3. Loop Nest Optimizations:
 Transformations for Data Cache
 Transformations that help other optimizations
 Vectorization and Parallellization
The Components and the Phases
Front-End Parsing / Very High Level Whirl
IPA/
Inliner
Inlines procedures /VHW, alias analysis,
array section, code layout, procedure
cloning, dead function/variable
elimination, constant propagation
Loop Nest Optimizer Loop Fusion, Fission, Unrolling, Jam,
Interchange, Peeling, Tiling, Vector Data
Prefetching, Loop Dependence Analysis
Global Optimizer Traditional Optimizations, SSA
Code Generation Generate the code
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
Limitations
 C/C++ frontend was adopted from gcc 2.96, which is a
troublesome unofficial gcc compiler introducing many
compatibility problems.
 It can only generate binary code for Itanium platform. And the
worst thing for it is that there is no clear goal for its existence
and there are so many separated branches based on it.
Planned Items for x86 Open64 Compiler
• work on processor optimizations/tuning
• improve the vectorizer
• Improve (or fully utilize) alias analysis framework
• Improve Open64 code generation
• Improve robustness of compiler
• Plans to support the new C and C++ standards which are in final stage of
approval
• Static analysis (intra and cross file)
• Runtime checks (uninitialized variables, array bounds, checks for
multithreading)
• Multi-threading -Data race detection
Thank You

More Related Content

PDF
IIJ Technical DAY 2019 ~ IIJのサーバインフラはここまでやっています
 
PPTX
【2017年4月時点】Oracle Essbase 概要
PDF
Productionizing Machine Learning Pipelines with Databricks and Azure ML
PDF
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
PDF
Exadata SMART Monitoring - OEM 13c
PDF
SAP HANA SPS10- Backup/Recovery
PDF
Zero Data Loss Recovery Applianceのご紹介
PDF
NetflixにおけるPresto/Spark活用事例
IIJ Technical DAY 2019 ~ IIJのサーバインフラはここまでやっています
 
【2017年4月時点】Oracle Essbase 概要
Productionizing Machine Learning Pipelines with Databricks and Azure ML
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Exadata SMART Monitoring - OEM 13c
SAP HANA SPS10- Backup/Recovery
Zero Data Loss Recovery Applianceのご紹介
NetflixにおけるPresto/Spark活用事例

What's hot (8)

PDF
Data Center Infrastructure Management
PDF
Performance Tuning Using oratop
PDF
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
PPTX
Splunk Enterprise for IT Troubleshooting
PDF
自律型データベース Oracle Autonomous Database 最新情報
PDF
AlmaLinux と Rocky Linux の誕生経緯&比較
PDF
Understanding Oracle RAC 12c Internals OOW13 [CON8806]
PDF
Message Queues at salesforce.com
Data Center Infrastructure Management
Performance Tuning Using oratop
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
Splunk Enterprise for IT Troubleshooting
自律型データベース Oracle Autonomous Database 最新情報
AlmaLinux と Rocky Linux の誕生経緯&比較
Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Message Queues at salesforce.com
Ad

Similar to Open64 compiler (20)

PPT
Open64 cgo07-google 01
PPTX
Go Native : Squeeze the juice out of your 64-bit processor using C++
PPTX
Enabling Java: Windows on Arm64 - A Success Story!
PPT
15 ia64
PPT
Intel 64bit Architecture
PDF
HSA From A Software Perspective
PDF
HC-4017, HSA Compilers Technology, by Debyendu Das
PPTX
Putting Compilers to Work
PDF
Implement Runtime Environments for HSA using LLVM
PDF
"Enabling Efficient Heterogeneous Processing Through Coherency," a Presentati...
PPTX
PGI Compilers & Tools Update- March 2018
PDF
A whirlwind tour of the LLVM optimizer
PDF
Towards Auto-tuning Facilities into Supercomputers in Operation - The FIBER a...
PPTX
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
PDF
Pragmatic Optimization in Modern Programming - Demystifying the Compiler
PPT
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
PPTX
OpenACC Monthly Highlights- December
PDF
Running Java on Arm - Is it worth it in 2025?
PDF
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
PDF
Polyglot Architecture: A Rational Approach to Software Design
Open64 cgo07-google 01
Go Native : Squeeze the juice out of your 64-bit processor using C++
Enabling Java: Windows on Arm64 - A Success Story!
15 ia64
Intel 64bit Architecture
HSA From A Software Perspective
HC-4017, HSA Compilers Technology, by Debyendu Das
Putting Compilers to Work
Implement Runtime Environments for HSA using LLVM
"Enabling Efficient Heterogeneous Processing Through Coherency," a Presentati...
PGI Compilers & Tools Update- March 2018
A whirlwind tour of the LLVM optimizer
Towards Auto-tuning Facilities into Supercomputers in Operation - The FIBER a...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Pragmatic Optimization in Modern Programming - Demystifying the Compiler
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
OpenACC Monthly Highlights- December
Running Java on Arm - Is it worth it in 2025?
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
Polyglot Architecture: A Rational Approach to Software Design
Ad

More from Maria Akther (6)

PPTX
Prolocalizer
PPT
Matlab
PPTX
Iso12207:2008 standard
PPT
Error detection and correction
PPT
Boundary Extraction
PPT
Impact of supply chain management
Prolocalizer
Matlab
Iso12207:2008 standard
Error detection and correction
Boundary Extraction
Impact of supply chain management

Recently uploaded (20)

PPTX
Cell Structure & Organelles in detailed.
PPTX
Pharma ospi slides which help in ospi learning
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Insiders guide to clinical Medicine.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Sports Quiz easy sports quiz sports quiz
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Institutional Correction lecture only . . .
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Cell Structure & Organelles in detailed.
Pharma ospi slides which help in ospi learning
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
TR - Agricultural Crops Production NC III.pdf
Microbial diseases, their pathogenesis and prophylaxis
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Insiders guide to clinical Medicine.pdf
01-Introduction-to-Information-Management.pdf
Final Presentation General Medicine 03-08-2024.pptx
Sports Quiz easy sports quiz sports quiz
Pharmacology of Heart Failure /Pharmacotherapy of CHF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Institutional Correction lecture only . . .
O5-L3 Freight Transport Ops (International) V1.pdf
O7-L3 Supply Chain Operations - ICLT Program
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx

Open64 compiler

  • 2. Submitted By: Maria Akther ID: 083-20-119 Dept.:Computer Science Daffodil International University Submitted To: Mohammad Zaidul Karim Senior Lecturer Dept. of CSE,CS &CIS Daffodil International University
  • 3. Introduction Open64 is an open source, optimizing compiler tool for Intel Itanium platform. It was released by SGI (Silicon Graphics, Inc) company and now mostly serves as a research platform for compiler and computer architecture research groups.
  • 4. Overview  Developer(s): Silicon Graphics, Inc., Institute of Computing Technology, Chinese Academy of Sciences, Hewlett Packard, University of Delaware  Initial release: 2002  Stable release: 5.0 / November 10, 2011 Operating system: Cross-platform, Linux  Type: Compiler  License: GNU General Public License  Website: http://www.open64.net/
  • 5. Possible source languages compilation Open64 supports Fortran 77/95 and C/C++, as well as the shared memory API OpenMP. It has the capability to conduct high-quality interprocedural analysis, data flow analysis, data dependence analysis and array region analysis. Possible targeted computer architectures For the Itanium and x86-64 microprocessor architectures
  • 6. Architecture of the compiler Its major components are:  The frontend for C/C++ and Fortran 77/90,  Interprocedural analysis (IPA),  Loop nest optimizer (LNO),  Global optimizer (WOPT) and  Code generator (CG).
  • 9.  Five levels of intermediate representation (IR) are used in this compiler to serve as the common interface among all the frontend and backend components. This IR is named WHIRL.  1. Front Ends:The C and C++ front ends are based on GNU technology; the Fortran90/95 front end is the SGI Pro64 (Cray) Fortran front end. Each of these produces a very high level IR for the input program units, stored as a so-called “.B” file. This representation is available for the subsequent phases.
  • 10. 2.Roles of IPA : The only optimization component operating at program scope Analysis: collect information from entire program Optimization: performs optimizations across procedure boundaries Depends on later phases for full optimization effects Supplies cross-file information for later optimization phases 3. Loop Nest Optimizations:  Transformations for Data Cache  Transformations that help other optimizations  Vectorization and Parallellization
  • 11. The Components and the Phases Front-End Parsing / Very High Level Whirl IPA/ Inliner Inlines procedures /VHW, alias analysis, array section, code layout, procedure cloning, dead function/variable elimination, constant propagation Loop Nest Optimizer Loop Fusion, Fission, Unrolling, Jam, Interchange, Peeling, Tiling, Vector Data Prefetching, Loop Dependence Analysis Global Optimizer Traditional Optimizations, SSA Code Generation Generate the code
  • 12. 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
  • 13. Limitations  C/C++ frontend was adopted from gcc 2.96, which is a troublesome unofficial gcc compiler introducing many compatibility problems.  It can only generate binary code for Itanium platform. And the worst thing for it is that there is no clear goal for its existence and there are so many separated branches based on it.
  • 14. Planned Items for x86 Open64 Compiler • work on processor optimizations/tuning • improve the vectorizer • Improve (or fully utilize) alias analysis framework • Improve Open64 code generation • Improve robustness of compiler • Plans to support the new C and C++ standards which are in final stage of approval • Static analysis (intra and cross file) • Runtime checks (uninitialized variables, array bounds, checks for multithreading) • Multi-threading -Data race detection