A unified framework for schedule and storage optimization

  • Authors:
  • William Thies;Frédéric Vivien;Jeffrey Sheldon;Saman Amarasinghe

  • Affiliations:
  • Laboratory For Computer Science, Massachusetts Institute of Technology, Cambridge, MA;Universitd Louis Pasteur, Strasbourg, France;Laboratory For Computer Science, Massachusetts Institute of Technology, Cambridge, MA;Laboratory For Computer Science, Massachusetts Institute of Technology, Cambridge, MA

  • Venue:
  • Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

We present a unified mathematical framework for analyzing the tradeoffs between parallelism and storage allocation within a parallelizing compiler. Using this framework, we show how to find a good storage mapping for a given schedule, a good schedule for a given storage mapping, and a good storage mapping that is valid for all legal schedules. We consider storage mappings that collapse one dimension of a multi-dimensional array, and programs that are in a single assignment form with a one-dimensional schedule. Our technique combines affine scheduling techniques with occupancy vector analysis and incorporates general affine dependences across statements and loop nests. We formulate the constraints imposed by the data dependences and storage mappings as a set of linear inequalities, and apply numerical programming techniques to efficiently solve for the shortest occupancy vector. We consider our method to be a first step towards automating a procedure that finds the optimal tradeoff between parallelism and storage space.