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

enhance: [bitset] multiple 'and' and 'or' in a single op #33345

Merged

Conversation

alexanderguzhva
Copy link
Contributor

@alexanderguzhva alexanderguzhva commented May 24, 2024

issue #34117

  • Refactoring
  • Added a capability to perform multiple bitwise and and or operations in a single op
  • AVX2, AVX512, ARM NEON, ARM SVE backed bitwise and, op, xor and sub ops
  • more unit tests for bitset
  • fixed a bug in or_with_count for certain bitset sizes
  • fixed a bug for certain offset values for inplace operations that take two bitsets

@sre-ci-robot sre-ci-robot added the do-not-merge/work-in-progress Don't merge even CI passed. label May 24, 2024
@sre-ci-robot sre-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines. label May 24, 2024
Copy link
Contributor

mergify bot commented May 24, 2024

@alexanderguzhva

Invalid PR Title Format Detected

Your PR submission does not adhere to our required standards. To ensure clarity and consistency, please meet the following criteria:

  1. Title Format: The PR title must begin with one of these prefixes:
  • feat: for introducing a new feature.
  • fix: for bug fixes.
  • enhance: for improvements to existing functionality.
  • test: for add tests to existing functionality.
  • doc: for modifying documentation.
  • auto: for the pull request from bot.
  1. Description Requirement: The PR must include a non-empty description, detailing the changes and their impact.

Required Title Structure:

[Type]: [Description of the PR]

Where Type is one of feat, fix, enhance, test or doc.

Example:

enhance: improve search performance significantly 

Please review and update your PR to comply with these guidelines.

@alexanderguzhva alexanderguzhva changed the title [WIP] bitset: multiple 'and' and 'or' in a single op [enhance] [WIP] bitset: multiple 'and' and 'or' in a single op May 24, 2024
@sre-ci-robot sre-ci-robot removed the do-not-merge/work-in-progress Don't merge even CI passed. label May 24, 2024
@alexanderguzhva alexanderguzhva changed the title [enhance] [WIP] bitset: multiple 'and' and 'or' in a single op enhance: [WIP] bitset: multiple 'and' and 'or' in a single op May 24, 2024
@mergify mergify bot added kind/enhancement Issues or changes related to enhancement do-not-merge/missing-related-issue and removed do-not-merge/invalid-pr-format labels May 24, 2024
Copy link
Contributor

mergify bot commented May 24, 2024

