FloatX: A C plus plus Library for Customized Floating-Point Arithmetic

被引:19
作者
Flegar, Goran [1 ]
Scheidegger, Florian [2 ]
Novakovic, Vedran [1 ]
Mariani, Giovani [2 ]
Tomas, Andres E. [1 ]
Malossi, A. Cristiano, I [2 ]
Quintana-Orti, Enrique S. [3 ]
机构
[1] Univ Jaume 1, Dept Engn & Ciencia Comp, Av Vicent Sos Baynat, Castellon de La Plana 12071, Spain
[2] IBM Res Zurich, Saumerstr 4, CH-8803 Ruschlikon, Switzerland
[3] Univ Politecn Valencia, Dept Informat Sistemes & Comp, Camino Vera S-N, Valencia 46022, Spain
来源
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE | 2019年 / 45卷 / 04期
关键词
ACM proceedings; LATEX; text tagging;
D O I
10.1145/3368086
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present FloatX (Float eXtended), a C++ framework to investigate the effect of leveraging customized floating-point formats in numerical applications. FloatX formats are based on binary IEEE 754 with smaller significand and exponent bit counts specified by the user. Among other properties, FloatX facilitates an incremental transformation of the code, relies on hardware-supported floating-point types as back-end to preserve efficiency, and incurs no storage overhead. The article discusses in detail the design principles, programming interface, and datatype casting rules behind FloatX. Furthermore, it demonstrates FloatX's usage and benefits via several case studies from well-known numerical dense linear algebra libraries, such as BLAS and LAPACK; the Ginkgo library for sparse linear systems; and two neural network applications related with image processing and text recognition.
引用
收藏
页数:23
相关论文
共 47 条
[1]  
Abadi M, 2016, PROCEEDINGS OF OSDI'16: 12TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P265
[2]  
[Anonymous], 2017, ICLUT1703
[3]  
[Anonymous], 1999, LAPACK users' guide third
[4]  
[Anonymous], 2019, IEEE Std 754-2019 (Revision of IEEE 754-2008), P1, DOI [DOI 10.1109/IEEESTD.2008.4610935, 10.1109/IEEESTD.2017.8091139, 10.1109/IEEESTD.2019.8766229, DOI 10.1109/IEEESTD.2019.8766229]
[5]  
[Anonymous], BERKELEY SOFTFLOAT P
[6]  
[Anonymous], P ACM IEEE C SUP SC
[7]  
[Anonymous], LECT NOTES COURSE AD
[8]  
[Anonymous], 2015, P 3 INT WORKSH EN EF, DOI DOI 10.1145/2834800.2834802
[9]  
[Anonymous], 2016, cuBLAS
[10]  
[Anonymous], 1999, Developments in Reliable Computing, DOI DOI 10.1007/978-94-017-1247-7