Maks-maqao : an intelligent integrated performance analysis and optimization framework
Institution:
Versailles-St Quentin en YvelinesDisciplines:
Directors:
Abstract EN:
In this thesis, we advocate for a new approach in code optimization domain, a finer granularity in code analysis and optimization and a richer feed-back to the user. With the original iterative compilation approach, we have only the execution time or a few hardware counter for the whole code. We propose an intelligent system called MAKS-MAQAO (Multi-Architecture Knowledge based System-Modular Quality Analyzer and Optimizer), which is mainly based on post-compilation to provide more detailed information from an inner-view perspective. Furthermore, the feedback provided to the compiler is richer than simple raw cycle counts. This feed-back contains a set of recommendations and hypothesis to guide the user to apply pre-selected transformations that the intelligent system deems to be relevant. Therefore, not all the optimizations are chosen within the traditional iterative compilation process. Instead, a subset (which will grow with the system learning) is managed by the intelligent system.
Abstract FR:
Dans cette thèse, nous présentons MAKS-MAQAO (Multi-Architecture Knowledge-based System-Modular Assembly Quality Analyzer and Analysis). Cet outil nous permet d'avoir une combinaison d'analyses statique et dynamique des performances du code assembleur pour trouver les points chauds du code ou cette différence entre performances prédites et mesurées est la plus grande, cela traduisant certainement un code pouvant être mieux compilé. Sur ces portions de code, MAQAO identifie les optimisations réalisées(ou non-réalisées) par le compilateur. En effet, la compréhension du compilateur permet l'expression d'un code source propre à mieux satisfaire les conditions de déclenchement d'optimisations. Cet outil permet: - L'interprétation des optimisations proposés par le compilateur. A ce niveau, le système expert doit classifier les connaissances (toute information utile) et les nouvelles observations (nouveaux kernels). C'est une interprétation prédictive à partir d'observation pré-stockées. - La reconnaissance des kernels. A ce niveau, le but est que MAQAO devient intelligent. Pour une application donnée, il modélise ses kernels pour voir s'il y a des similitudes au modèle de kernels stockés dans la base de connaissance. - La proposition de nouvelles optimisation pour avoir des meilleures performances.