You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 26, 2024. It is now read-only.
When calling sort against large vectors with sizes that are not power of 2, sequential_sort()s will hang for significantly long periods (1000 seconds+) e.g.
This issue begins to occur once vectors reach the size 10,000-100,000 range, and occurs consistently after that. It does not seem to be limited to specific targets, persisting across intel:cpu, intel:gpu etc.
The text was updated successfully, but these errors were encountered:
I've tried a number of common sort algorithms this week, many of which were thrown out (sort time >1 minute, invalid results etc.). Out of the ones tried, merge sort came out the quickest:
For very large N like in this case, ParallelSTL will outperform std::sort(). However, std::sort tends to outperform this implementation at smaller size vectors.
I've created a PR for the merge sort implementation here.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
When calling sort against large vectors with sizes that are not power of 2, sequential_sort()s will hang for significantly long periods (1000 seconds+) e.g.
Comparing time vs. std::sort() with
std::chrono::steady_clock::now();
produced the following:This issue begins to occur once vectors reach the size 10,000-100,000 range, and occurs consistently after that. It does not seem to be limited to specific targets, persisting across intel:cpu, intel:gpu etc.
The text was updated successfully, but these errors were encountered: