A Dataflow IR for Memory Efficient RIPL Compilation to FPGAs

Field programmable gate arrays (FPGAs) are fundamentally different to fixed processors architectures because their memory hierarchies can be tailored to the needs of an algorithm. FPGA compilers for high level languages are not hindered by fixed memory hierarchies. The constraint when compiling to FPGAs is the availability of resources.

[1]  John Shalf,et al.  Programming Abstractions for Data Locality , 2014 .

[2]  Clemens Grelck,et al.  Combining high productivity and high performance in image processing using Single Assignment C on multi-core CPUs and many-core GPUs , 2012, J. Electronic Imaging.

[3]  Kunle Olukotun,et al.  Locality-Aware Mapping of Nested Parallel Patterns on GPUs , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

[4]  Brian Wyvill,et al.  Robust iso-surface tracking for interactive character skinning , 2014, ACM Trans. Graph..

[5]  Pat Hanrahan,et al.  Darkroom , 2014, ACM Trans. Graph..

[6]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[7]  Stephen Neuendorffer,et al.  Accelerating OpenCV Applications with Zynq-7000 All Programmable SoC using Vivado HLS Video Libraries , 2013 .

[8]  Endri Bezati High-level synthesis of dataflow programs for heterogeneous platforms , 2015 .

[9]  Ken Kennedy,et al.  Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and Distribution , 1993, LCPC.

[10]  Jan Vitek,et al.  Terra: a multi-stage language for high-performance computing , 2013, PLDI.

[11]  Mats Brorsson,et al.  Locality-Aware Task Scheduling and Data Distribution for OpenMP Programs on NUMA Systems and Manycore Processors , 2015, Sci. Program..

[12]  Jörn W. Janneck,et al.  High-level synthesis of dynamic dataflow programs on heterogeneous MPSoC platforms , 2016, 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS).

[13]  Gary R. Bradski,et al.  Learning OpenCV - computer vision with the OpenCV library: software that sees , 2008 .

[14]  Fernando Martinez Vallina Implementing Memory Structures for Video Processing in the Vivado HLS Tool , 2012 .