2017 · 40 citations · 15 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureSystem-on-chip DesignFpga ArchitectureHardware AccelerationHigh-level SynthesisMemory Subsystem DesignData Hazard ResolutionHardware PipeliningHazard ResolutionHigh PerformanceLoop PipeliningMemory Access PatternsMemory ArbitrationPipelining
Current pipelining approach in high-level synthesis (HLS) achieves high performance for applications with regular and statically analyzable memory access patterns. However, it cannot effectively handle infrequent data-dependent structural and data hazards because they are conservatively assumed to always occur in the synthesized pipeline. To enable high-throughput pipelining of irregular loops, we study the problem of augmenting HLS with application-specific dynamic hazard resolution, and examine its implications on scheduling and quality of results. We propose to generate an aggressive pipeline at compile-time while resolving hazards with memory port arbitration and squash-and-replay at run-time. Our experiments targeting a Xilinx FPGA demonstrate promising performance improvement across a suite of representative benchmarks.
15
B. Ramakrishna Rau · 1994 · 708 citations · Full text
Andrew Canis, Jongsok Choi, Mark Aldham et al. · 2011 · 524 citations
Polyhedral-based data reuse optimization for configurable computing
Louis-Noël Pouchet, Peng Zhang, P. Sadayappan et al. · 2013 · 163 citations