Intel Releases x86-simd-sort v1.0 Library For High Performance AVX-512 Sorting
Last month you may recall the news of Intel having an extremely fast AVX-512 sorting library they published as open-source and found adoption already by the popular Numpy Python library. In the case of Numpy it could deliver some 10~17x speed-ups. That header-only library has now reached version 1.0.
Intel today released x86-simd-sort 1.0 as this C++ header file library for SIMD-based 16 / 32 / 64 bit data type sorting. Currently this header-only library is just providing an AVX-512 based quicksort implementation while it will be interesting to see if they eventually add AVX/AVX2 for making x86-simd-sort more robust.
With the x86-simd-sort 1.0 release it's a tagged milestone to match what was upstreamed into Numpy. As of v1.0 there is AVX-512 quicksort implemented for float16, uint16_t, int16_t, float, uint32_t, int32_t, double, uint64_t, and int64_t data types.
This AVX-512 quicksort library works for Intel AVX-512 enabled processors as well as new AMD Zen 4 (Ryzen 7000 series / 4th Gen EPYC) processors also boasting AVX-512.
Cheers to Intel with all their continued great open-source software work.
Version 1.0 of this library can be downloaded from GitHub. Now that there's a declared 1.0 release it will be interesting to see what other software projects may decide to make use of this AVX-512 optimized quicksort. Intel makes this library public under a BSD 3-Clause License.