Compiler-Driven Performance Optimization and Tuning for Multicore Architectures

Abstract

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 10, 2015
Accession Number
ADA626880

Entities

People

  • Jagannathan Ramanujam

Organizations

  • Louisiana State University

Tags

Communities of Interest

  • Human Systems

DTIC Thesaurus Topics

  • Algorithms
  • Application Software
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Computing System Architectures
  • Embedded Systems
  • High Performance Computing
  • Instruction Set Architecture
  • Integer Programming
  • Integrated Circuits
  • Language
  • Linear Algebra
  • Linear Programming
  • Optimization
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.
  • Systems Analysis and Design

Technology Areas

  • Space