Field Programmable Gate Arrays (FPGAs) are conventionally considered as 'glue-logic'. However, modern FPGAs are extremely competitive compared to state-of-the-art CPUs for commercial HPC workloads, such as those found in Oil and Gas and Finance. For example, an FPGA accelerated system can be 31-37 times faster than an equivalently sized conventional machine, and consume 1/39 of the power. The key to achieving the best performance in FPGA accelerators, while maintaining correctness, is optimization of arithmetic units and data types to suit the range/precision at each point in the computation. The flexibility of the FPGA to implement non-standard arithmetic, combined with a data-flow programming model that instantiates a separate unit for each arithmetic operator in the code provides a wide design space. As such, FPGA computing offers significant opportunity for arithmetic research into 'large scale' HPC applications, where there is an opportunity to move away from standard IEEE formats, either to improve precision compared to the CPU version or to increase speed.
[1]
Haohuan Fu,et al.
Accelerating Seismic Computations on FPGAs – From the Perspective of Number Representations
,
2008
.
[2]
Oliver Pell,et al.
Fast 3D ZO CRS Stack – An FPGA Implementation of an Optimization Based on the Simultaneous Estimate of Eight Parameters
,
2010
.
[3]
Oskar Mencer,et al.
Rapid computation of value and risk for derivatives portfolios
,
2012,
Concurr. Comput. Pract. Exp..
[4]
Michael J. Flynn,et al.
Beyond Traditional Microprocessors for Geoscience High-Performance Computing Applications
,
2011,
IEEE Micro.