A pattern for efficient parallel computation on multicore processors with scalar operand networks

  • Authors:
  • Henry Hoffmann;Srinivas Devadas;Anant Agarwal

  • Affiliations:
  • MIT CSAIL;MIT CSAIL;MIT CSAIL

  • Venue:
  • Proceedings of the 2010 Workshop on Parallel Programming Patterns
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Systolic arrays have long been used to develop custom hardware because they result in designs that are efficient and scalable. Many researchers have explored ways to exploit systolic designs in programmable processors; however, such efforts often result in the simulation of large systolic arrays on a general purpose platforms. While simulation can add flexibility and problem size independence, it comes at a cost of greatly reducing the efficiency of the original systolic approach. This paper presents a pattern for developing parallel programs using systolic designs to execute efficiently (without resorting to simulation) on modern multicore processors featuring scalar operand networks. This pattern provides a compromise solution that can achieve high efficiency and flexibility given appropriate hardware support. Several examples illustrate the application of this pattern to produce parallel implementations of matrix multiplication and convolution.