CAMPARY: Cuda Multiple Precision Arithmetic Library and Applications
CAMPARY: Cuda Multiple Precision Arithmetic Library and Applications
复制标题
CAMPARY:Cuda 多精度算术库和应用程序
DOI:
--
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
W. Tucker
中科院分区:
文献类型:
--
作者:
Mioara Joldes;J. Muller;Valentina Popescu;W. Tucker
Many scientific computing applications demand massive numerical computations on parallel architectures such as Graphics Processing Units (GPUs). Usually, either floating-point single or double precision arithmetic is used. Higher precision is generally not available in hardware, and software extended precision libraries are much slower and rarely supported on GPUs. We develop CAMPARY: a multiple-precision arithmetic library, using the CUDA programming language for the NVidia GPU platform. In our approach, the precision is extended by representing real numbers as the unevaluated sum of several standard machine precision floating-point numbers. We make use of error-free transforms algorithms, which are based only on native precision operations, but keep track of all rounding errors that occur when performing a sequence of additions and multiplications. This offers the simplicity of using hardware highly optimized floating-point operations, while also allowing for rigorously proven rounding error bounds. This also allows for easy implementation of an interval arithmetic. Currently, all basic multiple-precision arithmetic operations are supported. Our target applications are in chaotic dynamical systems or automatic control.