Maximize Parallelism Minimize Overhead for Nested Loops via Loop Striping

  • Authors:
  • Chun Xue;Zili Shao;Edwin H.-M. Sha

  • Affiliations:
  • Department of Computer Science, University of Texas at Dallas, Richardson, USA 75083;Department of Computing, Hong Kong Polytechnic University, Hung Hom, Hong Kong;Department of Computer Science, University of Texas at Dallas, Richardson, USA 75083

  • Venue:
  • Journal of VLSI Signal Processing Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Majority of scientific and Digital Signal Processing (DSP) applications are recursive or iterative. Transformation techniques are generally applied to increase parallelism for these nested loops. Most of the existing loop transformation techniques either can not achieve maximum parallelism, or can achieve maximum parallelism but with complicated loop bounds and loop indexes calculations. This paper proposes a new technique, loop striping, that can maximize parallelism while maintaining the original row-wise execution sequence with minimum overhead. Loop striping groups iterations into stripes, where all iterations in a stripe are independent and can be executed in parallel. Theorems and efficient algorithms are proposed for loop striping transformations. The experimental results show that loop striping always achieves better iteration period than software pipelining and loop unfolding, improving average iteration period by 50 and 54% respectively.