ABSTRACT
We present a high performance algorithm for the parallel multiplication of sparse multivariate polynomials on modern computer architectures. The algorithm is built on three main concepts: a cache-friendly hash table implementation for the storage of polynomial terms in distributed form, a statistical method for the estimation of the size of the multiplication result, and the use of Kronecker substitution as a homomorphic hash function. The algorithm achieves high performance by promoting data access patterns that favour temporal and spatial locality of reference. We present benchmarks comparing our algorithm to routines of other computer algebra systems, both in sequential and parallel mode.
- F. Biscani. Design and implementation of a modern algebraic manipulator for Celestial Mechanics. PhD thesis, Centro Interdipartimentale Studi e Attività Spaziali, Università degli Studi di Padova, 2008.Google Scholar
- W. Bosma, J. Cannon, and C. Playoust. The MAGMA algebra system I: the user language. Journal of Symbolic Computation, 24(3-4):235--265, 1997. Google ScholarDigital Library
- M. Chapront-Touzé and J. Chapront. ELP2000-85: a semianalytical lunar ephemeris adequate for historical times. Astronomy and Astrophysics, 190:342--352, January 1988.Google Scholar
- P. J. Denning. The locality principle. Commun. ACM, 48:19--24, July 2005. Google ScholarDigital Library
- R. Fateman. Comparing the speed of programs for sparse polynomial multiplication. ACM SIGSAM Bulletin, 37:4--15, March 2003. Google ScholarDigital Library
- A. Fog. Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs. http://www.agner.org/optimize/instruction_tables.pdf, 2011.Google Scholar
- M. Gastineau. Parallel operations of sparse polynomials on multicores: I. multiplication and poisson bracket. In Proceedings of the 4th International Workshop on Parallel and Symbolic Computation, PASCO '10, pages 44--52, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- M. Gastineau. TRIP benchmarks. http://www.imcce.fr/Equipes/ASD/trip/features.php, Jan. 2012.Google Scholar
- T. Granlund. GNU Multiple Precision Arithmetic Library. http://gmplib.org, 2011.Google Scholar
- ISO. ISO/IEC 14882:2011 Information technology --- Programming languages --- C++. International Organization for Standardization, Geneva, Switzerland, Feb. 2012.Google Scholar
- A. Karatsuba and Y. Ofman. Multiplication of many-digital numbers by automatic computers. Translation in Physics-Doklady, 7:595--596, 1963.Google Scholar
- D. E. Knuth. The Art of Computer Programming, volume 3: Sorting and Searching. Addison-Wesley, second edition, 1998. Google ScholarDigital Library
- L. Kronecker. Grundzüge einer arithmetischen Theorie der algebraischen Grössen. Journal Für die reine und angewandte Mathematik, 92:1--122, 1882.Google Scholar
- E. D. Kuznetsov and K. V. Kholshevnikov. Expansion of the Hamiltonian of the Two-Planetary Problem into the Poisson Series in All Elements: Application of the Poisson Series Processor. Solar System Research, 38:147--154, March 2004.Google Scholar
- M. B. Monagan and R. Pearce. Parallel sparse polynomial multiplication using heaps. In J. Johnson, H. Park, and E. Kaltofen, editors, 2009 International symposium on Symbolic and algebraic computation - ISSAC '09, pages 263--270, Seoul (Republic of Korea), 2009. ACM Press. Google ScholarDigital Library
- A. Morbidelli. Modern Celestial Mechanics: aspects of Solar System dynamics. Number 5 in Advances in Astronomy and Astrophysics. Taylor & Francis, London, first edition, 2002.Google Scholar
- B. Parisse. Giac/Xcas, a free computer algebra system. http://www-fourier.ujf-grenoble.fr/~parisse/giac.html, Jan. 2012.Google Scholar
- J. F. San-Juan and A. Abad. Algebraic and symbolic manipulation of Poisson series. Journal of Symbolic Computation, 32:565--572, September 2001. Google ScholarDigital Library
- M. Sansottera, U. Locatelli, and A. Giorgilli. A semi-analytic algorithm for constructing lower dimensional elliptic tori in planetary systems. Celestial Mechanics and Dynamical Astronomy, 111:337--361, Nov. 2011.Google ScholarCross Ref
- A. Schönhage and V. Strassen. Schnelle Multiplikation großer Zahlen. Computing, 7(3):281--292, Sept. 1971.Google Scholar
Index Terms
- Parallel sparse polynomial multiplication on modern hardware architectures
Recommendations
Parallel sparse polynomial multiplication using heaps
ISSAC '09: Proceedings of the 2009 international symposium on Symbolic and algebraic computationWe 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 ...
Certain classes of polynomial expansions and multiplication formulas
The authors first present a class of expansions in a series of Bernoulli polyomials and then show how this general result can be applied to yield various (known or new) polynomial expansions. The corresponding expansion problem involving the Euler ...
Sparse polynomial multiplication and division in Maple 14
We demonstrate new routines for sparse multivariate polynomial multiplication and division over the integers that we have integrated into Maple 14 through the expand and divide commands. These routines are currently the fastest available, and the ...
Comments