Adds OpenMP based parallelization to key-value sorting #153
+134
−10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch adds support for OpenMP parallelized kv-sort, and adds a new GitHub CI run to test this logic.
Below are benchmarks, ran with OpenMP limited to 8 threads. Note that for the smaller sizes, no parallelization is occurring, they are simply here to show there isn't a significant regression for smaller arrays.
10m
1m
100k
5k
128
And with OpenMP disabled at compile time, there is no significant change:
OpenMP disabled: