@InCollection{Supelec872,
author = { and Stephane Vialle and Jens Gustedt},
title = {{ Development Methodologies for GPU and Cluster of GPUs}},
year = {2013},
booktitle = {{Designing Scientific Applications on GPUs}},
publisher = {Chapman and Hall/CRC},
month = {November},
editor = {R. Couturier},
url = {http://www.metz.supelec.fr/metz/recherche/publis_pdf/Supelec872.pdf},
isbn = {9781466571648},
abstract = {This chapter proposes to draw several development methodologies
to obtain
ecient codes in classical scientic applications. Those
methodologies
are based on the feedback from several research works involving
GPUs, either
alone in a single machine or in a cluster of machines. Indeed,
our past collaborations
with industries have allowed us to point out that in their
economical
context, they can adopt a parallel technology only if its
implementation
and maintenance costs are small according to the potential benets
(performance,
accuracy,...). So, in such contexts, GPU programming is still
regarded
with some distance according to its specic eld of applicability
(SIMD/SIMT
model) and its still higher programming complexity and
maintenance. In the
academic domain, things are a bit dierent but studies for
eciently integrating
GPU computations in multi-core clusters with maximal overlapping
of
computations with communications and/or other computations, are
still rare.
For these reasons, the major aim of that chapter is to propose as
simple
as possible general programming patterns that can be followed or
adapted in
practical implementations of parallel scientic applications.
Also, we propose
in a third part, a prospect analysis together with a particular
programming
tool that is intended to ease multi-core GPU cluster programming.}
}