Skip to content

fix(rapids-artifact-name): handling for "true" pure artifacts vs. cuda-dependent pure artifacts#254

Merged
rapids-bot[bot] merged 1 commit into
rapidsai:mainfrom
gforsyth:artifact-name-followup
Apr 29, 2026
Merged

fix(rapids-artifact-name): handling for "true" pure artifacts vs. cuda-dependent pure artifacts#254
rapids-bot[bot] merged 1 commit into
rapidsai:mainfrom
gforsyth:artifact-name-followup

Conversation

@gforsyth
Copy link
Copy Markdown
Contributor

xref rapidai/build-planning#270

Working on rapidsai/ucxx#642 which raised the issue of our different types of "pure" artifacts -- those that are truly Python-only and so have no cuda or architecture dependencies, and those that are agnostic to Python version, but still have cuda dependencies.

Adding handling here, so that passing --pure without --cuda will elide the {arch} part of the artifact name. If we use --pure and --cuda, then {arch} will be included.

If --pure isn't used, {arch} is always included.

@gforsyth gforsyth requested a review from a team as a code owner April 29, 2026 16:32
@gforsyth gforsyth added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Apr 29, 2026
@gforsyth gforsyth requested review from KyleFromNVIDIA and removed request for a team April 29, 2026 16:32
@gforsyth
Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot rapids-bot Bot merged commit 2a51afa into rapidsai:main Apr 29, 2026
5 checks passed
gforsyth added a commit to gforsyth/gha-tools that referenced this pull request Apr 29, 2026
… vs. cuda-dependent pure artifacts (rapidsai#254)"

This reverts commit 2a51afa.
rapids-bot Bot pushed a commit that referenced this pull request May 6, 2026
…e `$(arch)` (#255)

- **refactor(rapids-artifact-name): add explicit `--arch` flag to override `$(arch)`**
- **Revert "fix(rapids-artifact-name): handling for "true" pure artifacts vs. cuda-dependent pure artifacts (#254)"**

Sorry for the churn on this. 
This PR reverts the change in #254 for a few reasons:

1. I was wrong about the categories of "purity" for artifacts (or not right enough) -- `distributed_ucxx` has a dependency on cuda version (or is built for both cuda 12 and cuda 13, at least) but is CPU arch independent.
2. My solution for the categories of "purity" made the inclusion of the CPU architecture in the artifact name a side-effect, which is bad.

So, instead, after reverting that change, I'm adding an additional (and
optional) `--arch <value>` flag, that, if used, overrides the value of
`$(arch)` with the user-provided string.

This could be useful for downloading artifacts with a different architecture
than the system a developer is currently using, and can also be used to set an
arbitrary value for `arch` for the cases like `distributed_ucxx` where we build
on `x86_64` but use the artifacts built there on both `x64_64` and `aarch64`
systems.  (This is true for anythign that doesn't have compiled code but does have CUDA-version-specific dependencies, like `nx-cugraph` and `cuopt-server`)

Authors:
  - Gil Forsyth (https://github.com/gforsyth)

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

URL: #255
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.

2 participants