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

Add missing nvcomp targets #496

Merged
merged 4 commits into from
Dec 4, 2023

Conversation

vyasr
Copy link
Contributor

@vyasr vyasr commented Dec 4, 2023

Description

The list of targets marked as global when finding nvcomp is incomplete and should include the gdeflate and bitcomp libs as well.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.
  • The cmake-format.json is up to date with these changes.
  • I have added new files under rapids-cmake/
    • I have added include guards (include_guard(GLOBAL))
    • I have added the associated docs/ rst file and update the api.rst

@vyasr vyasr added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Dec 4, 2023
@vyasr vyasr self-assigned this Dec 4, 2023
@vyasr vyasr requested a review from a team as a code owner December 4, 2023 17:51
@vyasr vyasr requested a review from robertmaynard December 4, 2023 18:09
@vyasr
Copy link
Contributor Author

vyasr commented Dec 4, 2023

/merge

@rapids-bot rapids-bot bot merged commit 0936f2a into rapidsai:branch-24.02 Dec 4, 2023
16 checks passed
@vyasr vyasr deleted the feat/nvcomp_global_targets branch December 4, 2023 19:20
@vyasr vyasr mentioned this pull request Dec 4, 2023
3 tasks
raydouglass pushed a commit to rapidsai/cudf that referenced this pull request Dec 11, 2023
This PR makes a number of changes to streamline the CMake code in the Python build. There are additional potential improvements that may be possible but I'd prefer to wait on until after the scikit-build-core migration because I suspect that there may be subtle differences (particularly around the install rules). The major improvements here are:
- nvcomp installation no longer needs as much special casing thanks to rapidsai/rapids-cmake#496 adding missing targets
- get_arrow.cmake now determines how to find arrow by checking for 1) the presence of Python, 2) the presence of pyarrow, and 3) the presence of libarrow.so.* inside the pyarrow directory. This approach works for both pip and conda packages as well as pure C++ builds and removes the need for manual determination of where to look by the builder. The assumption baked in is that the developer has installed the desired pyarrow package when building.
- The `CUDF_BUILD_WHEELS` variable is now removed. All Python builds that don't find the C++ library all go down the same path now. This is particularly relevant for doing something like a local `pip install`. This is the desired behavior because if you're building the Python package in that kind of environment you always want the same behaviors. The different case is when the Python build finds the C++ build (e.g. in a conda environment where libcudf is a separate package).
- The logic for linking to pyarrow headers is now centralized in a single function since it needs to be used by every Cython target.

Authors:
   - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
   - https://github.com/brandon-b-miller
   - Robert Maynard (https://github.com/robertmaynard)
   - Ray Douglass (https://github.com/raydouglass)
karthikeyann pushed a commit to karthikeyann/cudf that referenced this pull request Dec 12, 2023
This PR makes a number of changes to streamline the CMake code in the Python build. There are additional potential improvements that may be possible but I'd prefer to wait on until after the scikit-build-core migration because I suspect that there may be subtle differences (particularly around the install rules). The major improvements here are:
- nvcomp installation no longer needs as much special casing thanks to rapidsai/rapids-cmake#496 adding missing targets
- get_arrow.cmake now determines how to find arrow by checking for 1) the presence of Python, 2) the presence of pyarrow, and 3) the presence of libarrow.so.* inside the pyarrow directory. This approach works for both pip and conda packages as well as pure C++ builds and removes the need for manual determination of where to look by the builder. The assumption baked in is that the developer has installed the desired pyarrow package when building.
- The `CUDF_BUILD_WHEELS` variable is now removed. All Python builds that don't find the C++ library all go down the same path now. This is particularly relevant for doing something like a local `pip install`. This is the desired behavior because if you're building the Python package in that kind of environment you always want the same behaviors. The different case is when the Python build finds the C++ build (e.g. in a conda environment where libcudf is a separate package).
- The logic for linking to pyarrow headers is now centralized in a single function since it needs to be used by every Cython target.

Authors:
   - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
   - https://github.com/brandon-b-miller
   - Robert Maynard (https://github.com/robertmaynard)
   - Ray Douglass (https://github.com/raydouglass)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants