GrPPI  0.2
Generic and Reusable Parallel Pattern Interface
Generic Reusable Parallel Pattern Interface - GrPPI

Introduction

GrPPI is an open source generic and reusable parallel pattern programming interface developed at Univ. Carlos III of Madrid. Basically, GrPPI accommodates a layer between developers and existing parallel programming frameworks targeted to multi-core processors, such as ISO C++ Threads, OpenMP and Intel TBB, and accelerators. To achieve this goal, the interface leverages modern C++ features, meta-programming concepts, and template-based programming to act as switch between these frameworks. Furthermore, its compact design facilitates the development of parallel applications, hiding away the complexity behind the use of concurrency mechanisms. The parallel patterns supported by GrPPI are targeted for both stream processing and data-intensive applications and can be composed among them to match more complex constructions. In a nutshell, GrPPI advocates for a usable, simple, generic, and high-level parallel pattern interface, allowing users to implement parallel applications without having a deep understanding of today's parallel programming frameworks and third-party interfaces.

Currently, GrPPI supports the following patterns:

Install and compile instructions

See the install and compile notes.

Publications describing GrPPI

Overview publication

Please cite this publication in any work using our library:

Other references

Acknowledgments

The GrPPI library has been partially supported by: