Download presentation
Presentation is loading. Please wait.
Published byLogan Johns Modified over 8 years ago
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 !
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.