In this paper, we present a new approach towards programming coarse-grained reconfigurable arrays (CGRAs) in an intuitive, dataflow inspired way. Based on the observation that available CGRAs are usually programmed using C, which lacks proper support for instruction-level parallelism, we instead started from a dataflow perspective combined with a language that inherently supports parallel structures. Our programming paradigm decouples the local functionality of a core from the global flow of data, i.e. the kernels from the routing. We will describe the ideas of our programming paradigm and also the language and compiler itself. Our complete system, including the CGRA, the programming language and the compiler, was developed using Haskell, which leads to a complete, sound system. We finish the paper with the implementation of a number of algorithms using our system.
|Title of host publication||International Conference on Reconfigurable Computing: Architectures, Tools, and Applications, ARC 2014|
|Place of Publication||Berlin|
|Number of pages||8|
|Publication status||Published - 14 Apr 2014|
|Name||Lecture Notes in Computer Science|
Niedermeier, A., Kuper, J., & Smit, G. J. M. (2014). A dataflow inspired programming paradigm for coarse-grained reconfigurable arrays. In International Conference on Reconfigurable Computing: Architectures, Tools, and Applications, ARC 2014 (pp. 275-282). (Lecture Notes in Computer Science; Vol. 8405). Berlin: Springer. https://doi.org/10.1007/978-3-319-05960-0_29