Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve key-value sort performance #120

Merged
merged 6 commits into from
Jan 8, 2024
Merged

Conversation

r-devulap
Copy link
Contributor

@r-devulap r-devulap commented Jan 4, 2024

  1. AVX-512 32-bit key value sort now uses zmm registers exclusively
  2. Added partition_avx512_unrolled function
  3. Use get_pivot_blocks function in key-value sort.

Performance numbers:

Benchmark                                                                  Time             CPU      Time Old      Time New       CPU Old       CPU New
-------------------------------------------------------------------------------------------------------------------------------------------------------
[simdkvsort/random_1m vs. simdkvsort/random_1m]/uint64_t                -0.2048         -0.2048      21833844      17362725      21833373      17361179
[simdkvsort/random_1m vs. simdkvsort/random_1m]/int64_t                 -0.2099         -0.2099      21922325      17320157      21919807      17319054
[simdkvsort/random_1m vs. simdkvsort/random_1m]/double                  -0.2257         -0.2258      20498044      15871414      20496653      15869322
[simdkvsort/random_1m vs. simdkvsort/random_1m]/uint32_t                -0.5045         -0.5045      16658607       8254529      16657580       8253890
[simdkvsort/random_1m vs. simdkvsort/random_1m]/int32_t                 -0.5009         -0.5009      16618624       8293955      16617563       8293402
[simdkvsort/random_1m vs. simdkvsort/random_1m]/float                   -0.4644         -0.4645      16973247       9090381      16972334       9089449
OVERALL_GEOMEAN                                                         -0.3668         -0.3669             0             0             0             0

@r-devulap r-devulap merged commit 5c133e7 into intel:main Jan 8, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant