Skip to Main content Skip to Navigation
Journal articles

A Novel Hybrid Quicksort Algorithm Vectorized using AVX-512 on Intel Skylake

Abstract : The modern CPU’s design, which is composed of hierarchical memory and SIMD/vectorization capability, governs the potential for algorithms to be transformed into efficient implementations. The release of the AVX-512 changed things radically, and motivated us to search for an efficient sorting algorithm that can take advantage of it. In this paper, we describe the best strategy we have found, which is a novel two parts hybrid sort, based on the well-known Quicksort algorithm. The central partitioning operation is performed by a new algorithm, and small partitions/arrays are sorted using a branch-free Bitonicbased sort. This study is also an illustration of how classical algorithms can be adapted and enhanced by the AVX-512 extension. We evaluate the performance of our approach on a modern Intel Xeon Skylake and assess the different layers of our implementation by sorting/partitioning integers, double floatingpoint numbers, and key/value pairs of integers. Our results demonstrate that our approach is faster than two libraries of reference: the GNU C++ sort algorithm by a speedup factor of 4, and the Intel IPP library by a speedup factor of 1.4.
Complete list of metadata

Cited literature [15 references]  Display  Hide  Download
Contributor : Bérenger Bramas Connect in order to contact the contributor
Submitted on : Thursday, November 2, 2017 - 11:38:10 AM
Last modification on : Monday, November 16, 2020 - 10:34:04 AM


Publication funded by an institution



Berenger Bramas. A Novel Hybrid Quicksort Algorithm Vectorized using AVX-512 on Intel Skylake. International journal of advanced computer science and applications (IJACSA), The Science and Information Organization, 2017, ⟨10.14569/IJACSA.2017.081044⟩. ⟨hal-01512970v2⟩



Record views


Files downloads