Polyhedral Dataflow Programming: A Case Study - Fontaine, Romain; Gonnord, Laure; Morel, Lionel (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD); 2018: Anais do XXX International Symposium on Computer Architecture and High Performance Computing, 2018)
Dataflow languages expose the application's potential parallelism naturally and have thus been studied and developped for the past thirty years as a solution for harnessing the increasing hardware parallelism. However, when generating code for parallel processors, current dataflow compilers only take into consideration the overall dataflow network of the application. This leaves out the potential parallelism that could be extracted from the internals of agents, typically when those include loop nests, for instance, but also potential application of intra-agent plpelining, or task spliting and rescheduling. In this work, we study the benefits of jointly using polyhedral compilation with dataflow languages. More precisely, we propose to expend the parallelization of dataflow programs by taking into account the parallelism exposed by loop nests describing the internal behavior of the program's agents. This approach is validated through the development of a prototype toolchain based on an extended version of the ΣC language. We demonstrate the benefit of this approach and the potentiality of further improvements on relevant case studies.