← All repos

x86-simd-sort

C++ template library for high performance SIMD based sorting algorithms

argsortavx2avx512partialsortquickselectquicksortsortx86
Browse cluster: RISC-V Toolchain & Math Libraries
732commits
21contributors
7languages

Tech stack & purpose

x86-simd-sort is a C++ template library that provides high-performance sorting algorithms accelerated with SIMD instructions (AVX-512 and AVX-2) for integers, floats, and custom C++ objects across 16-bit, 32-bit, and 64-bit data types. The library implements quicksort, quickselect, partial sort, argsort, and key-value sort routines, automatically selecting the best SIMD variant based on the host processor's capabilities. Built with Meson and supporting C++17 and later, it includes optional OpenMP parallelization for further speedup and is used as a submodule by major projects including NumPy, PyTorch, and openJDK to accelerate their sorting operations.

Languages

C++
56.6%
Jupyter Notebook
41.3%
Meson
1.0%
Python
0.3%
C
0.3%
Shell
0.3%
Makefile
0.1%

Contributors