Developing adaptive multi-device applications with the Heterogeneous Programming Library

Loading...
Thumbnail Image

Identifiers

Publication date

Authors

Viñas Buceta, Moisés
Bozkus, Zeki

Advisors

Other responsabilities

Journal Title

Bibliographic citation

Viñas, M., Bozkus, Z., Fraguela, B.B. et al. Developing adaptive multi-device applications with the Heterogeneous Programming Library. J Supercomput 71, 2204–2220 (2015). https://doi.org/10.1007/s11227-014-1352-1

Type of academic work

Academic degree

Abstract

[Abstract] The usage of heterogeneous devices presents two main problems. One is their complex programming, a problem that grows when multiple devices are used. The second issue is that even if the codes for these devices can be portable on top of OpenCL, they lack performance portability, effectively requiring specialized implementations for each device to get good performance. In this paper we extend the Heterogeneous Programming Library (HPL), which improves the usability of heterogeneous systems on top of OpenCL, to better handle both issues. First, we provide HPL with mechanisms to support the implementation of any multi-device application that requires arbitrary patterns of communication between several devices and a host memory. In a second stage HPL is improved with an adaptive scheme to optimize communications between devices depending on the execution environment. An evaluation using benchmarks with very different nature shows that HPL reduces the SLOCs and programming effort of OpenCL applications by 27 and 43 %, respectively, while improving the performance of applications that exchange data between devices by 28 % on average.

Description

Rights

This version of the article has been accepted for publication, after peer review and is subject to Springer Nature’s AM terms of use, but is not the Version of Record and does not reflect post-acceptance improvements, or any corrections. The Version of Record is available online at: http://dx.doi.org/10.1007/s11227-014-1352-1