Synthesis of Parallel Sorting Networks using SAT Solvers.
Andreas Morgenstern, Klaus Schneider · MBMV · 2011
Sorting networks are implementations of parallel sorting algorithms that have many important applications like routing where they are more powerful than other networks like the Omeganetwork [Law75]. Sorting networks are essentially combinational hardware circuits that consist of only compare/exchange modules. While a recursive definition of an asymptotically optimal sorting network is known [AKS83], its implementation turned out to be totally inefficient in practice. Optimal implementations of sorting networks with a minimal depth (and thus minimal computation time) are known only up to sizes up to 10 elements. Hence, the design of optimal parallel sorting networks is still a fundamental open problem for larger sizes. In this paper, we investigate whether and how it is possible to use the power of modern SAT solvers to automatically synthesize optimal sorting networks (with minimal depth). We were able to reproduce the known results up to size 10, but could so far not obtain larger optimal networks.