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

Use rapids-build-backend. #1502

Merged
merged 81 commits into from
May 24, 2024
Merged

Conversation

bdice
Copy link
Contributor

@bdice bdice commented Mar 13, 2024

Description

This PR uses rapids-build-backend to simplify wheel builds and reduce the complexity of various CI/build scripts.

See also:

Checklist

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

@github-actions github-actions bot added Python Related to RMM Python API conda ci labels Mar 13, 2024
ci/build_wheel.sh Outdated Show resolved Hide resolved
@bdice bdice added non-breaking Non-breaking change 5 - DO NOT MERGE Hold off on merging; see PR for details improvement Improvement / enhancement to an existing function labels Mar 15, 2024
@bdice bdice changed the base branch from branch-24.04 to branch-24.06 March 18, 2024 23:35
@jameslamb
Copy link
Member

jameslamb commented May 16, 2024

We're not targeting the 24.06 release for this. I'll keep the DO NOT MERGE label on and retarget this at branch-24.08 once that exists.

@github-actions github-actions bot removed the CMake label May 16, 2024
@jameslamb jameslamb changed the base branch from branch-24.06 to branch-24.08 May 21, 2024 14:43
@jameslamb
Copy link
Member

Since I retargeted this at branch-24.08, the two devcontainer builds are failing like this:

  About to run devcontainer build --workspace-folder /home/runner/_work/rmm/rmm --config /home/runner/_work/rmm/rmm/.devcontainer/cuda12.2-conda/devcontainer.json --image-name undefined:latest
  [2024-05-21T14:56:50.141Z] @devcontainers/cli 0.60.0. Node.js v16.20.2. linux 6.5.0-1020-aws x64.
  
  Error: Dev container build failed: Command failed: docker inspect --type image rapidsai/devcontainers:24.08-cpp-mambaforge-ubuntu22.04 (exit code: undefined)
  An error occurred building the container.
  Error: Command failed: docker inspect --type image rapidsai/devcontainers:24.08-cpp-mambaforge-ubuntu22.04

(build link)

That --image-name undefined:latest looks suspicious, but I'd have to dig a bit to find where that's coming from. Saw something similar this morning on a cuml PR targeting branch-24.08: rapidsai/cuml#5901

@vyasr
Copy link
Contributor

vyasr commented May 21, 2024

The devcontainers probably hadn't been built yet, those builds were manually kicked off just 4 hours ago. I've kicked off a rerun to test.

@jameslamb
Copy link
Member

Yep that worked (build link), thanks @vyasr

@jameslamb jameslamb removed the 5 - DO NOT MERGE Hold off on merging; see PR for details label May 21, 2024
Copy link
Contributor

@vyasr vyasr left a comment

Choose a reason for hiding this comment

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

Couple of small things, but approving since I don't need to look at this again unless something comes up.

ci/build_python.sh Outdated Show resolved Hide resolved
dependencies.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@vyasr vyasr left a comment

Choose a reason for hiding this comment

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

Just noticed this in the raft PR and it reminded me: do we also need to add a disable-cuda in the build.sh invocations?

@KyleFromNVIDIA
Copy link
Contributor

do we also need to add a disable-cuda in the build.sh invocations?

Yes, but it needs to be rapidsai.disable-cuda once rapidsai/rapids-build-backend#37 is merged.

@jameslamb
Copy link
Member

Alright I've updated this with the following changes:

  • moved rapids-build-backend floor to 0.3.0
  • passed --config-settings rapidsai.disable-cude=true in build.sh
  • consolidated rapids-generate-version calls based on Use rapids-build-backend. #1502 (comment)
  • changed librmm/_version.py to also use the __package__ pattern (instead of string literal "librmm")
  • added __all__ lists to _version.py

That's enough changes that I think this should get another review if you have time @vyasr .

@jameslamb jameslamb requested a review from vyasr May 23, 2024 20:02
Copy link
Contributor

@vyasr vyasr left a comment

Choose a reason for hiding this comment

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

Couple more small notes, but approving assuming that they're addressed.

ci/build_cpp.sh Outdated Show resolved Hide resolved
dependencies.yaml Outdated Show resolved Hide resolved
SKBUILD_CMAKE_ARGS="${EXTRA_CMAKE_ARGS}" python -m pip install \
--no-build-isolation \
--no-deps \
--config-settings rapidsai.disable-cuda=true \
Copy link
Member

Choose a reason for hiding this comment

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

I just pushed one more change... remembered that pip accepts --config-settings (with an s), not --config-setting.

https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-C

Having --config-setting (no s) didn't break anything in CI or even display any warnings, so maybe newer versions of pip have code to capture both. But either way, I think --config-settings (with the s) is the right thing for pip install, given that's what is in that tool's docs.

I'll apply that change to the cudf PR. cc @KyleFromNVIDIA that should be applied to the other rapids-build-backend PRs as well.

@jameslamb
Copy link
Member

I just pushed one more tiny change (#1502 (comment)).

I think all the review comments have been addressed, so if CI passes, I'll merge this.

@jameslamb
Copy link
Member

/merge

@rapids-bot rapids-bot bot merged commit 15c0466 into rapidsai:branch-24.08 May 24, 2024
57 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci conda improvement Improvement / enhancement to an existing function non-breaking Non-breaking change Python Related to RMM Python API
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

5 participants