Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD.

Similar presentations


Presentation on theme: "1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD."— Presentation transcript:

1 1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD

2 2 Agenda  What is optimizing compiler?  Problem description  Problem solution  Impact  Customers  Market examples  Q & A

3 3 What is optimizing compiler? Optimizer assembler binaries … C, C++ F77, F90 … Multi core Superscalar EPIC

4 4 Problem description  All existing optimizers are organized as monolithic systems which can not be quickly retargeted with high efficiency (including gcc)  Development of new optimizer is very expensive task and requires much time & recourses for maintenance  Need of optimizing compiler tools and building blocks for creating compilers is obvious

5 5 Problem solution

6 6 Solution requirements  Provide tools and building blocks which allow easy and quick construction of optimizer with arbitrary level of complexity  Compatible with any existing optimizing technology chain  Each building block must have its own independent value

7 7 Base ideas of the solution  Parameterization of optimizer environment information through database (allow to port the whole solution in any optimizing technology chain including existing ones)  Creating of optimizing compiler functionality hierarchy based on latest achievements of computer science (allow to use each functionality element separately as a building block)

8 8 Target architecture information Input language information Environment of optimizing building blocks IPO, Data Dependence analysis, multi threading, … Tools, Control and Data Flow framework, Data Flow optimizer, Control Flow optimizer, … High level optimizer (loop macro transformations), Vectorizer, … Register allocation, Global Code Scheduling, Software Pipelining (Modulo Scheduling), Predication & Speculation, …

9 9 Compiler building blocks internal structure Memory manager Tools (hash, bit vector, list, array, ps-form) Graph DOM/PDOM Tree Loop Tree IDF DepGraph DUG CFG; profile support Data Flow optimizations Control Flow optimizations Analysis & Optimizations Value Numbering

10 10 Building blocks optimizer Tools (graph, BDD, …) Control & Data Flow framework Analysis (IPA, DF, DD,…) Optimizations & Scheduling Building blocks hierarchyEnvironment database Machine model Program’s semantics: operations, operands, control transfer, … High level information: symbol table, dimensions, …

11 11 Combining building blocks  Common infrastructure for various types of building blocks gives new to the global industry advantages for compiler designers: High level of interoperability between blocks allows to use un-precedently many optimization algorithms and transformations at a single optimizing phase No or minimal impact on performance of compiler and on complier code size in case of massive reuse of optimizations during different phases Allows faster building and tuning optimizing heuristics

12 12 Adding more efficiency  Static expert-based rules for combining optimizing transformation allows to create very good prototypes with good performance in general  Adaptive learning with non-linear feedback creates a human-like behavior with behavior pattern reuse, which results in highly efficient executable code

13 13 Impact  Automation of more than 70% of work, required for creating highest quality optimizer through technology reusing  Each building block can be separately used in any optimizing technology  Strong base to develop any compiler for any platform  Good scalable product for market

14 14 Customers  Hardware companies  Software companies  Universities interested in creating environment for scientific experiments in high performance computing area  …

15 15 Market examples  Example for EDG - they have: 1 year license cost from $40K to 250K$ 137 active licenses More than 40 well known companies in user list including HP, ARM, Fujitsu-Siemens About 3 developers support the product  Example for Intel – they have: More than $10.000K compiler sales per year This is only 1-2% share of the whole compiler market

16 16 Thanks for you time and Q & A !


Download ppt "1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD."

Similar presentations


Ads by Google