Compiler Optimizations with DSP-Specific Semantic Descriptions

Due to the specialized architecture and stream-based instruction set, traditional DSP compilers usually yield poor-quality object codes. Lack of an insight into the DSP architecture and the specific semantics of DSP applications, a compiler would have trouble selecting appropriate special instructions to exploit advanced hardware features. In order to extract optimal performance from DSPs, we propose a set of user-specified directives called Digital Signal Processing Interface (DSPI), which can facilitate code generation by relaying DSP specific semantics to compilers. We have implemented a prototype compiler based on the SPAM and SUIF compiler toolkits and integrated the DSPI into the prototype compiler. The compiler is currently targeted to TI's TMS320C6X DSP and will be extended to a retargetable compiler toolkit for embedded systems and System-on-a-Chip (SoC) platforms. Preliminary experimental results show that by incorporating DSPI directives significant performance improvements can be achieved in several DSP applications.

[1]  Jenq Kuen Lee,et al.  Probabilistic inference schemes for sparsity structures of Fortran 90 array intrinsics , 2001, International Conference on Parallel Processing, 2001..

[2]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[3]  Jenq Kuen Lee,et al.  Integrating Automatic Data Alignment and Array Operation Synthesis to Optimize Data Parallel Programs , 1997, LCPC.

[4]  Eduard Ayguadé,et al.  Exploiting multiple levels of parallelism in OpenMP: a case study , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[5]  Jenq Kuen Lee,et al.  A Function-Composition Approach to Synthesize Fortran 90 Array Operations , 1998, J. Parallel Distributed Comput..

[6]  K. W. Leary,et al.  DSP/C: a standard high level language for DSP and numeric processing , 1990, International Conference on Acoustics, Speech, and Signal Processing.

[7]  Geoffrey C. Fox,et al.  Fortran 90D/HPF compiler for distributed memory MIMD computers: design, implementation, and performance results , 1993, Supercomputing '93.

[8]  Wei-Kuan Shih,et al.  Real-Time Task Scheduling for Dynamically Variable Voltage Processors , 2001 .

[9]  Jenq Kuen Lee,et al.  Probabilistic Points-to Analysis , 2001, LCPC.

[10]  Brian L. Evans,et al.  Benchmarking code generation methodologies for programmable digital signal processors , 1998 .

[11]  Heinrich Meyr,et al.  LISA-machine description language and generic machine model for HW/SW co-design , 1996, VLSI Signal Processing, IX.

[12]  S. Devadas,et al.  ISDL: An Instruction Set Description Language For Retargetability , 1997, Proceedings of the 34th Design Automation Conference.

[13]  Jenq Kuen Lee,et al.  Efficient support of parallel sparse computation for array intrinsic functions of Fortran 90 , 1998, ICS '98.

[14]  M. Schulte,et al.  Towards Very High Bandwidth Wireless Handheld Devices , 2001 .

[15]  Jenq Kuen Lee,et al.  Compiler optimization on instruction scheduling for low power , 2000, ISSS '00.

[16]  C. John Glossner,et al.  A new approach to DSP intrinsic functions , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[17]  Jan M. Rabaey,et al.  Predicting performance potential of modern DSPs , 2000, Proceedings 37th Design Automation Conference.