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

[Enhancement] optimize filter_range when avx512f available #14328

Merged
merged 5 commits into from
Dec 6, 2022
Merged

[Enhancement] optimize filter_range when avx512f available #14328

merged 5 commits into from
Dec 6, 2022

Conversation

dirtysalt
Copy link
Contributor

@dirtysalt dirtysalt commented Nov 30, 2022

What type of PR is this:

  • BugFix
  • Feature
  • Enhancement
  • Refactor
  • UT
  • Doc
  • Tool

Which issues of this PR fixes :

Fixes #

Problem Summary(Required) :

A small benchmark shows avx512f implementation has better performance than bitmask:

  • bitmask means current version
  • hybrid means proposal version
  • bitmask/X means the case that X elements in 32 should be selected.

We can see in almost all cases, hybrid version is better than bitmask.

Some observations:

  • 64bit does not accelerate a lot
  • 8/16bit needs AVX512_VBMI feature, which we don't have on our dev machine.
  • TODO: but I think 8/16 bits has another way using 128bit register.

image

Checklist:

  • I have added test cases for my bug fix or my new feature
  • This pr will affect users' behaviors
  • This pr needs user documentation (for new or modified features or behaviors)
    • I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

  • I have checked the version labels which the pr will be auto backported to target branch
    • 2.5
    • 2.4
    • 2.3
    • 2.2

@github-actions
Copy link

clang-tidy review says "All clean, LGTM! 👍"

be/CMakeLists.txt Outdated Show resolved Hide resolved
@github-actions github-actions bot removed the be-build label Nov 30, 2022
@github-actions
Copy link

github-actions bot commented Dec 1, 2022

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link

github-actions bot commented Dec 1, 2022

clang-tidy review says "All clean, LGTM! 👍"

@sonarcloud
Copy link

sonarcloud bot commented Dec 1, 2022

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
10.8% 10.8% Duplication

@wanpengfei-git wanpengfei-git added the Approved Ready to merge label Dec 6, 2022
@wanpengfei-git
Copy link
Collaborator

run starrocks_admit_test

@dirtysalt dirtysalt enabled auto-merge (squash) December 6, 2022 07:50
@dirtysalt
Copy link
Contributor Author

run starrocks_admit_test

@dirtysalt dirtysalt merged commit 73b814a into StarRocks:main Dec 6, 2022
@github-actions github-actions bot removed Approved Ready to merge be-build labels Dec 6, 2022
@dirtysalt dirtysalt deleted the opt-when-avx512f branch December 8, 2022 01:49
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.

None yet

4 participants