SlideShare a Scribd company logo
1 of 15
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

What's hot

Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
Bill Duncan
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
Xiaozhe Wang
 

What's hot (20)

Linux : PSCI
Linux : PSCILinux : PSCI
Linux : PSCI
 
LLVM introduction
LLVM introductionLLVM introduction
LLVM introduction
 
Flash Bootloader Development for ECU programming
Flash Bootloader Development for ECU programmingFlash Bootloader Development for ECU programming
Flash Bootloader Development for ECU programming
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
 
EB corbos and the L4Re microhypervisor: Open-source automotive safety
EB corbos and the L4Re microhypervisor: Open-source automotive safetyEB corbos and the L4Re microhypervisor: Open-source automotive safety
EB corbos and the L4Re microhypervisor: Open-source automotive safety
 
Combinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification TreesCombinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification Trees
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
ML & AI based Cloud Compiler.pptx
ML & AI based Cloud Compiler.pptxML & AI based Cloud Compiler.pptx
ML & AI based Cloud Compiler.pptx
 
Introduction to Linux Drivers
Introduction to Linux DriversIntroduction to Linux Drivers
Introduction to Linux Drivers
 
QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded Development
 
Bootloaders
BootloadersBootloaders
Bootloaders
 
I2C Drivers
I2C DriversI2C Drivers
I2C Drivers
 
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted FirmwareLCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
 
Getting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testingGetting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testing
 
Review of QNX
Review of QNXReview of QNX
Review of QNX
 
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
 
How To Use AGL CAN Signal
How To Use AGL CAN SignalHow To Use AGL CAN Signal
How To Use AGL CAN Signal
 

Similar to Open64 compiler

Pacemaker+DRBD
Pacemaker+DRBDPacemaker+DRBD
Pacemaker+DRBD
Dan Frincu
 
mehmet_ekici
mehmet_ekicimehmet_ekici
mehmet_ekici
xpath7
 

Similar to Open64 compiler (20)

Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated SystemsPetapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
 
Systems Support for Many Task Computing
Systems Support for Many Task ComputingSystems Support for Many Task Computing
Systems Support for Many Task Computing
 
Software update for embedded systems
Software update for embedded systemsSoftware update for embedded systems
Software update for embedded systems
 
Sambhab_Mohapatra
Sambhab_MohapatraSambhab_Mohapatra
Sambhab_Mohapatra
 
Open-Source Frameworks for Deep Learning: an Overview
Open-Source Frameworks for Deep Learning: an OverviewOpen-Source Frameworks for Deep Learning: an Overview
Open-Source Frameworks for Deep Learning: an Overview
 
Simrat Resume
Simrat ResumeSimrat Resume
Simrat Resume
 
Reproducible bioinformatics pipelines with Docker and Anduril
Reproducible bioinformatics pipelines with Docker and AndurilReproducible bioinformatics pipelines with Docker and Anduril
Reproducible bioinformatics pipelines with Docker and Anduril
 
Getting Access to ALCF Resources and Services
Getting Access to ALCF Resources and ServicesGetting Access to ALCF Resources and Services
Getting Access to ALCF Resources and Services
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Open Source in the Enterprise
Open Source in the EnterpriseOpen Source in the Enterprise
Open Source in the Enterprise
 
Pacemaker+DRBD
Pacemaker+DRBDPacemaker+DRBD
Pacemaker+DRBD
 
Ankur_Srivastava
Ankur_SrivastavaAnkur_Srivastava
Ankur_Srivastava
 
mehmet_ekici
mehmet_ekicimehmet_ekici
mehmet_ekici
 
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
 
Open-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaOpen-Do - Initial concepts and idea
Open-Do - Initial concepts and idea
 
posterPDF
posterPDFposterPDF
posterPDF
 
resume
resumeresume
resume
 
Satyam_Singh_cv
Satyam_Singh_cvSatyam_Singh_cv
Satyam_Singh_cv
 
Across the Silicon Spectrum: Xeon Phi to Quark – Unleash the Performance in Y...
Across the Silicon Spectrum: Xeon Phi to Quark – Unleash the Performance in Y...Across the Silicon Spectrum: Xeon Phi to Quark – Unleash the Performance in Y...
Across the Silicon Spectrum: Xeon Phi to Quark – Unleash the Performance in Y...
 
Vishal_Resume
Vishal_ResumeVishal_Resume
Vishal_Resume
 

More from Maria Akther (6)

Prolocalizer
ProlocalizerProlocalizer
Prolocalizer
 
Matlab
MatlabMatlab
Matlab
 
Iso12207:2008 standard
Iso12207:2008 standardIso12207:2008 standard
Iso12207:2008 standard
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
 
Boundary Extraction
Boundary ExtractionBoundary Extraction
Boundary Extraction
 
Impact of supply chain management
Impact of supply chain managementImpact of supply chain management
Impact of supply chain management
 

Recently uploaded

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 

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