Download presentation
Presentation is loading. Please wait.
1
Compilation Techniques for Multimedia Processors Andreas Krall and Sylvain Lelait Technische Universitat Wien
2
Motivation High processing power needed by multimedia applications Special instruction sets for multimedia data Implemented by special processors Multimedia instruction set extensions Visual instruction set(VIS) of UltraSPARC Altivec extension of PowerPC MMX extension of Pentium MAX-2 instruction set of HP PA-RISC
3
Problems and Solutions New functionality has not been exploited properly Have to code in assembly language Use provided system libraries Call macros in high-level language Compile a program coded in high-level language into multimedia instructions Classic vectorization Vectorization by loop unrolling
4
Classic Vectorization Loop analysis Loop normalization Scalar expansion Dependence analysis Vectorization Alignment management Strip mining Constant expansion Lower iteration space Lower alignment Instruction selection and register allocation
5
Classic Vectorization Loop analysis Loop normalization Scalar expansion Dependence analysis Vectorization Alignment management Strip mining Constant expansion Lower iteration space Lower alignment Instruction selection and register allocation
6
Classic Vectorization Loop analysis Loop normalization Scalar expansion Dependence analysis Vectorization Alignment management Strip mining Constant expansion Lower iteration space Lower alignment Instruction selection and register allocation
7
Classic Vectorization Loop analysis Loop normalization Scalar expansion Dependence analysis Vectorization Alignment management Strip mining Constant expansion Lower iteration space Lower alignment Instruction selection and register allocation
8
Vectorization by Loop Unrolling Loop analysis Compute unrolling degree Loop unrolling Dependence analysis Dependence verification Generation of vector instructions Alignment management Lower iteration space Lower alignment Instruction selection and register allocation
9
Vectorization by Loop Unrolling Loop analysis Compute unrolling degree Loop unrolling Dependence analysis Dependence verification Generation of vector instructions Alignment management Lower iteration space Lower alignment Instruction selection and register allocation
10
Vectorization by Loop Unrolling Loop analysis Compute unrolling degree Loop unrolling Dependence analysis Dependence verification Generation of vector instructions Alignment management Lower iteration space Lower alignment Instruction selection and register allocation
11
Experimental Results
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.