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

refactor CUDA versions in dependencies.yaml #517

Merged
merged 3 commits into from
Jan 11, 2024

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Jan 10, 2024

Description

Contributes to rapidsai/build-planning#7.

Proposes splitting the cuda-version dependency in dependencies.yaml out to its own thing, separate from the bits of the CUDA Toolkit this project needs.

Benefits of this change

  • prevents accidental inclusion of multiple cuda-version version in environments
  • reduces update effort (via enabling more use of globs like "12.*")
  • improves the chance that errors like "conda recipe is missing a dependency" are caught in CI

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.
  • The cmake-format.json is up to date with these changes.
  • I have added new files under rapids-cmake/
    • I have added include guards (include_guard(GLOBAL))
    • I have added the associated docs/ rst file and update the api.rst

@vyasr vyasr added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Jan 11, 2024
dependencies.yaml Outdated Show resolved Hide resolved
- output_types: conda
matrices:
- matrix:
cuda: "11.[245]"
Copy link
Contributor

Choose a reason for hiding this comment

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

@jameslamb What do you think of this syntax? This is valid glob syntax and should work since it's handled by fnmatch.fnmatch. Just wanted to point it out explicitly to you since it's different than what we've been writing elsewhere.

Copy link
Member Author

Choose a reason for hiding this comment

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

I thought this could lead to surprises if there were ever double-digit releases (11.10+), but I guess that isn't true and [] matches a single character.

On Python 3.10.12:

import fnmatch

fnmatch.fnmatch("11.12", "11.[1245]")
# False

fnmatch.fnmatch("11.12", "11.[1245][12]")
# True

fnmatch.fnmatch("11.12", "11.[245][12]")
# False

Given that, I support this and think it's a nice simplification. Thanks for the @!

- matrix:
arch: x86_64
packages:
- sysroot_linux-64==2.17
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks like we were requiring sysroot_linux-64 on ARM builds before this PR. I fixed that.

Copy link
Member Author

Choose a reason for hiding this comment

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

makes sense to me! This makes it clearer that the package name is architecture-dependent.

- cudatoolkit
- matrix:
cuda: "12.*"
packages:
- cuda-cupti-dev
Copy link
Contributor

Choose a reason for hiding this comment

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

We can explore dropping this as a follow-up PR, due to #504.

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.

Blocking merge since I made a few significant changes (improvements, hopefully).

@jameslamb
Copy link
Member Author

@bdice I support these changes... the tighter globbing, moving non-CUDA things out of the cuda:, dependency group, and the fix for sysroot_linux architecture.

✅ approved

@jameslamb jameslamb requested a review from bdice January 11, 2024 20:24
@vyasr
Copy link
Contributor

vyasr commented Jan 11, 2024

Changes look good to me.

@bdice
Copy link
Contributor

bdice commented Jan 11, 2024

/merge

@rapids-bot rapids-bot bot merged commit d18367a into rapidsai:branch-24.02 Jan 11, 2024
16 checks passed
@jameslamb jameslamb deleted the rework-dependencies branch January 11, 2024 20:27
@jameslamb jameslamb mentioned this pull request Jan 11, 2024
PointKernel pushed a commit to PointKernel/rapids-cmake that referenced this pull request Jan 23, 2024
Contributes to rapidsai/build-planning#7.

Proposes splitting the `cuda-version` dependency in `dependencies.yaml` out to its own thing, separate from the bits of the CUDA Toolkit this project needs.

### Benefits of this change

* prevents accidental inclusion of multiple `cuda-version` version in environments
* reduces update effort (via enabling more use of globs like `"12.*"`)
* improves the chance that errors like "`conda` recipe is missing a dependency" are caught in CI

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

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Jake Awe (https://github.com/AyodeAwe)
  - Bradley Dice (https://github.com/bdice)

URL: rapidsai#517
rapids-bot bot pushed a commit that referenced this pull request Feb 9, 2024
* switches to CUDA 12.2.2 for building conda packages and wheels
* adds new tests running against CUDA 12.2.2
* adds a `"12.*"` glob in `dependencies.yaml` missed in #517

### Notes for Reviewers

This is part of ongoing work to build and test packages against CUDA 12.2.2 across all of RAPIDS.

For more details see:

* rapidsai/build-planning#7
* rapidsai/shared-workflows#166

Planning a second round of PRs to revert these references back to a proper `branch-24.{nn}` release branch of `shared-workflows` once rapidsai/shared-workflows#166 is merged.

*(created with `rapids-reviser`)*

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

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

URL: #521
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants