Abstract
We present a parallel implementation of Schönhage's integer GCD algorithm on distributed memory architectures. Results are generalized for the extended GCD algorithm.
Experiments on sequential architectures show that Schönhage's algorithm overcomes other GCD algorithms implemented in two well known multiple-precision packages for input sizes larger than about 50000 bytes. In the extended case this threshold drops to 10000 bytes. In these input ranges a parallel implementation provides additional speed-up. Parallelization is achieved by distributing matrix operations and by using parallel implementations of the multiple-precision integer multiplication algorithms. We use parallel Karatsuba's and parallel 3-primes FFT multiplication algorithms implemented in CALYPSO, a computer algebra library for parallel symbolic computation we have developed.
Schönhage's parallel algorithm is analyzed by using a message-passing model of computation. Experimental results on distributed memory architectures, such as the Intel Paragon, confirm the analysis.
Preview
Unable to display preview. Download preview PDF.
References
A. Aho, J. Hopcroft, and J. Ullman. The Design and Analysis of Computers Algorithms. Addison-Wesley, 1974.
G. Cesari. CALYPSO: a computer algebra library for parallel symbolic computation. In Proceedings of the 2nd International Symposium of Parallel Symbolic Computation (PASCO97), Hawaii, USA. ACM Press, 1997.
G. Cesari. Parallel Algorithms for Multiple-Precision Arithmetic. PhD thesis, Swiss Federal Institute of Technology, ETH, CH-8092 Zurich, 1997.
G. Cesari and R. Maeder. Parallel 3-primes FFT. In Design and Implementation of Symbolic Computation Systems (DISCO96), volume 1128 of LNCS. Springer Verlag, 1996.
G. Cesari and R. Maeder. Performance analysis of the parallel Karatsuba multiplication algorithm for distributed memory architectures. Journal of Symbolic Computation, Special Issue on Parallel Symbolic Computation, 21:467–473, 1996.
B. Chor and O. Goldreich. An improved parallel algorithm for integer gcd. Algorithmica, 5:1–10, 1990.
R.E. Crandall. Projects in scientific computation. Springer New York, 1994.
T. Granlund. GNU MP. The GNU Multiple Precision Arithmetic Library, 1996.
B. Haible. CLN, a Class Library for Numbers, 1996.
R. Kannan, G. L. Miller, and L. Rudolph. Sublinear parallel algorithm for computing the greatest common divisor of two integers. SIAMJC, 16:7–16, 1987.
D. E. Knuth. Seminumerical Algorithms, volume 2 of The Art of Computer Programming. Addison-Wesley, second edition, 1981.
A. Schoenhage. Schnelle Berechnung von Kettenbruchentwicklungen. Acta Informatica, 1:139–144, 1971.
J. Sorenson. Two fast GCD algorithms. Journal of Algorithms, 16(1):110–144, January 1994.
K. Weber. The accelerated integer GCD algorithm. ACM Transactions on Mathematical SW, 21:111–122, March 1995.
K. Weber. Parallel implementation of the accelerated integer GCD algorithm. Journal of Symbolic Computation, Special Issue on Parallel Symbolic Computation, 21:457–466, 1996.
C.K. Yap. Fundamental Problems in Algorithmic Algebra. Princeton University Press (in press), 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cesari, G. (1998). Parallel implementation of Schönhage's integer GCD algorithm. In: Buhler, J.P. (eds) Algorithmic Number Theory. ANTS 1998. Lecture Notes in Computer Science, vol 1423. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054852
Download citation
DOI: https://doi.org/10.1007/BFb0054852
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64657-0
Online ISBN: 978-3-540-69113-6
eBook Packages: Springer Book Archive