Array recovery and high-level transformations for DSP applications

Array recovery and high-level transformations for DSP applications
复制标题

DSP 应用的阵列恢复和高级转换

DOI:
--
复制
发表时间:
2003
期刊:
TECS
影响因子:
--
通讯作者:
M. O’Boyle
M. O’Boyle
中科院分区:
--
文献类型:
--
作者:
Björn Franke;M. O’Boyle

文献摘要

被引文献

相似文献

DSP 应用的高效实施对于许多嵌入式系统至关重要。优化用 C 语言编写的应用程序的编译器主要关注代码生成和调度,随着它们的日益成熟,其回报正在递减。由于 DSP 应用通常广泛使用指针算术,因此高级源到源转换的替代使用在很大程度上被忽略了。本文开发了一种数组恢复技术,可以自动将指针转换为数组,从而能够对高级转换进行经验评估。高级技术应用于三个平台上的 DSPstone 基准测试:TriMedia TM-1000、Texas Instruments TMS320C6201 和 Analog Devices SHARC ADSP-21160。平均而言,最佳转换在各个平台上的改进为 2.43 倍。在某些情况下,SHARC 的加速比为 5.48,TM-1 的加速比为 7.38,C6201 的加速比为 2.3。这些初步结果证明了指针数组转换和进一步研究嵌入式编译器高级技术的使用的合理性。
Efficient implementation of DSP applications is critical for many embedded systems. Optimizing compilers for application programs, written in C, largely focus on code generation and scheduling, which, with their growing maturity, are providing diminishing returns. As DSP applications typically make extensive use of pointer arithmetic, the alternative use of high-level, source-to-source, transformations has been largely ignored. This article develops an array recovery technique that automatically converts pointers to arrays, enabling the empirical evaluation of high-level transformations. High-level techniques were applied to the DSPstone benchmarks on three platforms: TriMedia TM-1000, Texas Instruments TMS320C6201, and the Analog Devices SHARC ADSP-21160. On average, the best transformation gave a factor of 2.43 improvement across the platforms. In certain cases, a speedup of 5.48 was found for the SHARC, 7.38 for the TM-1, and 2.3 for the C6201. These preliminary results justify pointer to array conversion and further investigation into the use of high-level techniques for embedded compilers.