@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 identi ed the data storage as the main di erence 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.}
}