Polyhedral Dataflow Programming: A Case Study

  • Romain Fontaine INSA Lyon, Univ Lyon
  • Laure Gonnord CNRS, Université Claude Bernard Lyon 1
  • Lionel Morel CEA List, Univ Grenoble Alpes

Resumo


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.
Palavras-chave: Parallel processing, Runtime, Task analysis, Programming, Tools, Optimization, Schedules, parallelism, dataflow programming, compilation, runtime system, load-balancing
Publicado
24/09/2018
FONTAINE, Romain; GONNORD, Laure; MOREL, Lionel. Polyhedral Dataflow Programming: A Case Study. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 30. , 2018, Lyon/FR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 171-179.