Applying Sorting Networks to Synthesize Optimized Sorting Libraries

May 08, 2015 Β· Declared Dead Β· πŸ› International Workshop/Symposium on Logic-based Program Synthesis and Transformation

πŸ‘» CAUSE OF DEATH: Ghosted
No code link whatsoever

"No code URL or promise found in abstract"

Evidence collected by the PWNC Scanner

Authors Michael Codish, LuΓ­s Cruz-Filipe, Markus Nebel, Peter Schneider-Kamp arXiv ID 1505.01962 Category cs.DS: Data Structures & Algorithms Cross-listed cs.MS Citations 9 Venue International Workshop/Symposium on Logic-based Program Synthesis and Transformation Last Checked 4 months ago
Abstract
This paper shows an application of the theory of sorting networks to facilitate the synthesis of optimized general purpose sorting libraries. Standard sorting libraries are often based on combinations of the classic Quicksort algorithm with insertion sort applied as the base case for small fixed numbers of inputs. Unrolling the code for the base case by ignoring loop conditions eliminates branching and results in code which is equivalent to a sorting network. This enables the application of further program transformations based on sorting network optimizations, and eventually the synthesis of code from sorting networks. We show that if considering the number of comparisons and swaps then theory predicts no real advantage of this approach. However, significant speed-ups are obtained when taking advantage of instruction level parallelism and non-branching conditional assignment instructions, both of which are common in modern CPU architectures. We provide empirical evidence that using code synthesized from efficient sorting networks as the base case for Quicksort libraries results in significant real-world speed-ups.
Community shame:
Not yet rated
Community Contributions

Found the code? Know the venue? Think something is wrong? Let us know!

πŸ“œ Similar Papers

In the same crypt β€” Data Structures & Algorithms

Died the same way β€” πŸ‘» Ghosted