Accession Number:



Compiler-Driven Performance Optimization and Tuning for Multicore Architectures

Descriptive Note:

Final rept. 15 Oct 2009-14 Oct 2013

Corporate Author:


Personal Author(s):

Report Date:


Pagination or Media Count:



The widespread emergence of multicore processors as the computing engine in all commodity platforms presents our field with an enormous software development crisis. For over two decades, sequential software applications have enjoyed the free-ride of performance improvement with each new processor generation. The reality today is that existing and new applications must be changed to make them multi-threaded if they are to experience any performance benefits from newer generations of processors. An attractive approach to addressing some aspects of this monumental software development challenge is to develop highly optimized version of compute-intensive portions of an application. This project aims to develop a powerful system for auto-tuning of library routines and compute-intensive kernels, driven by the Pluto system for multicores that we are developing. The work here is motivated by recent advances in two major areas of performance optimization i auto-tuning approaches that employ a combination of static and dynamic exploration of the optimization space, and ii polyhedral-based approaches for powerful transformations of affine computations. Our work builds on some very recent developments using polyhedral models showing great promise for developing effective automatic parallelization frameworks for multicore architectures. With the polyhedral model, it is possible to reason about the correctness of complex loop transformations in a completely mathematical setting using powerful machinery from linear algebra and linear programming. This enables effective integrated transformation, and therefore can be the basis for developing a very powerful automatic parallelization framework that can target different multicore platforms.

Subject Categories:

  • Operations Research
  • Computer Hardware
  • Computer Systems

Distribution Statement: