Title :
A multi-objective auto-tuning framework for parallel codes
Author :
Jordan, Herbert ; Thoman, Peter ; Durillo, J.J. ; Pellegrini, Sara ; Gschwandtner, Philipp ; Fahringer, Thomas ; Moritsch, H.
Author_Institution :
Inst. of Inf., Univ. of Innsbruck, Innsbruck, Austria
Abstract :
In this paper we introduce a multi-objective autotuning framework comprising compiler and runtime components. Focusing on individual code regions, our compiler uses a novel search technique to compute a set of optimal solutions, which are encoded into a multi-versioned executable. This enables the runtime system to choose specifically tuned code versions when dynamically adjusting to changing circumstances. We demonstrate our method by tuning loop tiling in cache-sensitive parallel programs, optimizing for both runtime and efficiency. Our static optimizer finds solutions matching or surpassing those determined by exhaustively sampling the search space on a regular grid, while using less than 4% of the computational effort on average. Additionally, we show that parallelism-aware multi-versioning approaches like our own gain a performance improvement of up to 70% over solutions tuned for only one specific number of threads.
Keywords :
optimising compilers; parallel programming; sampling methods; search problems; software performance evaluation; cache-sensitive parallel programs; code regions; computational effort; multiobjective auto-tuning framework comprising compiler; multiversioned executable; parallel codes; parallelism-aware multiversioning approach; performance improvement; runtime components; runtime system; search space; search technique; specifically tuned code versions; static optimizer; tuning loop tiling; Computer architecture; Optimization; Runtime; Sociology; Statistics; Tiles; Tuning;
Conference_Titel :
High Performance Computing, Networking, Storage and Analysis (SC), 2012 International Conference for
Conference_Location :
Salt Lake City, UT
Print_ISBN :
978-1-4673-0805-2