@InProceedings{Supelec529,
author = {Wilfried Kirschenmann and Laurent Plagne and Stephane Vialle},
title = {{Multi-Target C++ Implementation of Parallel Skeletons}},
year = {2009},
booktitle = {{International workshop on PARALLEL/HIGH-PERFORMANCE OBJECT-ORIENTED SCIENTIFIC COMPUTING (POOSC'09)}},
pages = {10 pages},
month = {July 7},
address = {Genova, Italy},
url = {http://www.metz.supelec.fr/metz/recherche/publis_pdf/Supelec529.pdf},
doi = {10.1145/1595655.1595662},
abstract = {This paper presents the design of an ecient multi-target
(CPU+GPU) implementation for the Parallel_for skeleton. Emerging
massively parallel architectures promise very high performances
for a low cost. However, these architectures change faster than
ever. Thus, optimization of codes becomes a very complex and time
consumming task. We have identied the data storage as the main
dierence between the CPU and the GPU implementation of a code.
We introduce an abstract data layout in order to adapt the data
storage. Based on this layout, the utilization of Parallel_for
skeleton allows to compile and execute the same program both on
CPU and on GPU. Once compiled, the program runs close to the
hardware limits.}
}