Skip to main navigation Skip to search Skip to main content

A complete compiler approach to auto-parallelizing C programs for multi-DSP systems

Research output: Contribution to journalArticlepeer-review

Abstract

Auto-parallelizing compilers for embedded applications have been unsuccessful due to the widespread use of pointer arithmetic and the complex memory model of multiple-address space digital signal processors (DSPs). This work develops, for the first time, a complete auto-parallelization approach, which overcomes these issues. It first combines a pointer conversion technique with a new modulo elimination transformation for program recovery enabling later parallelization stages. Next, it integrates a novel data transformation technique that exposes the processor location of partitioned data. When this is combined with a new address resolution mechanism, it generates efficient programs that run on multiple address spaces without using message passing. Furthermore, as DSPs do not possess any data cache structure, an optimization is presented which transforms the program to both exploit remote data locality and local memory bandwidth. This parallelization approach is applied to the DSPstone and UTDSP benchmark suites, giving an average speedup of 3.78 on four analog devices TigerSHARC TS-101 processors.
Original languageEnglish
Pages (from-to)234-245
Number of pages12
JournalIEEE Transactions on Parallel and Distributed Systems
Volume16
Issue number3
DOIs
Publication statusPublished - 1 Mar 2005

Keywords / Materials (for Non-textual outputs)

  • C language
  • digital signal processing chips
  • embedded systems
  • message passing
  • multiprocessor interconnection networks
  • parallel memories
  • parallel processing
  • parallelising compilers
  • program compilers
  • reverse engineering
  • TigerSHARC TS-101 processors
  • address resolution mechanism
  • auto-parallelizing C program
  • complete compiler approach
  • complex memory model
  • data transformation technique
  • embedded application
  • interprocessor communication
  • local memory bandwidth
  • multiDSP system
  • multiple address space digital signal processor
  • parallel processors
  • pointer conversion technique
  • real-time application
  • remote data locality
  • Bandwidth
  • Costs
  • Digital arithmetic
  • Digital signal processing
  • Digital signal processors
  • Embedded system
  • Hardware
  • Message passing
  • Program processors
  • Real time systems

Fingerprint

Dive into the research topics of 'A complete compiler approach to auto-parallelizing C programs for multi-DSP systems'. Together they form a unique fingerprint.

Cite this