Replies: 7 comments
-
Hi and thanks for trying out EVE :) Sorting is definitively on our algorithm roadmap but that's for raneg-based sorting of data. This is something we can discuss with @DenisYaroshevskiy and see how we can layout this work. |
Beta Was this translation helpful? Give feedback.
-
sort of a wide is something I am working on. It's required for sorting a range. But yeah - it's not yet implemented. We have To be clear - I'm not sure when it will be done, a few months I guess but smth may get in the way. UPD: there is one pr to merge in the next few days, but after that there'd be enough tools to build a somewhat ok sort. For a proper |
Beta Was this translation helpful? Give feedback.
-
That's awesome guys. Godspeed! |
Beta Was this translation helpful? Give feedback.
-
If you use highway as an example on how to do it, please don't show it to us - that might create us tension for in the future. Godbolt doent seem to update the trunk, but this works locally:
Output:
This should be enough tools to do a working sort, if you are blocked. The place I was going to look it was intel's sort - they have a good license and I asked someone. There is also https://bits.houmus.org/2020-01-28/this-goes-to-eleven-pt1 |
Beta Was this translation helpful? Give feedback.
-
Another thing you might look at is: In the older version it's called |
Beta Was this translation helpful? Give feedback.
-
@DenisYaroshevskiy, got it, I haven't done more than the quick google search. I have yet to try to implement something, but so far I simply track A nice write up in the form of an academic paper (Bramas, 2017) can be found on arxiv as well. Perhaps it is of some use? |
Beta Was this translation helpful? Give feedback.
-
First off: thank you for working on EVE, it is truly an amazing project.
I was just searching the documentation for how to sort a
eve::wide
instance efficiently, but couldn't find anything (currently I only need a simpleeve::wide sort(eve::wide input)
function, but I could imagine that e.g. "argsort" could be useful too).I believe a bitonic sorter lends it well to SIMD (but I might be missing something). Is this on some roadmap perhaps? I guess 2, 4, 8, 16, 32, 64 would cover most (all?) use cases.
All the best,
Björn
P.S. As I'm writing this I thought I should at least search and see if Highway has an implementation, and just as an FYI, it looks like they have one.
Beta Was this translation helpful? Give feedback.
All reactions