2014 · 30 citations · 14 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureParallel ComputingSystem-on-chip DesignAccelerator ArchitectureData PipelinesHardware AccelerationMemory Subsystem DesignParallel ArchitecturesParallel Computer ArchitectureClassical N-body ProblemHardware PipeliningOn-chip Memory DesignPipelinesStreaming ArchitecturesVector Pipeline ExecutionVector ProcessingVector Processors
Soft vector processors (SVPs) achieve significant performance gains through the use of parallel ALUs. However, since ALUs are used in a time-multiplexed fashion, this does not exploit a key strength of FPGA performance: pipeline parallelism. This paper shows how streaming pipelines can be integrated into the datapath of a SVP to achieve dramatic speedups. The SVP plays an important role in supplying the pipeline with high-bandwidth input data and storing its results using on-chip memory. However, the SVP must also perform the housekeeping tasks necessary to keep the pipeline busy. In particular, it orchestrates data movement between on-chip memory and external DRAM, it pre- or post-processes the data using its own ALUs, and it controls the overall sequence of execution. Since the SVP is programmed in C, these tasks are easier to develop and debug than using a traditional HDL approach. Using the N-body problem as a case study, this paper illustrates how custom streaming pipelines are integrated into the SVP datapath and multiple techniques for generating them. Using a custom pipeline, we demonstrate speedups over 7,000 times and performance-per-ALM over 100 times better than Nios II/f. The custom pipeline is also 50 times faster than a naive Intel Core i7 processor implementation.
14
Richard M. Russell · Communications of the ACM · 1978 · 697 citations · Full text
Andrew Canis, Jongsok Choi, Mark Aldham et al. · 2011 · 524 citations
Peter Yiannacouras, J. Gregory Steffan, Jonathan Rose · 2008 · 96 citations
Christopher Han-Yu Chou, Aaron Severance, Alex Brant et al. · 2011 · 78 citations