70 likes | 168 Views
Advancing the Compiler Community’s Research Agenda with Archiving and Repeatability. Mary Hall May 25, 2010.
E N D
Advancing the Compiler Community’s Research Agenda withArchiving and Repeatability Mary Hall May 25, 2010 * This work has been partially sponsored by DOE SciDAC as part of the Performance Engineering Research Institute (PERI), DOE Office of Science, the National Science Foundation, DARPA and Intel Corporation.
Observations • Communities that are most successful at archiving experiments • Use a common set of tools or are part of large efforts; • Or, use a common interface • Therefore, dependences on platform and software have been mitigated. • Some are working on a “Grand Challenge” problem.
Challenges 1. Findings may depend on details of the underlying system: • source‐to‐source transformation has dependence on the version of the native compiler; • parallel performance has dependences on the run‐time layer and OS scheduling policy; • changes in hardware generations may shift impact of optimizations. 2. Monolithic compiler infrastructures impede direct comparisons: • Experimental infrastructure may be hundreds of thousands of lines of code, poorly documented, and fragile. 3. Standard of publishing is fastpaced, focused on conferences and workshops: • Researchers get more recognition from publishing exciting new ideas as opposed to following through on bigger, older ideas.
Traditional view: Batch Compiler code Autotuning Compiler: input data Experiments Engine transformation script(s) code Code Translation input data (characteristics) search script(s) My Research: Restructure Compiler
DOE SciDAC Performance Engineering Research Institute (PERI): Autotuning Tools Only HPC Toolkit (Rice) ROSE (LLNL) OSKI (LBNL) { CHiLL (USC/ISI and Utah) ROSE (LLNL) Orio (Argonne) Active Harmony (UMD) GCO (UTK) PerfTrack (LBNL, SDSC, RENCI)
Common APIs enable composing systems Triage Application Source Files ROSE, HPCToolkit • Performance measurements ROSE Performance Data Executable Kernels • Kernel extraction common transformation API Optimization CHiLL, Orio, OSKI, ROSE • Analysis • Transformations • Code generation PERI XML Kernel variants Search Tuned Application Exchange information between tools via APIs common search API ActiveHarmony, GCO, Orio • Empirical search