Enhancing Accuracy and Dynamic Range of Scientific Data Analytics by Implementing Posit Arithmetic on FPGA

The high performance, power efficiency and reconfigurable characteristic of FPGA attract more and more attention in big data processing. In scientific data analytics, besides the consideration of computing performance, accuracy of the results and dynamic range of data representation are critical features that must be considered. At present, the floating-point IP cores in FPGA design use IEEE standard for floating-point arithmetic – IEEE 754. For FPGA based scientific data application, improving existing floating-point IP cores is a significant way to obtain better results. Posit is a floating-point arithmetic format first proposed by John L. Gustafson in 2017. In posit, the variable precision and efficient representation of exponent contribute a higher accuracy and larger dynamic range than IEEE 754. This work researches on the FPGA implementation of posit arithmetic for extending floating-point IP cores for FPGA based scientific data analytics. We design the logic for hardware implementation and implement it on FPGA. We compare the precision representation, dynamic range and performance of implemented posit FPU (Floating-Point Unit) with IEEE 754 floating-point IP cores. Posit exhibits better superiority in precision representation and dynamic range than IEEE 754, and through further optimization of the implementation, posit can be a good candidate for floating-point IP cores.

[1]  John L. Gustafson,et al.  The End of Error: Unum Computing , 2015 .

[2]  Miriam Leeser,et al.  VFloat: A Variable Precision Fixed- and Floating-Point Library for Reconfigurable Hardware , 2010, TRETS.

[3]  Hayden Kwok-Hay So,et al.  Universal number posit arithmetic generator on FPGA , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  Christopher Haccius,et al.  SC-VQM – A Visual Quality Metric for Synthetic Contents , 2017 .

[5]  Michael J. Schulte,et al.  A 64-bit decimal floating-point adder , 2004, IEEE Computer Society Annual Symposium on VLSI.

[6]  Michael F. Cowlishaw,et al.  Decimal floating-point: algorism for computers , 2003, Proceedings 2003 16th IEEE Symposium on Computer Arithmetic.

[7]  John L. Gustafson,et al.  A Radical Approach to Computation with Real Numbers , 2016, Supercomput. Front. Innov..

[8]  John L. Gustafson,et al.  Beating Floating Point at its Own Game: Posit Arithmetic , 2017, Supercomput. Front. Innov..

[9]  Earl E. Swartzlander,et al.  Designs of Approximate Floating-Point Multipliers with Variable Accuracy for Error-Tolerant Applications , 2018, J. Signal Process. Syst..

[10]  Russell Tessier,et al.  Floating point unit generation and evaluation for FPGAs , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[11]  C. Severance,et al.  IEEE 754: An Interview with William Kahan , 1998, Computer.

[12]  Dilpreet Singh,et al.  A survey on platforms for big data analytics , 2014, Journal of Big Data.

[13]  Todd A. Cook,et al.  Implementation of IEEE single precision floating point addition and multiplication on FPGAs , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.