当前位置: X-MOL 学术Int. J. High Perform. Comput. Appl. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Efficient high-precision integer multiplication on the GPU
The International Journal of High Performance Computing Applications ( IF 3.1 ) Pub Date : 2022-03-20 , DOI: 10.1177/10943420221077964
Adrian P Dieguez 1 , Margarita Amor 2 , Ramón Doallo 2 , Akira Nukada 3 , Satoshi Matsuoka 4
Affiliation  

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.

中文翻译:

GPU 上的高效高精度整数乘法

大整数的乘法在计算机科学中有许多应用,是一种可以表示为多项式乘法,然后是进位归一化的运算。这项工作开发了两种高效多项式乘法的方法:一种方法基于平铺经典卷积算法,但利用新的 CUDA 架构,这是一种使用整数计算乘法的新颖方法,没有精度无损;另一种是基于 Strassen 算法,该算法使用 FFT 运算将大型多项式相乘,但将最快的 FFT 库用于当前 GPU 并处理复杂领域。以前的研究报告称,Strassen 算法是 GPU 上“足够大”整数的有效实现。此外,大多数先前的研究都没有检查进位归一化的实现,但这项工作描述了该操作的并行实现。我们的结果显示了我们的方法在短、中和大尺寸方面的效率。
更新日期:2022-03-20
down
wechat
bug