FPGA Implementation of Variable-Precision Floating-Point Arithmetic

This paper explores the capability of FPGA solutions to accelerate scientific applications with variable-precision floating-point (VP) arithmetic. First, we present a special-purpose Very Large Instruction Word (VLIW) architecture for VP arithmetic (VV-Processor) on FPGA, which uses unified hardware structure to implement various VP algebraic and transcendental functions. We take exponential and trigonometric functions (sine and cosine) as examples to illustrate the design of VP elementary algorithms in VV-Processor, where the optimal configuration is discussed in details in order to achieve minimum execution time. Finally, we create a prototype of VV-Processor unit and Boost Accelerator based-on VV-Processor into a Xilinx Virtex-6 XC6VLX760- 2FF1760 FPGA chip. The experimental results show that our design, based on FPGA running at 253 MHz, outperforms the approach of a software-based library running on an Intel Core i3 530 CPU at 2.93GHz by a factor of 5-37X. Compared to the previous work, our design has higher performance and more flexibility to implement other VP elementary functions.

[1]  Keshab K. Parhi,et al.  A Fast Radix-4 Division Algorithm and Its Architecture , 1995, IEEE Trans. Computers.

[2]  Tony M. Carter Cascade: hardware for high/variable precision arithmetic , 1989, Proceedings of 9th Symposium on Computer Arithmetic.

[3]  Thomas E. Hull,et al.  CADAC: A Controlled-Precision Decimal Arithmetic Unit , 1983, IEEE Transactions on Computers.

[4]  Earl E. Swartzlander,et al.  A Family of Variable-Precision Interval Arithmetic Processors , 2000, IEEE Trans. Computers.

[5]  Javier Hormigo,et al.  CORDIC Processor for Variable-Precision Interval Arithmetic , 2004, J. VLSI Signal Process..

[6]  Vincent Lefèvre,et al.  MPFR: A multiple-precision binary floating-point library with correct rounding , 2007, TOMS.

[7]  Yong Dou,et al.  Double Precision Hybrid-Mode Floating-Point FPGA CORDIC Co-processor , 2008, 2008 10th IEEE International Conference on High Performance Computing and Communications.

[8]  Richard P. Brent,et al.  Modern Computer Arithmetic , 2010 .

[9]  Donald M. Chiarulli,et al.  DRAFT: A dynamically reconfigurable processor for integer arithmetic , 1985, 1985 IEEE 7th Symposium on Computer Arithmetic (ARITH).

[10]  Earl E. Swartzlander,et al.  Hardware design and arithmetic algorithms for a variable-precision, interval arithmetic coprocessor , 1995, Proceedings of the 12th Symposium on Computer Arithmetic.

[11]  Joseph A. Fisher,et al.  Very Long Instruction Word architectures and the ELI-512 , 1983, ISCA '83.

[12]  Yong Dou,et al.  VPFPAP: A Special-Purpose VLIW Processor for Variable-Precision Floating-Point Arithmetic , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[13]  David H. Bailey,et al.  High-precision floating-point arithmetic in scientific computation , 2004, Computing in Science & Engineering.

[14]  Tarek A. El-Ghazawi,et al.  Bringing High-Performance Reconfigurable Computing to Exact Computations , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[15]  Javier Hormigo,et al.  A hardware algorithm for variable-precision logarithm , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[16]  Milos D. Ercegovac,et al.  A variable long-precision arithmetic unit design for reconfigurable coprocessor architectures , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[17]  Yong Dou,et al.  FPGA accelerating double/quad-double high precision floating-point applications for ExaScale computing , 2010, ICS '10.

[18]  Alex K. Jones,et al.  An FPGA-based VLIW processor with custom hardware execution , 2005, FPGA '05.

[19]  Keith D. Underwood,et al.  FPGAs vs. CPUs: trends in peak floating-point performance , 2004, FPGA '04.