Abstract

The article proposes a method for software implementation of floating-point computations on a graphics processing unit (GPU) with an increased accuracy, which eliminates sharp increase in rounding errors when performing arithmetic operations of addition, subtraction or multiplication with numbers that are significantly different from each other in magnitude. The method is based on the representation of floating-point numbers in the form of decimal fractions that have uniform distribution within a range and the use of redundant signed-digit numeral system to speed up calculations. The results of computational experiments for evaluating the effectiveness of the proposed approach are presented. The effect of accelerating computations is obtained for the problems of calculating the sum of an array of numbers and determining the dot product of vectors. The proposed approach is also applicable to the discrete Fourier transform.

Highlights

  • Most computer calculations are carried out in floatingpoint format and double precision computer calculations are sufficient for solving many computational problems

  • The well-known libraries of highprecision computations are used, such as ZREAL (Russia), MPARITH (Germany), GMP (USA), which implement floating-point calculations at the software level with a mantissa length set by the user [2, 3, 6, 7, 8, 9, 10]

  • One of such disadvantages is the uneven distribution of floating-point numbers

Read more

Summary

INTRODUCTION

Most computer calculations are carried out in floatingpoint format and double precision computer calculations are sufficient for solving many computational problems. There are a number of problems, for example, in computational geometry and other areas where double precision floating-point arithmetic is not sufficient [1] To solve such problems, the well-known libraries of highprecision computations are used, such as ZREAL (Russia), MPARITH (Germany), GMP (USA), which implement floating-point calculations at the software level with a mantissa length set by the user [2, 3, 6, 7, 8, 9, 10]. Consider the following example that demonstrates the loss of precision in floating-point calculations associated with the discrete Fourier transform. The section considers a possible way to represent numbers in a redundant signed-digit numeral system

REPRESENTING NUMBERS IN A REDUNDANT SIGNEDDIGIT NUMERAL SYSTEM
A1 A2
METHODS
Each thread forms numbers of the form:
METHOD FOR MULTIPLYING NUMBERS
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.