@alexanderguzhva Please associate the related issue to the body of your Pull Request. (eg. “issue: #”)

Copy link
Contributor

mergify bot commented May 24, 2024

@alexanderguzhva ut workflow job failed, comment rerun ut can trigger the job again.

Copy link

codecov bot commented May 24, 2024

Codecov Report

Attention: Patch coverage is 83.21168% with 69 lines in your changes missing coverage. Please review.

Project coverage is 80.70%. Comparing base (2e76709) to head (cb02da7).
Report is 10 commits behind head on master.

Files with missing lines Patch % Lines
.../core/src/bitset/detail/platform/x86/avx512-impl.h 0.00% 36 Missing ⚠️
...al/core/src/bitset/detail/platform/x86/avx2-impl.h 50.00% 18 Missing ⚠️
...l/core/src/bitset/detail/platform/vectorized_ref.h 0.00% 12 Missing ⚠️
internal/core/src/bitset/detail/maybe_vector.h 83.33% 2 Missing ⚠️
...ternal/core/src/bitset/detail/platform/dynamic.cpp 66.66% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #33345      +/-   ##
==========================================
+ Coverage   72.34%   80.70%   +8.36%     
==========================================
  Files        1310     1311       +1     
  Lines      183596   183979     +383     
==========================================
+ Hits       132819   148480   +15661     
+ Misses      45658    30389   -15269     
+ Partials     5119     5110       -9     
Files with missing lines Coverage Δ
internal/core/src/bitset/bitset.h 99.68% <100.00%> (+21.17%) ⬆️
internal/core/src/bitset/common.h 100.00% <ø> (ø)
internal/core/src/bitset/detail/bit_wise.h 100.00% <100.00%> (ø)
...ternal/core/src/bitset/detail/element_vectorized.h 97.24% <100.00%> (+10.41%) ⬆️
internal/core/src/bitset/detail/element_wise.h 100.00% <100.00%> (+26.73%) ⬆️
internal/core/src/bitset/detail/platform/dynamic.h 100.00% <100.00%> (ø)
internal/core/src/bitset/detail/proxy.h 100.00% <100.00%> (+25.00%) ⬆️
...ternal/core/src/bitset/detail/platform/dynamic.cpp 68.00% <66.66%> (+68.00%) ⬆️
internal/core/src/bitset/detail/maybe_vector.h 83.33% <83.33%> (ø)
...l/core/src/bitset/detail/platform/vectorized_ref.h 0.00% <0.00%> (ø)
... and 2 more

... and 257 files with indirect coverage changes

Copy link
Contributor

mergify bot commented May 24, 2024

@alexanderguzhva ut workflow job failed, comment rerun ut can trigger the job again.

@alexanderguzhva alexanderguzhva changed the title enhance: [WIP] bitset: multiple 'and' and 'or' in a single op enhance: [bitset] multiple 'and' and 'or' in a single op May 24, 2024
@mergify mergify bot added the ci-passed label May 24, 2024
@zhagnlu
Copy link
Contributor

zhagnlu commented Jun 7, 2024

/lgtm

@alexanderguzhva
Copy link
Contributor Author

/hold

Copy link
Contributor

mergify bot commented Oct 17, 2024

@alexanderguzhva E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@alexanderguzhva
Copy link
Contributor Author

/unhold

Copy link
Contributor

mergify bot commented Oct 17, 2024

@alexanderguzhva E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

Copy link
Contributor

mergify bot commented Oct 17, 2024

@alexanderguzhva go-sdk check failed, comment rerun go-sdk can trigger the job again.

Copy link
Contributor

mergify bot commented Oct 17, 2024

@alexanderguzhva E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

Copy link
Contributor

mergify bot commented Oct 17, 2024

@alexanderguzhva go-sdk check failed, comment rerun go-sdk can trigger the job again.

@alexanderguzhva
Copy link
Contributor Author

/run-cpu-e2e

@alexanderguzhva
Copy link
Contributor Author

rerun go-sdk

Copy link
Contributor

mergify bot commented Oct 17, 2024

@alexanderguzhva E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

Copy link
Contributor

mergify bot commented Oct 17, 2024

@alexanderguzhva go-sdk check failed, comment rerun go-sdk can trigger the job again.

@alexanderguzhva
Copy link
Contributor Author

rerun go-sdk

@alexanderguzhva
Copy link
Contributor Author

/run-cpu-e2e

Copy link
Contributor

mergify bot commented Oct 18, 2024

@alexanderguzhva go-sdk check failed, comment rerun go-sdk can trigger the job again.

@alexanderguzhva
Copy link
Contributor Author

@zhagnlu @liliu-z please help reviewing

@alexanderguzhva
Copy link
Contributor Author

rerun go-sdk

@mergify mergify bot added the ci-passed label Oct 18, 2024
@czs007
Copy link
Collaborator

czs007 commented Oct 22, 2024

/approve
/lgtm

@sre-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alexanderguzhva, czs007

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sre-ci-robot sre-ci-robot merged commit 5a1f752 into milvus-io:master Oct 22, 2024
16 checks passed
sre-ci-robot pushed a commit that referenced this pull request Oct 22, 2024
issue: #34117
pr: #33345 

Refactoring:
* Added a capability to perform multiple bitwise and and or operations
in a single op
* AVX2, AVX512, ARM NEON, ARM SVE backed bitwise and, op, xor and sub
ops
* more unit tests for bitset
* fixed a bug in or_with_count for certain bitset sizes
* fixed a bug for certain offset values for inplace operations that take
two bitsets

Signed-off-by: Alexandr Guzhva <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved ci-passed dco-passed DCO check passed. kind/enhancement Issues or changes related to enhancement lgtm size/XXL Denotes a PR that changes 1000+ lines.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants