@conference { marrow-europar2012,
	title = {Algorithmic Skeleton Framework for the Orchestration of GPU Computations},
	booktitle = {Euro-Par 2013 Parallel Processing - 19th International Conference, Euro-Par 2013, Aachen, Germany, August 26-30, 2013. Proceedings},
	series = {Lecture Notes in Computer Science},
	number = {8097},
	year = {2013},
	month = {08},
	pages = {874-885},
	publisher = {Springer-Verlag},
	organization = {Springer-Verlag},
	address = {Aachen, Germany},
	abstract = {<p>The Graphics Processing Unit (GPU) is gaining popular- ity as a co-processor to the Central Processing Unit (CPU). However, harnessing its capabilities is a non-trivial exercise that requires good knowledge of parallel programming, more so when the complexity of these applications is increasingly rising. Languages such as StreamIt [1] and Lime [2] have addressed the offloading of composed computations to GPUs. However, to the best of our knowledge, no support exists at library level. To this extent, we propose Marrow, an algorithmic skeleton frame- work for the orchestration of OpenCL computations. Marrow expands the set of skeletons currently available for GPU computing, and enables their combination, through nesting, into complex structures. Moreover, it introduces optimizations that overlap communication and computa- tion, thus conjoining programming simplicity with performance gains in many application scenarios. We evaluated the framework from a perfor- mance perspective, comparing it against hand-tuned OpenCL programs. The results are favourable, indicating that Marrow{\textquoteright}s skeletons are both flexible and efficient in the context of GPU computing.</p>
},
	url = { http://link.springer.com/chapter/10.1007/978-3-642-40047-6_86},
	author = {Ricardo Marques and Paulino, Herv{\'e} and Fernando Alexandre and Medeiros, Pedro D.},
	editor = {Felix Wolf, Bernd Mohr, Dieter an Mey}
}
