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

Build C++ wheel #1529

Merged
merged 18 commits into from
May 3, 2024
Merged

Build C++ wheel #1529

merged 18 commits into from
May 3, 2024

Conversation

vyasr
Copy link
Contributor

@vyasr vyasr commented Apr 11, 2024

Description

This PR changes wheel building in RMM to create a separate C++ wheel that is then found from the Python wheel. The C++ wheel is now a hard dependency of the Python wheel. This allows Python packaging to more closely mirror the structure of our conda packaging, and the way we would normally wish to package these in any other manager. It also allows us to reduce package sizes by allowing better sharing of artifacts between different Python packages that rely on the same C++ components from other packages.

Contributes to rapidsai/build-planning#33

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@vyasr vyasr added non-breaking Non-breaking change improvement Improvement / enhancement to an existing function labels Apr 11, 2024
@vyasr vyasr self-assigned this Apr 11, 2024
@github-actions github-actions bot added CMake Python Related to RMM Python API ci labels Apr 11, 2024
@vyasr vyasr mentioned this pull request Apr 11, 2024
3 tasks
@vyasr vyasr added feature request New feature or request and removed improvement Improvement / enhancement to an existing function labels Apr 11, 2024
@vyasr vyasr marked this pull request as ready for review April 29, 2024 23:58
@vyasr vyasr requested review from a team as code owners April 29, 2024 23:58
@vyasr
Copy link
Contributor Author

vyasr commented Apr 29, 2024

The pip devcontainer CI jobs will not pass until rapidsai/devcontainers#281 is merged I think, but everything else should (without this PR, once the devcontainers PR is merged I think both devcontainer jobs will start failing without this PR). Once this PR has all its approvals I'll merge that one and then rerun tests here.

ci/test_wheel.sh Outdated Show resolved Hide resolved
dependencies.yaml Outdated Show resolved Hide resolved
python/librmm/pyproject.toml Outdated Show resolved Hide resolved
Copy link
Contributor

@wence- wence- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing blocking, but maybe we can reduce CI time.

.github/workflows/pr.yaml Show resolved Hide resolved
python/librmm/CMakeLists.txt Show resolved Hide resolved
ci/build_wheel_cpp.sh Show resolved Hide resolved
@vyasr vyasr requested a review from bdice May 3, 2024 17:52
@vyasr
Copy link
Contributor Author

vyasr commented May 3, 2024

/merge

@rapids-bot rapids-bot bot merged commit beab71a into rapidsai:branch-24.06 May 3, 2024
57 of 58 checks passed
@vyasr vyasr deleted the feat/cpp_wheel branch May 3, 2024 20:17
@vyasr vyasr mentioned this pull request May 3, 2024
3 tasks
rapids-bot bot pushed a commit that referenced this pull request May 3, 2024
#1529 added new C++ wheels, but I forgot to update build.yaml there.

Depends on rapidsai/shared-workflows#209.

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

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Ray Douglass (https://github.com/raydouglass)

URL: #1554
rapids-bot bot pushed a commit that referenced this pull request May 6, 2024
Contributes to rapidsai/build-planning#30.

Proposes adding the RAPIDS `verify-copyright` pre-commit hook, which automatically updates copyright dates for modified files.

This also fixes one date in a file from #1529.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #1553
@jameslamb jameslamb mentioned this pull request May 6, 2024
3 tasks
rapids-bot bot pushed a commit that referenced this pull request May 24, 2024
This PR uses `rapids-build-backend` to simplify wheel builds and reduce the complexity of various CI/build scripts.

See also:
- https://github.com/rapidsai/rapids-build-backend
- rapidsai/build-planning#31
- rapidsai/cudf#15245
- #1529

Authors:
  - Bradley Dice (https://github.com/bdice)
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)
  - Vyas Ramasubramani (https://github.com/vyasr)

URL: #1502
rapids-bot bot pushed a commit to rapidsai/kvikio that referenced this pull request Jun 19, 2024
closes #250 

I'm not sure if it makes sense to split the wheel into one dedicated wheel for the shared library, and another for the python wrapper. That's what @vyasr has been doing on other libraries, like rapidsai/rmm#1529. If it makes sense here, I'll add that.

Authors:
  - Mike Sarahan (https://github.com/msarahan)
  - Philip Hyunsu Cho (https://github.com/hcho3)
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Ray Douglass (https://github.com/raydouglass)
  - Mads R. B. Kristensen (https://github.com/madsbk)
  - James Lamb (https://github.com/jameslamb)
  - Bradley Dice (https://github.com/bdice)
  - Vyas Ramasubramani (https://github.com/vyasr)

URL: #369
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci CMake feature request New feature or request non-breaking Non-breaking change Python Related to RMM Python API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants