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

remove 'wget' conda dependency, re-organize dependencies.yaml #4805

Merged
merged 12 commits into from
Dec 20, 2024

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Dec 5, 2024

In #4804, I've started working on adding libcugraph wheels.

This includes a few fixes for things I noticed while doing that:

  • removes wget from test_notebook environment
    • our CI images already have this system-installed, and removing it helps to remove it from the environment solve for the unified RAPIDS devcontainers
  • dependencies.yaml re-organization:
    • breaks librmm dependency out into a depends_on_librmm to reduce duplication, and for consistency with other RAPIDS dependencies
    • uses depends_on_pylibwholegraph group everywhere instead of repeating pylibwholegraph in multiple places
    • removes unused YAML anchors
    • alphabetizes lists

Notes for Reviewers

I'd originally wanted to also add a librmm wheel dependency for wheel builds here, but looks like doing that resulted in a lot more sccache misses, I guess because of building with build isolation. That change will happen in #4804 .

@jameslamb jameslamb added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Dec 5, 2024
Copy link

copy-pr-bot bot commented Dec 9, 2024

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@jameslamb
Copy link
Member Author

/ok to test

@jameslamb
Copy link
Member Author

/ok to test

@jameslamb
Copy link
Member Author

Tests here are failing like this:

AttributeError: module 'cudf._lib' has no attribute 'transform'

(build link)

Documented that in #4823 ... there are some changes in cudf that cugraph needs to adapt to.

@jameslamb
Copy link
Member Author

/ok to test

@jameslamb
Copy link
Member Author

jameslamb commented Dec 12, 2024

Oh great thanks for merging branch-25.02 into this @nv-rliu !

@jameslamb
Copy link
Member Author

/ok to test

@github-actions github-actions bot removed the python label Dec 18, 2024
@jameslamb jameslamb changed the title WIP: depend on librmm for wheel builds, clean up dependencies.yaml WIP: remove 'wget' conda dependency, re-organize dependencies.yaml Dec 18, 2024
@jameslamb
Copy link
Member Author

/ok to test

@jameslamb jameslamb marked this pull request as ready for review December 18, 2024 17:43
@jameslamb jameslamb requested a review from a team as a code owner December 18, 2024 17:43
@jameslamb jameslamb requested a review from bdice December 18, 2024 17:43
@jameslamb jameslamb changed the title WIP: remove 'wget' conda dependency, re-organize dependencies.yaml remove 'wget' conda dependency, re-organize dependencies.yaml Dec 18, 2024
@@ -565,6 +562,31 @@ dependencies:
- pylibwholegraph-cu11==25.2.*,>=0.0.0a0
- {matrix: null, packages: [*pylibwholegraph_unsuffixed]}

depends_on_librmm:
Copy link
Contributor

Choose a reason for hiding this comment

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

We probably want the same for other packages too? libcudf, libraft? It’s okay to defer on this in the name of gradual improvement.

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure, we can go further in this PR. I just pushed 64d0fad moving more of the RAPIDS dependencies into these depends_on_* lists.

Some notes on other changes in that commit:

  • proposes removing explicit libraft-headers listing
    • libraft is explicitly listed, and directly pulls that in (recipe link)
    • normally I'd advise against relying on transitive relationships like this implicitly, but in this case I think it's ok... the libraft conda package's purpose is to pull in the compiled bits of RAFT and the headers needed to link against them
    • if you disagree I'll happily add a depends_on_libraft_headers, don't feel THAT strongly about it either way
  • removes pyproject and requirements entries for libcudf, libraft, and librmm

Requesting a re-review, that's too much to merge on a stale approval.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, it is okay to use libraft to get its headers transitively.

The other bits are fine, too. I’ll re-review, just make sure update-version.sh and conda recipes reflect things correctly.

Copy link
Member Author

Choose a reason for hiding this comment

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

Alright great, thanks.

update version.sh and conda recipes

Just did that in 34697a6.

  • removed libraft-headers from conda recipes and update-version.sh
  • put a floor on thriftpy2 in dependencies.yaml to match what conda recipes were using

@jameslamb jameslamb requested a review from bdice December 20, 2024 15:47
Copy link
Contributor

@bdice bdice left a comment

Choose a reason for hiding this comment

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

I saw one error in cugraph-service-client (no suffix needed). Also check update-version.sh and meta.yaml to make sure everything is in sync.

common:
- output_types: conda
packages:
- &cugraph_service_client_unsuffixed cugraph-service-client==25.2.*,>=0.0.0a0
Copy link
Contributor

Choose a reason for hiding this comment

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

This package does not use CUDA or have CUDA dependencies, so it should never be suffixed. This can be simplified.

References:

https://anaconda.org/search?q=cugraph-service-client

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah good catch, thanks. Guess the suffixes that were in the file before were unnecessary. I pushed 7fc9473 removing the suffix-related stuff for that.

@jameslamb jameslamb requested a review from a team as a code owner December 20, 2024 18:50
@jameslamb jameslamb requested a review from AyodeAwe December 20, 2024 18:50
@jameslamb jameslamb removed the request for review from AyodeAwe December 20, 2024 21:46
@jameslamb
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit 3fdaba6 into rapidsai:branch-25.02 Dec 20, 2024
73 checks passed
@jameslamb jameslamb deleted the dependencies-cleanup branch December 20, 2024 22:31
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants