Title
VLI - A Library for High Precision Integer and Polynomial Arithmetic.
Abstract
We present a high-performance C++ library for high but fixed precision (128 to 512 bit) integer arithmetic and symbolic polynomial computations. While the large integer and polynomial computation parts of the library can be used independently optimized kernels for symbolic polynomials with large integer coefficients are provided. The kernels were manually optimized in assembly language for the x86-64 and power64 architectures. Our main target application is high-temperature series expansions which requires inner products of large vectors of polynomials with large integer coefficients. For this purpose we implemented a tunable hybrid CPU/ GPU inner product function using OpenMP and NVIDIA CUDA with inline PTX assembly. This way we make optimal use of today's and upcoming hybrid supercomputers and attain 49% of the peak performance of the current NVIDIA Kepler GPU. Compared to a pure CPU solution using the GNU Multiple Precision Arithmetic Library (GMP) we gain a speedup of 13x for a pure CPU inner product and 38x using a GPU accelerator.
Year
DOI
Venue
2013
10.1007/978-3-642-38750-0_20
Lecture Notes in Computer Science
Field
DocType
Volume
Integer,Discrete mathematics,Polynomial arithmetic,Polynomial,Arbitrary-precision arithmetic,CUDA,Assembly language,Computational science,512-bit,Mathematics,Speedup
Conference
7905
ISSN
Citations 
PageRank 
0302-9743
0
0.34
References 
Authors
3
3
Name
Order
Citations
PageRank
Timothée Ewart161.85
Andreas Hehn211.08
Matthias Troyer312019.62