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

GH-36641: [C++] Remove reference to acero from non-acero file #36650

Conversation

westonpace
Copy link
Member

@westonpace westonpace commented Jul 12, 2023

Rationale for this change

Files in modules which do not depend on the acero module should not reference files inside the acero module.

What changes are included in this PR?

There were no changes to the body of any functions. I simply moved functions around so that the acero include was no longer needed. There were some conflicts that arose between the class bit_util and the namespace bit_util and so I got rid of the class in favor of the namespace as that is more similar to how we handle bit_util elsewhere.

Are these changes tested?

Sort of. I would like to add an AVX2 CI system as well. I'm not confident any of the CI builds are building with AVX2 enabled. Also, even if we have an AVX2 CI system it would not have caught this issue since the code was only needed definitions from the acero header and was not relying on any actual compiled symbols. However, I think setting up tests to catch this sort of invalid include are beyond the scope of this PR.

Are there any user-facing changes?

No.

…class bit_util in favor of the namespace bit_util
@github-actions
Copy link

⚠️ GitHub issue #36641 has been automatically assigned in GitHub to PR creator.

cpp/src/arrow/compute/util.h Outdated Show resolved Hide resolved
cpp/src/arrow/compute/util_avx2.cc Show resolved Hide resolved
@pitrou
Copy link
Member

pitrou commented Jul 13, 2023

Sort of. I would like to add an AVX2 CI system as well. I'm not confident any of the CI builds are building with AVX2 enabled.

Probably not, though it should be easy to enable one of them. AVX2 is probably available on most server x86 CPUs nowadays?

@pitrou
Copy link
Member

pitrou commented Jul 13, 2023

I opened #36662 to exercise compile-time AVX2 on CI.

@pitrou
Copy link
Member

pitrou commented Jul 13, 2023

@raulcd This would be nice to have in 13.0.0 if not too late.

@pitrou pitrou merged commit fbf8a97 into apache:main Jul 13, 2023
@pitrou pitrou removed the awaiting committer review Awaiting committer review label Jul 13, 2023
@raulcd
Copy link
Member

raulcd commented Jul 13, 2023

Thanks, yes, I will cherry-pick

raulcd pushed a commit that referenced this pull request Jul 13, 2023
### Rationale for this change

Files in modules which do not depend on the acero module should not reference files inside the acero module.

### What changes are included in this PR?

There were no changes to the body of any functions.  I simply moved functions around so that the acero include was no longer needed.  There were some conflicts that arose between the class `bit_util` and the namespace `bit_util` and so I got rid of the class in favor of the namespace as that is more similar to how we handle `bit_util` elsewhere.

### Are these changes tested?

Sort of.  I would like to add an AVX2 CI system as well.  I'm not confident any of the CI builds are building with AVX2 enabled.  Also, even if we have an AVX2 CI system it would not have caught this issue since the code was only needed definitions from the acero header and was not relying on any actual compiled symbols.  However, I think setting up tests to catch this sort of invalid include are beyond the scope of this PR.

### Are there any user-facing changes?

No.
* Closes: #36641

Lead-authored-by: Weston Pace <[email protected]>
Co-authored-by: Antoine Pitrou <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>
chelseajonesr pushed a commit to chelseajonesr/arrow that referenced this pull request Jul 20, 2023
…pache#36650)

### Rationale for this change

Files in modules which do not depend on the acero module should not reference files inside the acero module.

### What changes are included in this PR?

There were no changes to the body of any functions.  I simply moved functions around so that the acero include was no longer needed.  There were some conflicts that arose between the class `bit_util` and the namespace `bit_util` and so I got rid of the class in favor of the namespace as that is more similar to how we handle `bit_util` elsewhere.

### Are these changes tested?

Sort of.  I would like to add an AVX2 CI system as well.  I'm not confident any of the CI builds are building with AVX2 enabled.  Also, even if we have an AVX2 CI system it would not have caught this issue since the code was only needed definitions from the acero header and was not relying on any actual compiled symbols.  However, I think setting up tests to catch this sort of invalid include are beyond the scope of this PR.

### Are there any user-facing changes?

No.
* Closes: apache#36641

Lead-authored-by: Weston Pace <[email protected]>
Co-authored-by: Antoine Pitrou <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>
@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit fbf8a97.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about possible false positives for unstable benchmarks that are known to sometimes produce them.

R-JunmingChen pushed a commit to R-JunmingChen/arrow that referenced this pull request Aug 20, 2023
…pache#36650)

### Rationale for this change

Files in modules which do not depend on the acero module should not reference files inside the acero module.

### What changes are included in this PR?

There were no changes to the body of any functions.  I simply moved functions around so that the acero include was no longer needed.  There were some conflicts that arose between the class `bit_util` and the namespace `bit_util` and so I got rid of the class in favor of the namespace as that is more similar to how we handle `bit_util` elsewhere.

### Are these changes tested?

Sort of.  I would like to add an AVX2 CI system as well.  I'm not confident any of the CI builds are building with AVX2 enabled.  Also, even if we have an AVX2 CI system it would not have caught this issue since the code was only needed definitions from the acero header and was not relying on any actual compiled symbols.  However, I think setting up tests to catch this sort of invalid include are beyond the scope of this PR.

### Are there any user-facing changes?

No.
* Closes: apache#36641

Lead-authored-by: Weston Pace <[email protected]>
Co-authored-by: Antoine Pitrou <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[C++] util_avx2.cc has been moved to compute but still #include acero headers
3 participants