Marrow - An Algorithmic Skeleton Framework for the Orchestration of GPU Computations

Marrow is an algorithmic skeleton framework for the orchestration of OpenCL computations in multi-GPU environments. Among its most distinguishable features are a set skeletons previously unavailable in the GPU context, such as Pipeline and Loop, and the ability to compose these skeletons, through nesting, to create complex computations - a feature also new to this context. Moreover, it introduces optimizations that overlap communication and computation, thus conjoining programming simplicity with performance gains in many application scenarios. 

Public Repository

     https://bitbucket.org/MarrowTeam/marrow

Related Publications

Conferences

Fernando Alexandre, Ricardo Marques, and Hervé Paulino. On the Support of Task-Parallel Algorithmic Skeletons for Multi-GPU Computing. Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC '14, Gyeongju, South Korea, March 24-28, 2014. ACM, 2014. (to appear)

Ricardo Marques, Hervé Paulino, Fernando Alexandre, and Pedro D. Medeiros. "Algorithmic Skeleton Framework for the Orchestration of GPU Computations." Euro-Par 2013 Parallel Processing - 19th International Conference, Euro-Par 2013, Aachen, Germany, August 26-30, 2013. Proceedings. Ed. Dieter Mey an Felix Wolf, Bernd Mohr. Lecture Notes in Computer Science. Springer-Verlag, 2013. 874-885.

National Conferences

Fernando Alexandre, Ricardo Marques, and Hervé Paulino. "Esqueletos Algorítmicos para Paralelismo de Tarefas em Sistemas Multi-GPU." INForum 2013 - Atas do 5º Simpósio de Informática. Eds. João Cachopo, and Beatriz Sousa Santos. Évora, Portugal: Escola de Ciências e Tecnologia da Universidade de Évora, 2013. 238-249.

Ricardo Marques, Hervé Paulino, and Pedro D. Medeiros. "Desenho e Implementação de uma Biblioteca de Padrões Algorítmicos para GPGPU." INForum 2012 - Atas do 4º Simpósio de Informática. Eds. Antónia Lopes, and José Orlando Pereira. Universidade Nova de Lisboa, 2012. 298-301