Polynomial factorization is a classical algorithmic algebra problem with a wide range of applications. Of particular interest is factorization over finite fields, among which fields of order two are probably the most important ones when representing Boolean functions by Zhegalkin polynomials. In particular, factorization of Boolean polynomials corresponds to conjunctive decomposition of Boolean functions given in algebraic normal form. In addition, factorization enables decomposition of functions given in full disjunctive normal form (DNF) and positive DNF, as well as Cartesian decomposition of relational data. These applications demonstrate the importance of developing fast factorization algorithms. In this paper, we consider some recently proposed factorization algorithms of polynomial complexity and describe a parallel MIMD implementation that takes advantage of both task-level and data-level parallelism. We conduct some experiments on logic synthesis benchmarks and synthetic (random) polynomials to demonstrate significant factorization speedup. In conclusion, we discuss results of testing a parallel implementation of the algorithm on a massively parallel multicore architecture (REDEFINE).
- 1.02 COMPUTER AND INFORMATION SCIENCES
- 1.02.EW COMPUTER SCIENCE, SOFTWARE ENGINEERING