image thumbnail

Stochastic Rounding Toolbox

versión 1.0.0 (5.59 KB) por Massimiliano Fasi
MATLAB toolbox for stochastically rounded elementary arithmetic operations in IEEE 754 floating-point arithmetic.

5 descargas

Actualizada 1 Apr 2020

De GitHub

Ver licencia en GitHub

The Stochastic Rounding Toolbox is a collection of MATLAB functions for emulating stochastic rounding on IEEE-compliant hardware. The functions in the toolbox simulate stochastic rounding of the four elementary arithmetic operations. The following routines are provided:

1. Elementary arithmetic operations
* sradd: addition [Alg. 4.1, 1]
* sradd2: fast addition[Alg. 4.2, 1]
* srmulfma: multiplication using FMA [Alg. 4.3, 1]
* srdiv: division [Alg. 4.5, 1]

2. Robust interface
* srop: argument checking for all of the above.

3. Utility functions
* twosum: augmented summation [Alg. 4.4, 2]
* twoprodfma: augmented product [Alg. 4.8, 2]

The functions in 1. do not check the input arguments, thus are more efficient but less robust. The interface in 2. checks that all input arguments are valid, and is thus slower. All functions are vectorized.

REFERENCES

[1] M. Fasi and M. Mikaitis. Algorithms for stochastically rounded elementary arithmetic operations in IEEE 754 floating-point arithmetic, Technical Report 2020.9, Manchester Institute for Mathematical Sciences, The University of Manchester, UK, Mar 2020.

[2] J.-M. Muller, N. Brunie, F. de Dinechin, C.-P. Jeannerod, M. Joldes, V. Lefèvre, V. Melquiond, N. Revol and S. Torres. Handbook of Floating-Point Arithmetic, Birkhäuser, 2018.

Citar como

Massimiliano Fasi and Mantas Mikaitis (2020). Stochastic Rounding Toolbox (https://www.github.com/mfasi/srtoolbox), GitHub. Retrieved April 1, 2020.

Compatibilidad con la versión de MATLAB
Se creó con R2019b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Para consultar o informar de algún problema sobre este complemento de GitHub, visite el repositorio de GitHub.
Para consultar o informar de algún problema sobre este complemento de GitHub, visite el repositorio de GitHub.