skip to main content
10.1145/1576702.1576739acmconferencesArticle/Chapter ViewAbstractPublication PagesissacConference Proceedingsconference-collections
research-article

Parallel sparse polynomial multiplication using heaps

Published:28 July 2009Publication History

ABSTRACT

We present a high performance algorithm for multiplying sparse distributed polynomials using a multicore processor. Each core uses a heap of pointers to multiply parts of the polynomials using its local cache. Intermediate results are written to buffers in shared cache and the cores take turns combining them to form the result. A cooperative approach is used to balance the load and improve scalability, and the extra cache from each core produces a superlinear speedup in practice. We present benchmarks comparing our parallel routine to a sequential version and to the routines of other computer algebra systems.

References

  1. D. Bini, V. Pan. Improved parallel polynomial division. SIAM J. Comp. 22 (3) 617--626, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. W. Bosma, J. Cannon, and C. Playoust. The Magma algebra system. I. The user language. J. Symb. Comp., 24 (3-4) 235--265, 1997 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Fateman. Comparing the speed of programs for sparse polynomial multiplication. ACM SIGSAM Bulletin, 37 (1) (2003) 4--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Gastineau, J. Laskar. Development of TRIP: Fast Sparse Multivariate Polynomial Multiplication Using Burst Tries. Proceedings of ICCS 2006, Springer LNCS 3992 (2006) 446--453. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G.-M. Greuel, G. Pfister, and H. Schönemann. Singular 3.1.0 - A computer algebra system for polynomial computations. http://www.singular.uni-kl.de (2009).Google ScholarGoogle Scholar
  6. T. Granlund. The GNU Multiple Precision Arithmetic Library, version 4.2.2. http://www.gmplib.org/ (2008).Google ScholarGoogle Scholar
  7. S. C. Johnson. Sparse polynomial arithmetic. ACM SIGSAM Bulletin, 8 (3) (1974) 63--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Lam, E. Rothberg, and M. Wolf. The cache performance and optimizations of blocked algorithms. ACM SIGOPS Operating Systems Review., 25 (1991) 63--74.Google ScholarGoogle Scholar
  9. X. Li and M. Moreno Maza. Multithreaded parallel implementation of arithmetic operations modulo a triangular set. Proc. of PASCO '07, ACM Press, 53--59, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Monagan, K. Geddes, K. Heal, G. Labahn, S. Vorkoetter, J. McCarron, P. DeMarco. Maple 13 Introductory Programming Guide Maplesoft, 2009.Google ScholarGoogle Scholar
  11. M. Monagan, R. Pearce. Polynomial Division Using Dynamic Arrays, Heaps, and Packed Exponent Vectors. Proc. of CASC 2007, Springer (2007) 295--315. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Monagan, R. Pearce. Sparse Polynomial Division Using a Heap. submitted to J. Symb. Comp., October 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Norman, J. Fitch. CABAL: Polynomial and power series algebra on a parallel computer. Proc. of PASCO '97, ACM Press, pp. 196--203, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. PARI/GP, version 2.3.4, Bordeaux, 2008, http://pari.math.u-bordeaux.fr/.Google ScholarGoogle Scholar
  15. D. Reed, R. Kanodia. Synchronization with eventcounts and sequencers. Comm. of the ACM, 22 (2) (1979) 115--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. L. Rudolph, M. Slivkin-Allalouf, and E. Upfal. A simple load balancing scheme for task allocation in parallel machines. Proc. of the third annual ACM symposium on Parallel algorithms and architectures., (1991), 237--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Sweazey, A. Smith. A Class of Compatible Cache Consistency Protocols and their Support by the IEEE Futurebus. Proc. of 13th Annual International Symposium on Computer Architecture, (1986), 414--423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Wang. Parallel Polynomial Operations on SMPs. J. Symbolic. Comp., 21 397--410, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. B. Wilkinson, M. Allen. Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers. Prentice Hall, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. C. Xavier, S. Iyengar. Introduction to Parallel Algorithms Wiley, 1998. Section 10.5 has an FFT based univariate multiplication. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. T. Yan. The Geobucket Data Structure for Polynomials. J. Symb. Comput. 25 (1998) 285--293. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Parallel sparse polynomial multiplication using heaps

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ISSAC '09: Proceedings of the 2009 international symposium on Symbolic and algebraic computation
      July 2009
      402 pages
      ISBN:9781605586090
      DOI:10.1145/1576702

      Copyright © 2009 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 July 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate395of838submissions,47%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader