Using Floating-Point Intervals for Non-Modular Computations in Residue Number System

The residue number system (RNS) provides parallel, carry-free, and high-speed arithmetic and is therefore a good tool for high-performance computing. However, operations such as magnitude comparison, sign computation, overflow detection, scaling, and division are difficult to perform in RNS, since i...

Full description

Bibliographic Details
Main Author: Konstantin Isupov
Format: Article
Language:English
Published: IEEE 2020-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9043511/
id doaj-a9846e6365d44360b26f526aa740c9e1
record_format Article
spelling doaj-a9846e6365d44360b26f526aa740c9e12021-03-30T01:30:44ZengIEEEIEEE Access2169-35362020-01-018586035861910.1109/ACCESS.2020.29823659043511Using Floating-Point Intervals for Non-Modular Computations in Residue Number SystemKonstantin Isupov0https://orcid.org/0000-0003-0239-0404Department of Electronic Computing Machines, Vyatka State University, Kirov, RussiaThe residue number system (RNS) provides parallel, carry-free, and high-speed arithmetic and is therefore a good tool for high-performance computing. However, operations such as magnitude comparison, sign computation, overflow detection, scaling, and division are difficult to perform in RNS, since it is problematic to determine the magnitude of an RNS number. In order to resolve this problem, we propose to compute the interval evaluation of the fractional representation of an RNS number in floating-point arithmetic of limited precision. No matter what the size n of the moduli set and dynamic range, only small arithmetic operations are required, and most of the computations are performed in parallel with n threads, which allows for efficient implementation of our method on many general-purpose computing platforms. Using this method, we propose new algorithms for magnitude comparison and general division in RNS and implement them for GPUs using the CUDA platform. We evaluate the performance of our algorithms on an NVIDIA GTX 1080 GPU using sets of 4 to 256 RNS moduli that provide dynamic ranges from 64 to 4096 bits. Experimental results show that the proposed new algorithms are efficient for large moduli sets and clearly outperform the existing RNS magnitude comparison and division algorithms in terms of execution time.https://ieeexplore.ieee.org/document/9043511/Residue number systemfloating-point arithmeticnon-modular operationsmagnitude comparisondivisionhigh performance
collection DOAJ
language English
format Article
sources DOAJ
author Konstantin Isupov
spellingShingle Konstantin Isupov
Using Floating-Point Intervals for Non-Modular Computations in Residue Number System
IEEE Access
Residue number system
floating-point arithmetic
non-modular operations
magnitude comparison
division
high performance
author_facet Konstantin Isupov
author_sort Konstantin Isupov
title Using Floating-Point Intervals for Non-Modular Computations in Residue Number System
title_short Using Floating-Point Intervals for Non-Modular Computations in Residue Number System
title_full Using Floating-Point Intervals for Non-Modular Computations in Residue Number System
title_fullStr Using Floating-Point Intervals for Non-Modular Computations in Residue Number System
title_full_unstemmed Using Floating-Point Intervals for Non-Modular Computations in Residue Number System
title_sort using floating-point intervals for non-modular computations in residue number system
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2020-01-01
description The residue number system (RNS) provides parallel, carry-free, and high-speed arithmetic and is therefore a good tool for high-performance computing. However, operations such as magnitude comparison, sign computation, overflow detection, scaling, and division are difficult to perform in RNS, since it is problematic to determine the magnitude of an RNS number. In order to resolve this problem, we propose to compute the interval evaluation of the fractional representation of an RNS number in floating-point arithmetic of limited precision. No matter what the size n of the moduli set and dynamic range, only small arithmetic operations are required, and most of the computations are performed in parallel with n threads, which allows for efficient implementation of our method on many general-purpose computing platforms. Using this method, we propose new algorithms for magnitude comparison and general division in RNS and implement them for GPUs using the CUDA platform. We evaluate the performance of our algorithms on an NVIDIA GTX 1080 GPU using sets of 4 to 256 RNS moduli that provide dynamic ranges from 64 to 4096 bits. Experimental results show that the proposed new algorithms are efficient for large moduli sets and clearly outperform the existing RNS magnitude comparison and division algorithms in terms of execution time.
topic Residue number system
floating-point arithmetic
non-modular operations
magnitude comparison
division
high performance
url https://ieeexplore.ieee.org/document/9043511/
work_keys_str_mv AT konstantinisupov usingfloatingpointintervalsfornonmodularcomputationsinresiduenumbersystem
_version_ 1724186934859792384