International Journal of Parallel Programming

, Volume 44, Issue 3, pp 620–643

Locality-Aware Automatic Parallelization for GPGPU with OpenHMPP Directives

  • José M. Andión
  • Manuel Arenaz
  • François Bodin
  • Gabriel Rodríguez
  • Juan Touriño
Article

DOI: 10.1007/s10766-015-0362-9

Cite this article as:
Andión, J.M., Arenaz, M., Bodin, F. et al. Int J Parallel Prog (2016) 44: 620. doi:10.1007/s10766-015-0362-9

Abstract

The use of GPUs for general purpose computation has increased dramatically in the past years due to the rising demands of computing power and their tremendous computing capacity at low cost. Hence, new programming models have been developed to integrate these accelerators with high-level programming languages, giving place to heterogeneous computing systems. Unfortunately, this heterogeneity is also exposed to the programmer complicating its exploitation. This paper presents a new technique to automatically rewrite sequential programs into a parallel counterpart targeting GPU-based heterogeneous systems. The original source code is analyzed through domain-independent computational kernels, which hide the complexity of the implementation details by presenting a non-statement-based, high-level, hierarchical representation of the application. Next, a locality-aware technique based on standard compiler transformations is applied to the original code through OpenHMPP directives. Two representative case studies from scientific applications have been selected: the three-dimensional discrete convolution and the simple-precision general matrix multiplication. The effectiveness of our technique is corroborated by a performance evaluation on NVIDIA GPUs.

Keywords

Heterogeneous systems GPGPU Locality Automatic parallelization OpenHMPP Domain-independent kernel 

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • José M. Andión
    • 1
  • Manuel Arenaz
    • 1
  • François Bodin
    • 2
  • Gabriel Rodríguez
    • 1
  • Juan Touriño
    • 1
  1. 1.Dep. de Electrónica e SistemasUniversidade da CoruñaA CoruñaSpain
  2. 2.Institut de Recherche en Informatique et Systèmes AléatoiresRennesFrance

Personalised recommendations