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

cuproj: depend on librmm, not rmm #1448

Merged
merged 1 commit into from
Aug 29, 2024

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Aug 29, 2024

Description

Contributes to rapidsai/build-planning#33

cuproj does not need the rmm Python package... it only needs the RMM headers at build time. This proposes the following changes for cuproj:

  • dropping the runtime requirement on rmm in wheels and conda packages
  • switching the build requirement from rmm to librmm for wheels and conda packages
  • removing unnecessary imports in the test: environment for conda packages

For more context on these changes, see rapidsai/build-planning#92.

Notes for Reviewers

Benefits of these changes

Faster conda builds (via dropping unnecessary dependencies).

Cheaper (in terms of bandwidth and disk space) installation of wheels and conda packages (via removing an unnecessary runtime dependency).

Reduces a source of network calls (and therefore CI instability) by removing some CPM downloads of RMM.

Before:

-- CPM: Adding package [email protected] (branch-24.10)

(build link)

After (this PR):

  -- CPM: Using local package [email protected]

(build link)

Is this required for libcuspatial wheel packaging?

No, it's just a side thing I noticed while working on that. The two are totally independent.

Checklist

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

@jameslamb jameslamb added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Aug 29, 2024
@github-actions github-actions bot added conda Related to conda and conda configuration Python Related to Python code labels Aug 29, 2024
requires:
- cupy>=12.0.0
- cuspatial ={{ minor_version }}
- rmm ={{ minor_version }}
Copy link
Member Author

Choose a reason for hiding this comment

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

cuproj's tests do use cuspatial, but those tests aren't run during conda builds. The only test being run here is import cuproj, which shouldn't need any additional test-specific dependencies (if it did, that might indicate a missing run: dependency!).

@jameslamb jameslamb changed the title WIP: [NOT READY FOR REVIEW] cuproj: depend on librmm, not rmm cuproj: depend on librmm, not rmm Aug 29, 2024
@jameslamb jameslamb marked this pull request as ready for review August 29, 2024 17:50
@jameslamb jameslamb requested a review from a team as a code owner August 29, 2024 17:50
@jameslamb jameslamb added the 3 - Ready for Review Ready for review by team label Aug 29, 2024
@jameslamb jameslamb removed the 3 - Ready for Review Ready for review by team label Aug 29, 2024
@jameslamb
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit 9c616de into rapidsai:branch-24.10 Aug 29, 2024
61 of 64 checks passed
@jameslamb jameslamb deleted the cuproj-rmm-dep branch August 29, 2024 19:19
rapids-bot bot pushed a commit that referenced this pull request Sep 9, 2024
Follow-up to #1448. This proposes some `dependencies.yaml` changes that I noticed while working on adding `libcuspatial` wheels in #1450.

I've left inline comments with more details, but in short:

* not including any cuspatial projects in the conda environment files checked into this repo (which are intended to be used to set up a development environment)
* removing an unnecessary conda-only list of dependencies from pyproject.toml-specific config for `cuproj`
* introduction of `depends_on_libcuspatial` and `depends_on_cuproj` lists in `dependencies.yaml`, to reduce duplication

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

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

URL: #1451
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conda Related to conda and conda configuration improvement Improvement / enhancement to an existing function non-breaking Non-breaking change Python Related to Python code
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

2 participants