Presentation is loading. Please wait.

Presentation is loading. Please wait.

Simplicissimus, an Optimization Framework // User program Front end Core engine: stand-alone C++ program (19k lines of code) Optimizations expressed in.

Similar presentations


Presentation on theme: "Simplicissimus, an Optimization Framework // User program Front end Core engine: stand-alone C++ program (19k lines of code) Optimizations expressed in."— Presentation transcript:

1 Simplicissimus, an Optimization Framework // User program Front end Core engine: stand-alone C++ program (19k lines of code) Optimizations expressed in concepts and based on conceptual descriptions of types Transparent to user program Extensible (by rules; types; strategies) at compile time Minimal user input (10-100 lines of code) // Library user: // concept-based // rules etc. Simplicissimus http://www.cs.rpi.edu/gpg/research/Simplicissimus GCC Integrated into GCC, other front ends possible; in particular: handles full C++ language, not just a subset

2 Compiling and Optimizing with Concepts Old rules (i – n) + n = i n int, i pointer type x - x = 0 x * x -1 = 1 x  {int, float} Disadvantage : No extensions possible Concept-based rules (i op 1 n) op 2 right-inv(n) = i n  S, (S,op 2 ) Abelian group i  M, (M,op 1,S) right module x op right-inv(x) = right-id x  G, (G,op) group Uniform view on pre-defined and user- defined types Decoupling of rules and types, extensions possible Low maintenance costs Required: user-provided semantic information

3 Future Work on Compiler Optimizations From expressions to statements, including loops involving iterators Using concept-based performance specifications to guide algorithm selection and other high-level optimizations


Download ppt "Simplicissimus, an Optimization Framework // User program Front end Core engine: stand-alone C++ program (19k lines of code) Optimizations expressed in."

Similar presentations


Ads by Google