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...
Main Author: | |
---|---|
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 |