Optimizing the exploitation of multicore processors and GPUs with OpenMP and OpenCL

  • Authors:
  • Roger Ferrer;Judit Planas;Pieter Bellens;Alejandro Duran;Marc Gonzalez;Xavier Martorell;Rosa M. Badia;Eduard Ayguade;Jesus Labarta

  • Affiliations:
  • Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain and Departament d'Arquitectura de Computadors, Univ. Politècnica de Catalunya, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain and Departament d'Arquitectura de Computadors, Univ. Politècnica de Catalunya, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain and Artificial Intelligence Research Institute, Spanish National Research Council, Spain;Barcelona Supercomputing Center, Barcelona, Spain and Departament d'Arquitectura de Computadors, Univ. Politècnica de Catalunya, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain and Departament d'Arquitectura de Computadors, Univ. Politècnica de Catalunya, Barcelona, Spain

  • Venue:
  • LCPC'10 Proceedings of the 23rd international conference on Languages and compilers for parallel computing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we present OMPSs, a programming model based on OpenMP and StarSs, that can also incorporate the use of OpenCL or CUDA kernels. We evaluate the proposal on three different architectures, SMP, Cell/B.E. and GPUs, showing the wide usefulness of the approach. The evaluation is done with four different benchmarks, Matrix Multiply, BlackScholes, Perlin Noise, and Julia Set. We compare the results obtained with the execution of the same benchmarks written in OpenCL, in the same architectures. The results show that OMPSs greatly outperforms the OpenCL environment. It is more flexible to exploit multiple accelerators. And due to the simplicity of the annotations, it increases programmer's productivity.