Graphite Workshop
A Graphite Workshop has been organized on AMD's campus in Austin on November 16 and 17, 2008.
Attendees
- Roberto Bagnara, University of Parma
- Cedric Bastoul, INRIA
- Andrey Belevantsev, Institute for System Programming of RAS
- Albert Cohen, INRIA
- Tobias Grosser, Student Uni Passau
- Richard Guenther, SuSE
- Gautam Gupta, COREquations
- Christophe Harle, AMD
- Jan Hubicka (Honza), SuSE
- Harsha Jagasia, AMD
- Michael Lai, AMD
- Sebastian Pop, AMD
- Dwarakanath Rajagopal, AMD
- J. (Ram) Ramanujam, Louisiana State University
- Sanjay Rajopadhye, Colorado State University
- Jan Sjodin, AMD
- Sven Verdoolaege, Katholieke Universiteit Leuven
Agenda
Introduction graphite_introduction.pdf: Led by Sebastian Pop, Albert Cohen.
- History and current status of Graphite (tools, representations,
- SCoP formation algorithm, gloog pretty-printer, analyses, transformations, limitations).
- History and current status of Graphite (tools, representations,
Polyhedral Compilation Package (PCP) graphite_pcp.pdf: (Jan Sjodin)
Front-end, static analysis and conversion to polyhedral representation graphite_frontend.pdf.
SCoP formation vs. code generation graphite_scop_formation.pdf. (Tobias Grosser)
- Data dependence and reaching definition analysis (Sebastian Pop)
- Instance-wise dependences and reaching definitions. (Albert Cohen)
- Fuzzy analysis. (Albert Cohen)
Interprocedural array region analysis (w/ or w/o LTO) graphite_ipo.pdf. (Honza Hubicka)
- Polyhedral representations: Led by Albert Cohen, Roberto Bagnara, Sven Verdoolaege
Integration with PIPlib and Omega Test graphite_pip.pdf. (Cedric Bastoul, Sebastian Pop, Sven Verdoolaege)
Parma Polyhedra Library Developments and Graphite graphite_ppl.pdf. (Roberto Bagnara)
An Integer Set Library for CLooG graphite_cloog_isl.pdf (see also An Integer Set Library for Program Analysis). (Sven Verdoolaege)
- Improvements: sorting, simplification in context, caching, relaxation. (Albert Cohen)
- Interaction with the array middle-end. (Richard Guenther)
- Support for reductions. (Albert Cohen)
Direct support for irregular control flow graphite_irregular_cf.pdf. (Cedric Bastoul)
Middle-end: how to add time, space and machine descriptions graphite_midend.pdf
Performance Modeling and Heuristics graphite_scheduling.pdf: Harsha Jagasia, Dwarak Rajagopal.
- Machine descriptions, cache and locality models. (Harsha Jagasia)
- Computing a schedule. (Harsha Jagasia, Sebastian Pop)
- Parametric tiling support. (Sanjay Rajopadhye, Cedric Bastoul, Albert Cohen)
- Direct search in Farkas coefficient spaces. (Albert Cohen, Cedric Bastoul)
- Array expansion and contraction. (Richard Guenther)
- Unrolling support. (Cedric Bastoul)
- Modulo guard elimination support. (Tobias Grosser)
- Automatic parallelization: Albert Cohen, Jan Hubicka, Sebastian Pop.
- Loop parallelization with interprocedural analysis. (Honza Hubicka, Richard Guenther)
- Loop selection (with interchange and distribution). (Sebastian Pop)
- Streamization (post/wait synchronizations). (Sebastian Pop)
- Automatic extraction of functional parallelism. (Albert Cohen, Sebastian Pop)
- Vectorization and parallelization (more discussions):
- Interaction with vectorization. (group discussion)
- Interaction with parallelization. (group discussion)
Testing and Performance Evaluation graphite_testing.pdf: (Sebastian Pop, Dwarak Rajagopal)
- Reproducibility challenges, regression testing, algorithmic complexity:
- GCC testsuite
- PCP testsuite
- Cloog testsuite
- Polyhedral operations testsuite
- Community Interaction
- Other compilers: The COREquations Engine (Gautam Gupta)
- Work sharing/splitting, responsibilities.
- Publication policy.
- Integration of external polyhedral tools (at the level of the polyhedral representation).