Extensible Recognition of Algorithmic Patterns in DSP Programs for Automatic Parallelization

  • Authors:
  • Amin Shafiee Sarvestani;Erik Hansson;Christoph Kessler

  • Affiliations:
  • Department of Computer and Information Science, Linköping University, Linköping, Sweden;Department of Computer and Information Science, Linköping University, Linköping, Sweden;Department of Computer and Information Science, Linköping University, Linköping, Sweden

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce an extensible knowledge based tool for idiom (pattern) recognition in DSP (digital signal processing) programs. Our tool utilizes functionality provided by the Cetus compiler infrastructure for detecting certain computation patterns that frequently occur in DSP code. We focus on recognizing patterns for for-loops and statements in their bodies as these often are the performance critical constructs in DSP applications for which replacement by highly optimized, target-specific parallel algorithms will be most profitable. For better structuring and efficiency of pattern recognition, we classify patterns by different levels of complexity such that patterns in higher levels are defined in terms of lower level patterns. The tool works statically on the intermediate representation. For better extensibility and abstraction, most of the structural part of recognition rules is specified in XML form to separate the tool implementation from the pattern specifications. Information about detected patterns will later be used for optimized code generation by local algorithm replacement e.g. for the low-power high-throughput multicore DSP architecture ePUMA.