16868

High productivity multi-device exploitation with the Heterogeneous Programming Library

Moises Vinas, Basilio B. Fraguela, Diego Andrade, Ramon Doallo
Universidade da Coruna, Grupo de Arquitectura de Computadores, A Coruna, Spain
Journal of Parallel and Distributed Computing, Volume 101, Pages 51-68, 2017

@article{vinas2017high,

   title={High productivity multi-device exploitation with the Heterogeneous Programming Library},

   author={Vinas, Moises and Fraguela, Basilio B. and Andrade, Diego and Doallo, Ramon},

   year={2017}

}

Heterogeneous devices require much more work from programmers than traditional CPUs, particularly when there are several of them, as each one has its own memory space. Multi-device applications require to distribute kernel executions and, even worse, arrays portions that must be kept coherent among the different device memories and the host memory. In addition, when devices with different characteristics participate in a computation, optimally distributing the work among them is not trivial. In this paper we extend an existing framework for the programming of accelerators called Heterogeneous Programming Library (HPL) with three kinds of improvements that facilitate these tasks. The first two ones are the ability to define subarrays and subkernels, which distribute kernels on different devices. The last one is a convenient extension of the subkernel mechanism to distribute computations among heterogeneous devices seeking the best work balance among them. This last contribution includes two analytical models that have proved to automatically provide very good work distributions. Our experiments also show the large programmability advantages of our approach and the negligible overhead incurred.
Rating: 2.2. From 53 votes.
Please wait...
  • Aditya

    Seems like a great library! Hope to try it out soon; thanks for making it open source.

    No votes yet.
    Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: