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

https://hal.inria.fr/hal-01512970
Contributor : Bérenger Bramas <>
Submitted on : Thursday, November 2, 2017 - 11:38:10 AM
Last modification on : Monday, November 16, 2020 - 10:34:04 AM

File

Paper_44-A_Novel_Hybrid_Quicks...
Publication funded by an institution

Identifiers

Citation

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⟩

Share

Metrics

Record views

242

Files downloads

623