Array recovery and high-level transformations for DSP applications

作者: Björn Franke , Michael O'boyle

DOI: 10.1145/643470.643472

关键词:

摘要: Efficient implementation of DSP applications is critical for many embedded systems. Optimizing compilers application programs, written in C, largely focus on code generation and scheduling, which, with their growing maturity, are providing diminishing returns. As typically make extensive use pointer arithmetic, the alternative high-level, source-to-source, transformations has been ignored. This article develops an array recovery technique that automatically converts pointers to arrays, enabling empirical evaluation high-level transformations. High-level techniques were applied DSPstone benchmarks three platforms: TriMedia TM-1000, Texas Instruments TMS320C6201, Analog Devices SHARC ADSP-21160. On average, best transformation gave a factor 2.43 improvement across platforms. In certain cases, speedup 5.48 was found SHARC, 7.38 TM-1, 2.3 C6201. These preliminary results justify conversion further investigation into compilers.

参考文章(30)
J. Bier, P. Koch, A. Frederiksen, R. Christiansen, An evaluation of compiler-processor interaction for DSP applications asilomar conference on signals, systems and computers. ,vol. 2, pp. 1684- 1688 ,(2000) , 10.1109/ACSSC.2000.911276
Björn Franke, Michael O’Boyle, Compiler Transformation of Pointers to Explicit Array Accesses in DSP Applications compiler construction. pp. 69- 85 ,(2001) , 10.1007/3-540-45306-7_6
Mahmut Kandemir, Narayanan Vijaykrishnan, Mary Jane Irwin, Hyun Suk Kim, Experimental Evaluation of Energy Behavior of Iteration Space Tiling languages and compilers for parallel computing. pp. 142- 157 ,(2000) , 10.1007/3-540-45574-4_10
Robert Morgan, Building an Optimizing Compiler ,(1998)
Mooly Sagiv, Thomas Reps, Susan Horwitz, Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation colloquium on trees in algebra and programming. pp. 651- 665 ,(1995) , 10.1007/3-540-59293-8_226
Michel Barreteau, François Bodin, Peter Brinkhaus, Zbigniew Chamski, Henri-Pierre Charles, Christine Eisenbeis, John Gurd, Jan Hoogerbrugge, Ping Hu, William Jalby, Peter MW Knijnenburg, Michael O’Boyle, Erven Rohou, Rizos Sakellariou, André Seznec, Elena A Stöhr, Menno Treffers, Harry AG Wijshoff, None, OCEANS: Optimising Compilers for Embedded Applications european conference on parallel processing. pp. 1123- 1130 ,(1998) , 10.1007/BFB0002894
S. Sair, D.R. Kaeli, W. Meleis, A study of loop unrolling for VLIW-based DSP processors signal processing systems. pp. 519- 527 ,(1998) , 10.1109/SIPS.1998.715814
M.F.X.B. van Swaaij, F.H.M. Franssen, F.V.M. Catthoor, H.J. De Man, Automating High Level Control F'low Transformations For Dsp Memory Management Workshop on VLSI Signal Processing. pp. 397- 406 ,(1992) , 10.1109/VLSISP.1992.641071
Dror E. Maydan, John L. Hennessy, Monica S. Lam, Effectiveness of data dependence analysis International Journal of Parallel Programming. ,vol. 23, pp. 63- 81 ,(1995) , 10.1007/BF02577784