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

nest cuml one level deeper in python #5944

Merged
merged 20 commits into from
Jul 16, 2024

Conversation

msarahan
Copy link
Contributor

This is a step towards adding support for dynamic linking with wheels (splitting the shared libraries out into their own wheels). That's being tracked in rapidsai/build-planning#33

This PR performs a necessary step of moving the cuml folder one level deeper, such that the python folder becomes a parent of multiple full-fledged projects, instead of having the python folder be the top level of one python project. This is split into this PR because this change affects so many files. It's easier to review the actual changes of supporting the split wheel when you don't have to also consider these moves.

This change also affects devcontainers, and there will need to be a change similar to rapidsai/devcontainers#283 for cuml.

@msarahan msarahan requested review from a team as code owners June 19, 2024 02:43
@msarahan msarahan requested a review from bdice June 19, 2024 02:43
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions github-actions bot added Cython / Python Cython or Python issue CMake labels Jun 19, 2024
@msarahan msarahan added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change and removed Cython / Python Cython or Python issue CMake labels Jun 19, 2024
@msarahan msarahan requested a review from a team as a code owner June 19, 2024 02:46
@github-actions github-actions bot added Cython / Python Cython or Python issue CMake ci labels Jun 19, 2024
@msarahan
Copy link
Contributor Author

@bdice this has the same failures as the totally-unrelated #5943, so I think it might be ready for review. Let me know if I need to do anything to address the failures.

@msarahan
Copy link
Contributor Author

msarahan commented Jul 2, 2024

closing/reopening to re-run CI

@msarahan msarahan closed this Jul 2, 2024
@msarahan msarahan reopened this Jul 2, 2024
Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

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

I did this:

git grep 'python/'

And see a few other places that should be changed

python/setup.py @rapidsai/cuml-cmake-codeowners

# pyproject.toml versions
sed_runner "s/rmm==.*\",/rmm==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0\",/g" python/pyproject.toml
sed_runner "s/cudf==.*\",/cudf==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0\",/g" python/pyproject.toml
sed_runner "s/pylibraft==.*\",/pylibraft==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0\",/g" python/pyproject.toml
sed_runner "s/raft-dask==.*\",/raft-dask==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0\",/g" python/pyproject.toml

sed_runner "s|/branch-[^/]*/|/branch-${NEXT_SHORT_TAG}/|g" python/README.md

There are some convenience [Mixins](../../python/common/mixins.py), that the estimator can inherit, can be used for indicating the preferred order (column or row major) as well as for sparse input capability.

If other tags are needed, they are static (i.e. don't change depending on the instantiated estimator), and more than one estimator will use them, then implement a new [Mixin](../../python/common/mixins.py), if the tag will be used by a single class then implement the `_more_static_tags` method:

(not sure about this one):

'cuml/blob/{revision}/python/'

And then technically this one, although it looks like it's a leftover from an older state of these builds and actually isn't used for anything:

cuml/build.sh

Line 65 in 751ba82

PYTHON_DEPS_CLONE=${REPODIR}/python/external_repositories

@KyleFromNVIDIA
Copy link
Contributor

Fixed the remaining usages of python/.

Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

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

Thanks, left 2 more small suggestions but otherwise this looks good to me. I don't need to re-review.

wiki/python/ESTIMATOR_GUIDE.md Outdated Show resolved Hide resolved
wiki/python/ESTIMATOR_GUIDE.md Outdated Show resolved Hide resolved
@trxcllnt
Copy link
Collaborator

trxcllnt commented Jul 3, 2024

We might also need to update these lines to use the containers with the new UCX version:

-      "BASE": "rapidsai/devcontainers:24.08-cpp-cuda11.8-ucx1.15.0-openmpi-ubuntu22.04"
+      "BASE": "rapidsai/devcontainers:24.08-cpp-cuda11.8-ucx1.17.0-openmpi-ubuntu22.04"
-      "BASE": "rapidsai/devcontainers:24.08-cpp-cuda12.2-ucx1.15.0-openmpi-ubuntu22.04"
+      "BASE": "rapidsai/devcontainers:24.08-cpp-cuda12.2-ucx1.17.0-openmpi-ubuntu22.04"

Copy link
Member

@dantegd dantegd left a comment

Choose a reason for hiding this comment

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

python and cmake changes lgtm

@KyleFromNVIDIA
Copy link
Contributor

/merge

@rapids-bot rapids-bot bot merged commit d0dcc9b into rapidsai:branch-24.08 Jul 16, 2024
60 of 62 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci CMake Cython / Python Cython or Python issue improvement Improvement / enhancement to an existing function non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants