TITLE

Compilation Techniques for Multimedia Processors

AUTHOR(S)
Krall, Andreas; Lelait, Sylvain
PUB. DATE
August 2000
SOURCE
International Journal of Parallel Programming;Aug2000, Vol. 28 Issue 4, p347
SOURCE TYPE
Academic Journal
DOC. TYPE
Article
ABSTRACT
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.
ACCESSION #
17143258

 

Related Articles

  • A Vectorizing Compiler for Multimedia Extensions. Sreraman, N.; Govindarajan, R. // International Journal of Parallel Programming;Aug2000, Vol. 28 Issue 4, p363 

    In this paper, we present an implementation of a vectorizing C compiler for Intel's MMX (Multimedia Extension). This compiler would identify data parallel sections of the code using scalar and array dependence analysis. To enhance the scope for application of the subword semantics, our compiler...

  • An Abstract Semantically Rich Compiler Collocative and Interpretative Model for OpenMP Programs. Mokbel, Mohammed F.; Kent, Robert D.; Wong, Michael // Computer Journal;Aug2011, Vol. 54 Issue 8, p1325 

    To understand the behavior of OpenMP programs, special tools and adaptive techniques are needed for performance analysis. However, these tools provide low-level profile information at the assembly and functions boundaries via instrumentation at the binary or code level, which are very hard to...

  • Loop Shifting for Loop Compaction. Darte, Alain; Huard, Guillaume // International Journal of Parallel Programming;Oct2000, Vol. 28 Issue 5, p499 

    The idea of decomposed software pipelining is to decouple the software pipelining problem into a cyclic scheduling problem without resource constraints and an acyclic scheduling problem with resource constraints. In terms of loop transformation and code motion, the technique can be formulated as...

  • Loop Shifting for Loop Compaction. Darte, Alain; Huard, Guillaume // International Journal of Parallel Programming;Oct2000, Vol. 28 Issue 5, p499 

    The idea of decomposed software pipelining is to decouple the software pipelining problem into a cyclic scheduling problem without resource constraints and an acyclic scheduling problem with resource constraints. In terms of loop transformation and code motion, the technique can be formulated as...

  • Parallel Compiler.  // Network Dictionary;2007, p365 

    A definition of the term "parallel compiler" in the context of computer software is presented. This refers to a type of computer compiling technique that speeds up the process of compilation on multi-processor machines. Super-computers and other large scale multi-processor machines make use of...

  • INTEGRATING PROFILING INTO MDE COMPILERS. Aranega, Vincent; Rodrigues, A. Wendell O.; Etien, Anne; Guyomarch, Fréderic; Dekeyser, Jean-Luc // International Journal of Software Engineering & Applications;Jul2014, Vol. 5 Issue 4, p1 

    Scientific computation requires more and more performance in its algorithms. New massively parallel architectures suit well to these algorithms. They are known for offering high performance and power efficiency. Unfortunately, as parallel programming for these architectures requires a complex...

  • Complete Formal Specification of the OpenMP Memory Model. Bronevetsky, Greg; Supinski, Bronis // International Journal of Parallel Programming;Aug2007, Vol. 35 Issue 4, p335 

    OpenMP [OpenMP Architecture Review Board. OpenMP application program interface, version 2.5] is an important API for shared memory programming, combining shared memory’s potential for performance with a simple programming interface. Unfortunately, OpenMP lacks a critical tool for...

  • Supporting Nested OpenMP Parallelism in the TAU Performance System. Morris, Alan; Malony, Allen; Shende, Sameer // International Journal of Parallel Programming;Aug2007, Vol. 35 Issue 4, p417 

    Nested OpenMP parallelism allows an application to spawn teams of nested threads. This hierarchical nature of thread creation and usage poses problems for performance measurement tools that must determine thread context to properly maintain per-thread performance data. In this paper we describe...

  • A Proposal for Error Handling in OpenMP. Duran, Alejandro; Ferrer, Roger; Costa, Juan; Gonzàlez, Marc; Martorell, Xavier; Ayguadé, Eduard; Labarta, Jesús // International Journal of Parallel Programming;Aug2007, Vol. 35 Issue 4, p393 

    OpenMP has been focused in performance applied to numerical applications, but when we try to move this focus to other kind of applications, like Web servers, we detect one important lack. In these applications, performance is important, but reliability is even more important, and OpenMP does not...

Share

Read the Article

Courtesy of VIRGINIA BEACH PUBLIC LIBRARY AND SYSTEM

Sorry, but this item is not currently available from your library.

Try another library?
Sign out of this library

Other Topics