arrow
Return

Efficient high-precision integer multiplication on the GPU

delete2022-03-20
delete1
delete
OA
AI
A
Adrián Perez Diéguez *
M
Margarita Amor
R
Ramón Doallo
A
Akira Nukada
S
Satoshi Matsuoka
DOI:10.1177/10943420221077964delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
The multiplication of large integers, which has many applications in computer science, is an operation that can be expressed as a polynomial multiplication followed by a carry normalization. This work develops two approaches for efficient polynomial multiplication: one approach is based on tiling the classical convolution algorithm, but taking advantage of new CUDA architectures, a novelty approach to compute the multiplication using integers without accuracy lossless; the other one is based on the Strassen algorithm, an algorithm that multiplies large polynomials using the FFT operation, but adapting the fastest FFT libraries for current GPUs and working on the complex field. Previous studies reported that the Strassen algorithm is an effective implementation for large enough integers on GPUs. Additionally, most previous studies do not examine the implementation of the carry normalization, but this work describes a parallel implementation for this operation. Our results show the efficiency of our approaches for short, medium, and large sizes.
Keywords:
large integers
multiplication
FFT
GPU
CUDA

Journal

International Journal of High Performance Computing Applications cover
International Journal of High Performance Computing Applications
IF:
2.5
Papers:
1.1K
Citations:
1.3K

Organization

U
Universidade da Coruna
Scholars:
6.6K
Papers: 5.7K
Citations: 11
U
University of Tsukuba
Scholars:
1.8W
Papers: 1.5W
Citations: 1.7W
R
riken
Scholars:
2.2W
Papers: 1.9W
Citations: 24
researcher View more organizations