Compilation Techniques for Multimedia Processors - PowerPoint PPT Presentation

About This Presentation
Title:

Compilation Techniques for Multimedia Processors

Description:

Classic vectorization. Vectorization by loop unrolling. Classic Vectorization. Loop analysis. Loop normalization. Scalar expansion. Dependence analysis ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 12
Provided by: Bar4161
Learn more at: https://cseweb.ucsd.edu
Category:

less

Transcript and Presenter's Notes

Title: Compilation Techniques for Multimedia Processors


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
Write a Comment
User Comments (0)
About PowerShow.com