“…Field programmable gate arrays (FP-GAs) are particularly promising as an acceleration technology, as they can offer performance and energy improvements for a wide class of applications while also providing the reprogrammability and flexibility of software. Applications which exhibit large degrees of spatial and temporal locality and which contain relatively small amounts of control flow, such as those in the image processing [21,6], financial analytics [29,16,48], and scientific computing domains [42,1,11,50], can especially benefit from hardware acceleration with FPGAs. FPGAs have also recently been used to accelerate personal assistant systems [23] and machine learning algorithms like deep belief networks [31,32].…”