Constructing and exploiting linear schedules with prescribed parallelism

  • Authors:
  • Alain Darte;Robert Schreiber;B. Ramakrishna Rau;Frédéric Vivien

  • Affiliations:
  • CNRS, LIP, École Normale Supérieure de Lyon, France;Hewlett-Packard Company, Palo Alto, CA;Hewlett-Packard Company, Palo Alto, CA;ICPS/LSIIT, Université Louis Pasteur, Strasbourg, France

  • Venue:
  • ACM Transactions on Design Automation of Electronic Systems (TODAES)
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present two new results of importance in code generation for and synthesis of synchronously scheduled parallel processor arrays and multicluster VLIWs. The first is a new practical method for constructing a linear schedule for the iterations of a loop nest that schedules precisely one iteration per cycle on each of a prescribed set of processors. While this problem goes back to the era in which systolic computation was in vogue, it has defied practical solution until now. We provide a closed form solution that enables the enumeration of all such schedules. The second result is a new technique that reduces the cost of code or hardware whose function is to control the flow of data and predicate operations, and to generate memory addresses. The key idea is that by using the mathematical structure of any of the conflict-free schedules we construct, a very shallow recurrence can be developed to inexpensively update these quantities.