Locality-Aware Automatic Parallelization for GPGPU with OpenHMPP Directives
Dep. de Electronica e Sistemas, Universidade da Coruna, Campus de Elvina, 15071 A Coruna, Spain
7th International Symposium on High-Level Parallel Programming and Applications (HLPP 2014), 2014
@article{andion2014locality,
title={Locality-Aware Automatic Parallelization for GPGPU with OpenHMPP Directives},
author={Andi{‘o}n, Jos{‘e} M and Arenaz, Manuel and Bodin, Fran{c{c}}ois and Rodr{i}guez, Gabriel and Tourino, Juan},
year={2014}
}
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.
December 14, 2014 by hgpu