We present a simple parallel algorithm for computing the greatest common divisor (gcd) of twon-bit integers in the Common version of the CRCW model of computation. The run-time of the algorithm in terms of bit operations isO(n/logn), usingn1+ɛ processors, where ɛ is any positive constant. This improves on the algorithm of Kannan, Miller, and Rudolph, the only sublinear algorithm known previously, both in run time and in number of processors; they requireO(n log logn/logn),n2 log2n, respectively, in the same CRCW model.
We give an alternative implementation of our algorithm in the CREW model. Its run-time isO(n log logn/logn), usingn1+ɛ processors. Both implementations can be modified to yield the extended gcd, within the same complexity bounds.
Key wordsGreatest common divisor Parallel algorithms
Unable to display preview. Download preview PDF.
- Brent, R. P., and H. T. Kung, Systolic VLSI arrays for linear time gcd computation, inVLSI 83, IFIP, F. Anceau and E. J. Aas (eds.), pp. 145–154, Elsevier, Amsterdam, 1983.Google Scholar
- Chandra, A. K., S. Fortune, and R. Lipton, Unbounded fan-in circuits and associative functions,Proceedings of the Fifteenth Annual Symposium on Theory of Computing, ACM, pp. 52–60, 1983.Google Scholar
- Vishkin, U., Implementation of simultaneous memory access in models that forbid it, Technical Report No. 210, Department of Computer Science, Technion, Haifa, 1981.Google Scholar
- Wallace, C. S., A suggestion for a fast multiplier,IEEE Transactions on Electronic Computers, (1964), pp. 14–17.Google Scholar