Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.