Runtime adjustment of parallel nested loops

  • Authors:
  • Alejandro Duran;Raúl Silvera;Julita Corbalán;Jesús Labarta

  • Affiliations:
  • CEPBA-IBM Research Institute, Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, Barcelona, Spain;IBM Toronto Lab, Markham, ON, Canada;CEPBA-IBM Research Institute, Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, Barcelona, Spain;CEPBA-IBM Research Institute, Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, Barcelona, Spain

  • Venue:
  • WOMPAT'04 Proceedings of the 5th international conference on OpenMP Applications and Tools: shared Memory Parallel Programming with OpenMP
  • Year:
  • 2004

Quantified Score

Hi-index 0.01

Visualization

Abstract

OpenMP allows programmers to specify nested parallelism in parallel applications. In the case of scientific applications, parallel loops are the most important source of parallelism. In this paper we present an automatic mechanism to dynamically detect the best way to exploit the parallelism when having nested parallel loops. This mechanism is based on the number of threads, the problem size, and the number of iterations on the loop. To do that, we claim that programmers must specify the potential application parallelism and give the runtime the responsibility to decide the best way to exploit it. We have implemented this mechanism inside the IBM XL runtime library. Evaluation shows that our mechanism dynamically adapts the parallelism generated to the application and runtime parameters, reaching the same speedup as the best static parallelization (with a priori information).