Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bailey, D.H.: High-precision floating-point arithmetic in scientific computation. Computing in Science and Engineering 7(3), 54–61 (2005)
Boost C++ libraries, http://live.boost.org/
Brent, R.P., Zimmermann, P.: Modern Computer Arithmetic. Cambridge University Press, Cambridge (2010)
Carter, T.M.: Cascade: Hardware for high/variable precision arithmetic. In: Proceedings of the 9th Symposium on Computer Arithmetic, pp. 184–191 (1989)
Chiarulli, D.M., Ruaa, W.G., Buell, D.A.: Draft: A dynamically reconfigurable processor for integer arithmetic. In: Proceedings of the 7th Symposium on Computer Arithmetic, pp. 309–318 (1985)
Cohen, M.S., Hull, T.E., Hamarcher, V.C.: Cadac: A controlled-precision decimal arithmetic unit. IEEE Transactions on Computers C-32, 370–377 (1983)
Computational complexity of mathematical operations, http://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations
Dou, Y., Lei, Y., Wu, G.: FPGA accelerating double/quad-double high precision floating-point application for exascale computing. In: Proceedings of ICS 2010, pp. 325–336 (2010)
El-Araby, E., Gonzalez, I., El-Ghazawi, T.: Bringing high-performance reconfigurable computing to exact computations. In: Proceedings of FPL 2007, pp. 79–85 (August 2007)
Fisher, J.A.: Very Long Instruction Word architectures and the ELI-512. In: Proceedings of the 10th Annual International Symposium on Computer Architecture, pp. 140–150 (1983)
Fousse, L., Hanrot, G., Lefevre, V., Pelissier, P., Zimmermann, P.: MPFR: A multiple-precision binary floating-point library with correct rounding. Transactions on Mathematical Software 33(2), 1–15 (2007)
Fujimoto, J., Ishikawa, T., Perret-Gallix, D.: High precision numerical computations-a case for an happy design, ACPP IRG note, ACPP-N-1: KEK-CP-164 (May 2005)
GNU Multiple-Precision arithmetic library, http://www.swox.com/gmp
Hormigo, J., Villalba, J., Schulte, M.: A hardware algorithm for variable-precision logarithm. In: Proceedings of ASAP 2000, pp. 215–224 (July 2000)
Hormigo, J., Villalba, J., Zapata, E.L.: Cordic processor for variable-precision interval arithmetic. Journal of VLSI Signal Processing 37, 21–39 (2004)
Jones, A.K., Hoare, R., Kusic, D.: An FPGA-based VLIW Processor with Custom Hardware Execution. In: Proceedings of FPGA 2005, pp. 107–117 (2005)
Lei, Y., Dou, Y., Zhou, J., Wang, S.: VPFPAP: A special-purpose VLIW processor for variable-precision floating-point arithmetic. In: Proceedings of FPL 2011 (2011)
Parhi, K.K., Srinivas, H.R.: A fast radix-4 division algorithm and its architecture. IEEE Transactions on Computers 44(6), 826–831 (1995)
Schulte, M.J., Swartzlander Jr., E.E.: A family of variable-precision, interval arithmetic processors. IEEE Transactions on Computers 49(5), 387–397 (2000)
Schulte, M.J., Swartzlander Jr., E.E.: Hardware design and arithmetic algorithms for a variable-precision, interval arithmetic coprocessor. In: Proceedings of the 12th Symposium on Computer Arithmetic, pp. 222–228 (1995)
Tenca, A.F., Ercegovac, M.D.: A Variable Long-Precision Arithmetic Unit Design for Reconfigurable Coprocessor Architectures. In: Proceedings of FCCM 1998 (1998)
Underwood, K.: FPGAs vs. CPUs: trends in peak floating-point performance. In: Proceedings of FPGA 2004, pp. 171–180 (2004)
Zhou, J., Dou, Y., Lei, Y., Xu, J., Dong, Y.: Double precision hybrid-mode floating-point fpga cordic coprocessor. Proceedings of HPCC 2008, 182–189 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lei, Y., Dou, Y., Guo, S., Zhou, J. (2011). FPGA Implementation of Variable-Precision Floating-Point Arithmetic. In: Temam, O., Yew, PC., Zang, B. (eds) Advanced Parallel Processing Technologies. APPT 2011. Lecture Notes in Computer Science, vol 6965. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24151-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-24151-2_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24150-5
Online ISBN: 978-3-642-24151-2
eBook Packages: Computer ScienceComputer Science (R0)