Closed mzy2240 closed 1 year ago
This is on my to-do list. I'll let you know when I get a chance to work on it
Thanks! Have you seen this: https://julialang.org/blog/2023/04/julia-1.9-highlights/#sorting_performance? Might be interesting to compare
I have heard that v1.9 is much faster for sorting but I haven't tested my code with it yet. I'll do some quick comparisons when I have this package updated again 👍
All done. Made a couple changes:
AVX512Sort.@override_builtin_sort
macro in the script (e.g. after you load the module).AVX512QuickSort <: Base.Sort.Algorithm
so you can use it in sort by passing (an instance of it) as the alg
keyword argument (this can't be done for partialsort!
though, you'll need to use pqsort!
or the override).I had a quick play around with v1.9, it's much faster for sorting overall. I haven't really rigorously defined a benchmark, but for my workloads (and depending on the datatype) it can still be 2-6x faster. For most of the relevant scenarios though, it's only between 1-2x faster.
4.0 is released and it can be used as shared lib now so I am wondering if it is much easier now to create JLL for it.
That is an interesting question, and something I'd like to explore, but unfortunately I no longer have access to a machine supporting AVX512 so it might be some time before I get a chance to revisit this. If you're actively using this code in your research and it's important to have the most up to date version supported, please let me know and we can discuss this further directly.
Mainly due to https://github.com/intel/x86-simd-sort/pull/33