Exploiting Loop-Level Parallelism for SIMD Arrays Using OpenMP

  • Authors:
  • Con Bradley;Benedict R. Gaster

  • Affiliations:
  • ClearSpeed Technology Plc, Bristol, UK BS34 8HP;ClearSpeed Technology Plc, Bristol, UK BS34 8HP

  • Venue:
  • IWOMP '07 Proceedings of the 3rd international workshop on OpenMP: A Practical Programming Model for the Multi-Core Era
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programming SIMD arrays in languages such as C or FORTRAN is difficult and although work on automatic parallelizing programs has achieved much, it is far from satisfactory. In particular, almost all `fully' automatic parallelizing compilers place fundamental restrictions on the input language.Alternatively OpenMPprovides an approach to parallel programming that supports incremental improvements to applications that places restrictions in the context of preserving semantics of a parallelized section. OpenMPis limited to a thread based model that does not define a mapping for other parallel programming models.In this paper, we describe an alternative approach to programming SIMD machines using an extended subset of OpenMP(OpenMPSIMD), allowing us to model naturally the programming of arbitrary sized SIMD arrays while retaining the semantic completeness of both OpenMPand the parent languages.Using the CSX architecture we show how OpenMPSIMD can be implemented and discuss future extensions to both the language and SIMD architectures to better support explicit parallel programming.