Exploiting SIMD Parallelism with the CGiS Compiler Framework

  • Authors:
  • Nicolas Fritz;Philipp Lucas;Reinhard Wilhelm

  • Affiliations:
  • Universität des Saarlandes, Saarbrücken, Germany 66041;Universität des Saarlandes, Saarbrücken, Germany 66041;Universität des Saarlandes, Saarbrücken, Germany 66041

  • Venue:
  • Languages and Compilers for Parallel Computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Today's desktop PCs feature a variety of parallel processing units. Developing applications that exploit this parallelism is a demanding task, and a programmer has to obtain detailed knowledge about the hardware for efficient implementation. CGiSis a data-parallel programming language providing a unified abstraction for two parallel processing units: graphics processing units (GPUs) and the vector processing units of CPUs. The CGiScompiler framework fully virtualizes the differences in capability and accessibility by mapping an abstract data-parallel programming model on those targets. The applicability of CGiSfor GPUs has been shown in previous work; this work presents the extension of the framework for SIMD instruction sets of CPUs. We show how to overcome the obstacles in mapping the abstract programming model of CGiSto the SIMD hardware. Our experimental results underline the viability of this approach: Real-world applications can be implemented easily with CGiSand result in efficient code.