ABSTRACT
We discuss the parallelization of algorithms for solving polynomial systems by way of triangular decomposition. The Triangularize algorithm proceeds through incremental intersections of polynomials to produce different components (points, curves, surfaces, etc.) of the solution set. Independent components imply the opportunity for concurrency. This "component-level" parallelization of triangular decompositions, our focus here, belongs to the class of dynamic irregular parallelism. Potential parallel speed-up depends only on geometrical properties of the solution set (number of components, their dimensions and degrees); these algorithms do not scale with the number of processors. To manage the irregularities of component-level parallelization we combine different concurrency patterns, namely, workpile, producer-consumer, and fork/join. We report on our implementation in the freely available BPAS library. Experimentation with thousands of polynomial systems yield examples with up to 9.5× speed-up on a 12-core machine.
- M. Asadi, A. Brandt, C. Chen, S. Covanov, F. Mansouri, D. Mohajerani, R. H. C. Moir, M. Moreno Maza, Lin-Xiao Wang, Ning Xie, and Yuzhen Xie. 2018. Basic Polynomial Algebra Subprograms (BPAS). http://www.bpaslib.org.Google Scholar
- G. Attardi and C. Traverso. 1996. Strategy-Accurate Parallel Buchberger Algorithms. J. Symbolic Computation 22 (1996), 1--15.Google Scholar
- Philippe Aubry, Daniel Lazard, and Marc Moreno Maza. 1999. On the Theories of Triangular Sets. J. Symb. Comput. 28, 1--2 (1999), 105--124.Google ScholarCross Ref
- Mordechai Ben-Ari. 1990. Principles of concurrent and distributed programming. Prentice Hall.Google Scholar
- Francesco Biscani. 2012. Parallel sparse polynomial multiplication on modern hardware architectures. In ISSAC 2012, Grenoble, France, 2012. 83--90.Google ScholarDigital Library
- Janko Böhm, Wolfram Decker, Santiago Laplagne, Gerhard Pfister, Andreas Steenpaß, and Stefan Steidel. 2013. Parallel algorithms for normalization. J. Symb. Comput. 51 (2013), 99--114.Google ScholarDigital Library
- F. Boulier, F. Lemaire, and M. Moreno Maza. 2006. Well known theorems on triangular systems and the D5 principle. In Proc. of Transgressive Computing 2006. Granada, Spain.Google Scholar
- B. Buchberger. 1987. The parallelization of critical-pair/completion procedures on the L-Machine. In Proc. of the Jap. Symp. on functional programming. 54--61.Google Scholar
- Reinhard Bündgen, Manfred Göbel, and Wolfgang Küchlin. 1994. A fine-grained parallel completion procedure. In Proceedings of ISSAC. ACM, 269--277.Google ScholarDigital Library
- C. Chen and M. Moreno Maza. 2012. Algorithms for computing triangular decomposition of polynomial systems. J. Symb. Comput. 47, 6 (2012), 610--642.Google ScholarDigital Library
- Xavier Dahan, Marc Moreno Maza, Éric Schost, Wenyuan Wu, and Yuzhen Xie. 2005. Lifting techniques for triangular decompositions. In ISSAC 2005, Beijing, China, 2005, Proceedings. 108--115.Google ScholarDigital Library
- J. C. Faugere. 1994. Parallelization of Gröbner Basis. In Parallel Symbolic Computation PASCO 1994 Proceedings, Vol. 5. World Scientific, 124.Google Scholar
- M. Gastineau and J. Laskar. 2015. Parallel sparse multivariate polynomial division. In Proceedings of PASCO 2015. 25--33.Google ScholarDigital Library
- Jiaxiong Hu and Michael B. Monagan. 2016. A Fast Parallel Sparse Polynomial GCD Algorithm. In ISSAC 2016, Waterloo, ON, Canada, July 19--22, 2016. 271--278.Google Scholar
- C. E. Leiserson. 2011. Cilk. In Encyclopedia of Parallel Computing. 273--288.Google Scholar
- F. Lemaire, M. Moreno Maza, and Y. Xie. 2005. The RegularChains library in MAPLE. ACM SIGSAM Bulletin 39, 3 (2005), 96--97.Google ScholarDigital Library
- Xin Li, Marc Moreno Maza, and Wei Pan. 2009. Computations modulo regular chains. In ISSAC 2009, Seoul, Republic of Korea, Proceedings. 239--246.Google ScholarDigital Library
- M. McCool, J. Reinders, and A. Robison. 2012. Structured parallel programming: patterns for efficient computation. Elsevier.Google Scholar
- M. Monagan and R. Pearce. 2010. Parallel sparse polynomial division using heaps. In Proceedings of PASCO 2010. ACM, 105--111.Google Scholar
- Michael B. Monagan and Baris Tuncer. 2018. Sparse Multivariate Hensel Lifting: A High-Performance Design and Implementation. In ICMS 2018 - 6th International Conference, South Bend, IN, USA, July 24--27, 2018, Proceedings. 359--368.Google Scholar
- Marc Moreno Maza and Yuzhen Xie. 2007. Component-level parallelization of triangular decompositions. In PASCO 2007 Proceedings. ACM, 69--77.Google ScholarDigital Library
- B. D. Saunders, H. R. Lee, and S. K. Abdali. 1989. A parallel implementation of the cylindrical algebraic decomposition algorithm. In ISSAC, Vol. 89. 298--307.Google Scholar
- Michael L. Scott. 2009. Programming Language Pragmatics (3. ed.). Academic Press.Google Scholar
- Y. Xie. 2007. Fast Algorithms, Modular Methods, Parallel Approaches, and Software Engineering for Solving Polynomial Systems Symbolically. Ph.D. Dissertation.Google Scholar
Index Terms
- On the parallelization of triangular decompositions
Recommendations
Parallelization of triangular decompositions: Techniques and implementation
AbstractWe discuss the parallelization of algorithms for solving polynomial systems by way of triangular decomposition. The Triangularize algorithm proceeds through incremental intersections of polynomials to produce different components (...
Component-level parallelization of triangular decompositions
PASCO '07: Proceedings of the 2007 international workshop on Parallel symbolic computationWe discuss the parallelization of algorithms for solving poly-nomial systems symbolically by way of triangular decompositions. We introduce a component-level parallelism for which the number of processors in use depends on the geometry of the solution ...
The Kremlin Oracle for Sequential Code Parallelization
The Kremlin open-source tool helps programmers by automatically identifying regions in sequential programs that merit parallelization. Kremlin combines a novel dynamic program analysis, hierarchical critical-path analysis, with multicore processor ...
Comments