Bloch, AurélienCasale Brunet, SimoneMattavelli, Marco2022-02-082022-02-082022-02-082022-02-0410.1109/MCSoC51149.2021.00017https://infoscience.epfl.ch/handle/20.500.14299/185210Writing and optimizing application software for heterogeneous platforms including GPU units is a very difficult task that requires designer efforts and resources to consider several key elements to obtain good performance. Dataflow programming has shown to be a good approach for accomplishing such a difficult task for its properties of portability and the possibility of arbitrary partitioning a dataflow network on each unit of heterogeneous platforms. However, such a design methodology is not sufficient by itself to obtain good performance. The paper describes some methodological steps for improving the performance of dataflow programs written in RVC-CAL and synthesized to execute on heterogeneous CPU/GPU co-processing platforms. The steps do include the optimization of the performance of the communication tasks between processing elements, a strategy for the efficient scheduling of independent GPU partitions, and the introduction of dynamic programming for leveraging the SIMD nature of GPU platforms. The approach is validated qualitatively and quantitatively using dataflow application program examples executed by applying several partitioning configurations.Multicore processingDesign methodologyGraphics processing unitsWritingProgrammingDynamic schedulingDynamic programmingSIMD Parallel Execution on GPU from High-Level Dataflow Synthesistext::conference output::conference proceedings::conference paper