Array replication to increase parallelism in applications mapped to configurable architectures

  • Authors:
  • Heidi E. Ziegler;Priyadarshini L. Malusare;Pedro C. Diniz

  • Affiliations:
  • University of Southern California / Information Sciences Institute, Marina del Rey, California;University of Southern California / Information Sciences Institute, Marina del Rey, California;University of Southern California / Information Sciences Institute, Marina del Rey, California

  • Venue:
  • LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Configurable architectures, with multiple independent on-chip RAM modules, offer the unique opportunity to exploit inherent parallel memory accesses in a sequential program by not only tailoring the number and configuration of the modules in the resulting hardware design but also the accesses to them. In this paper we explore the possibility of array replication for loop computations that is beyond the reach of traditional privatization and parallelization analyses. We present a compiler analysis that identifies portions of array variables that can be temporarily replicated within the execution of a given loop iteration, enabling the concurrent execution of statements or even non-perfectly nested loops. For configurable architectures where array replication is essentially free in terms of execution time, this replication enables not only parallel execution but also reduces or even eliminates memory contention. We present preliminary experiments applying the proposed technique to hardware designs for commercially available FPGA devices.