If you're curious why you would want a vectorized way to sort lists of numbers, one use case is building histograms - it's much easier to build a histogram if you've sorted all your samples first
Hadn't seen it until now. Open-source. Immediately usable. It will find its way to every place in which it can be used. Very nice! A big THANK YOU to the developers.
Actual title: “Vectorized and performance-portable Quicksort” (2022).
Actual sense in which it’s first:
Happily, modern instruction sets (Arm SVE, RISC-V V, x86 AVX-512) include a special instruction suitable for partitioning. Given a separate input of yes/no values (whether an element is less than the pivot), this "compress-store" instruction stores to consecutive memory only the elements whose corresponding input is "yes". We can then logically negate the yes/no values and apply the instruction again to write the elements to the other partition. This strategy has been used in an AVX-512-specific Quicksort. But what about other instruction sets such as AVX2 that don't have compress-store? Previous work has shown how to emulate this instruction using permute instructions.
We build on these techniques to achieve the first vectorized Quicksort that is portable to six instruction sets across three architectures, and in fact outperforms prior architecture-specific sorts.
Very nice. Let's see Paul Allen's quicksort
(2022)
If you're curious why you would want a vectorized way to sort lists of numbers, one use case is building histograms - it's much easier to build a histogram if you've sorted all your samples first
I wonder what apps have implemented this now that a few years have passed.
Who would've guessed? SIMD is so boring.
Honestly part of me feels that way about way too many things in retrospect about my own life and interests.
time to log off
i read that and thought the same. actual based idea its even inspired me to log off
Hadn't seen it until now. Open-source. Immediately usable. It will find its way to every place in which it can be used. Very nice! A big THANK YOU to the developers.
Actual title: “Vectorized and performance-portable Quicksort” (2022).
Actual sense in which it’s first: