Execution of Dataflow Process Networks on OpenCL Platforms

The trend in computing systems is to combine various kinds of processing elements (PEs) to build more parallel architectures. This trend leads to more heterogeneous computing systems, for which abstractions are needed to efficiently program the systems without increasing the programming cost. This has lead to new programming languages and application programming interfaces (APIs). Parallel programming has always been a holy grail in computer science and dataflow programming promises a way to automatically provide parallel constructs for the programmer. This paper provides an approach to translate dataflow process networks (DPNs) into programs running some of the computations on the Open Computing Language (OpenCL) platform, supporting running programs on massively parallel hardware such as graphics processing units (GPUs). We show that certain DPN programs could run very efficiently on data-parallel architectures but also that there are certain patterns in DPN programs that prove problematic.

Wictor Lund, Sudeep Kanur, Johan Ersfolk, Leonidas Tsiopoulos, Johan Lilius, Joakim Haldin, Falk Ulf (Åbo Akademi University)Execution of Dataflow Process Networks on OpenCL Platforms. In: Masoud Daneshtalab, Marco Aldinucci, Ville Leppänen, Johan Lilius, Mats Brorsson (Eds.), Parallel, Distributed and Network-Based Processing (PDP), 2015 23rd Euromicro International Conference on, 618–625, IEEE, 2015.