Auto-tuning full applications: A case study

作者:Tiwari Ananta*; Hollingsworth Jeffrey K; Chen Chun; Hall Mary; Liao Chunhua; Quinlan Daniel J; Chame Jacqueline
来源:International Journal of High Performance Computing Applications, 2011, 25(3): 286-294.
DOI:10.1177/1094342011414744

摘要

In this paper, we take a concrete step towards materializing our long-term goal of providing a fully automatic end-to-end tuning infrastructure for arbitrary program components and full applications. We describe a general-purpose offline auto-tuning framework and apply it to an application benchmark, SMG2000, a semi-coarsening multigrid on structured grids. We show that the proposed system first extracts computationally intensive loop nests into separate executable functions, a code transformation called outlining. The outlined loop nests are then tuned by the framework and subsequently integrated back into the application. Each loop nest is optimized through a series of composable code transformations, with the transformations parameterized by unbound optimization parameters that are bound during the tuning process. The values for these parameters are selected using a search-based auto-tuner, which performs a parallel heuristic search for the best-performing optimized variants of the outlined loop nests. We show that our system pinpoints a code variant that performs 2.37 times faster than the original loop nest. When the full application is run using the code variant found by the system, the application's performance improves by 27%.

  • 出版日期2011-8