Code-Partitioning for a Concise Characterization of Programs for Decoupled Code Tuning
Résumé
Astex, Automatic Speculative Thread EXtractor, is a compiler front-end for automatic C-code partitioning in speculative codelets, i.e. pure function that can be distributed over computing units of a system. It is an hybrid approach mixing static analysis and speculative data from profiles to offline generating a partition of the input C sequential code. In addition to the generated C partitioned application, it gives all the information on extracted kernels for a distributed memory heterogeneous system implementation and optimization. It makes a full abstraction of the target system for the programmer and provide useful guideline for code refactoring, if needed. It includes time profiling, communication, data layout information and data value prediction. Each codelet can be generated as a stand-alone program with associated input data set for effective iterative optimisation. Astex results on NAS, SPEC 2006 and H264 benchmarks are relevant, and future works are on the way toward automatic specialized coprocessor programming.
Origine : Fichiers produits par l'(les) auteur(s)