Introduction to A Vectorizing Compiler for Multimedia Extension Seminar Topic:

Multimedia comprises of visual, audio and text files integrated together under one roof. There would be a large number of processes happening while a data transfer of multimedia files which includes encoding, decoding, rendering etc. The MMX or multimedia extension is a technology developed by Intel to go with their Pentium series of microprocessors and is used in various other embedded applications. The proposed compiler uses scalar expansion to detect similar sections of codes, they also use the analysis of array dependency to identify the same.

Code transformation is the primary motive of these compilers which includes in application such as: 

  • Strip Mining
  • Grouping and reduction
  • Fission and distribution of Loops
  • Scalar expansion 

Instructions to the inline assembly are generated with respect to the parallel sections of data. The generated code undergoes various testing process to see if satisfies the benchmark level of multimedia. The vectorized result shows much better improvement in performance that without it. Usually we compress the data before storing it and various processing techniques are dominating areas like huge input output requirements and data set sizes, tiny native data types etc.

A specific case where a parallel processing of data takes place and data is packed into a word at a much lower precision is called subword parallelism. The Intel microprocessors usually have X86 and X64 processors i.e. 32 bit and 64 bit words respectively. The instruction set architecture are increased or extended in such processors which are called the multimedia extension or MMX files.

The proposed system notes the steps in the loop and without touching the basic program semantics, executes successive instances. Writing compilers in assembly language is pretty daunting and bug prone, there would be enhanced system libraries and macro calls for extended set of instructions to improve parallelism and decrease overhead. Portability can be easily obtained by vectorizing the whole process and a change in architecture of a multimedia set. Stanford university intermediate format are used for domain compiling.

Download  A Vectorizing Compiler for Multimedia Extension Seminar Report  .