Compilation Techniques for Multimedia Processors

被引:0
作者
Andreas Krall
Sylvain Lelait
机构
[1] Technische Universität Wien,Institut für Computersprachen
来源
International Journal of Parallel Programming | 2000年 / 28卷
关键词
compiler; multimedia processors; vectorization; loop unrolling;
D O I
暂无
中图分类号
学科分类号
摘要
The huge processing power needed by multimedia applications has led to multimedia extensions in the instruction set of microprocessors which exploit subword parallelism. Examples of these extended instruction sets are the Visual Instruction Set of the UltraSPARC processor, the AltiVec instruction set of the PowerPC processor, the MMX and ISS extensions of the Pentium processors, and the MAX-2 instruction set of the HP PA-RISC processor. Currently, these extensions can only be used by programs written in assembly language, through system libraries or by calling specialized macros in a high-level language. Therefore, these instructions are not used by most applications. We propose two code generation techniques to produce native code using these multimedia extensions for programs written in a high-level language: classical vectorization and vectorization by unrolling. Vectorization by unrolling is simpler than classical vectorization since data dependence analysis is reduced to acyclic control flow graph analysis. Furthermore, we address the problem of unaligned memory accesses. This can be handled by both static analysis and dynamic runtime checking. Preliminary experimental results for a code generator for the UltraSPARC VIS instruction set show that speedups of up to a factor of 4.8 are possible, and that vectorization by unrolling is much simpler but as effective as classical vectorization.
引用
收藏
页码:347 / 361
页数:14
相关论文
共 11 条
  • [1] Hansen C.(1996)MicroUnity's Media Processor archtecture IEEE Micro 16 34-41
  • [2] Peleg A.(1996)MMX technology extension to the Intel architecture IEEE Micro 16 42-50
  • [3] Weiser U.(1996)Subword parallelism with MAX-2 IEEE Micro 16 51-59
  • [4] Lee R. B.(1992)Vector register allocation IEEE Trans. Computers 41 1290-1317
  • [5] Allen R.(1994)Compiler transformations for high-performance computing ACM Computing Surveys 26 325-420
  • [6] Kennedy K.(1987)Automatic translation of FORTRAN programs to vector form ACM TOPLAS 9 491-542
  • [7] Bacon D. F.(undefined)undefined undefined undefined undefined-undefined
  • [8] Graham S. L.(undefined)undefined undefined undefined undefined-undefined
  • [9] Sharp O. J.(undefined)undefined undefined undefined undefined-undefined
  • [10] Allen R.(undefined)undefined undefined undefined undefined-undefined