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

Update conda recipes for Enhanced Compatibility effort #893

Merged
merged 8 commits into from
Nov 4, 2021

Conversation

ajschmidt8
Copy link
Member

@ajschmidt8 ajschmidt8 commented Oct 15, 2021

This PR updates the conda recipe build strings and cudatoolkit version specifications as part of the Enhanced Compatibility efforts.

rmm Changes

The build strings in the conda recipe have been updated to only include the major CUDA version (i.e. librmm-21.12.00a-cuda11_gc781527_12.tar.bz2) and the cudatoolkit version specifications will now be formatted like cudatoolkit >=x,<y.0a0 (i.e. cudatoolkit >=11,<12.0a0).

Moving forward, we'll build the packages with a single CUDA version (i.e. 11.5) and test them in environments with different CUDA versions (i.e. 11.0, 11.2, 11.4, etc.).

librmm Changes

A conda_build_config.yaml file has been added to the librmm recipe folder so that two variants of librmm are built: one with and one without cudaMallocAsync support. A new environment variable, BUILD_FLAGS, is passed through to conda/recipes/librmm/build.sh and is set according to the cudaMallocAsync variant value in the recipe. Finally, a build string modifier of either no_cma or has_cma is appended to the build string which is used to determine which package should be installed in ci/gpu/build.sh.

@ajschmidt8 ajschmidt8 added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Oct 15, 2021
@github-actions github-actions bot added the conda label Oct 15, 2021
@ajschmidt8
Copy link
Member Author

rerun tests

1 similar comment
@ajschmidt8
Copy link
Member Author

rerun tests

@github-actions github-actions bot added the gpuCI label Nov 1, 2021
@ajschmidt8
Copy link
Member Author

ajschmidt8 commented Nov 1, 2021

Depends on #901. Keeping as a draft until that is complete. We'll probably see lots of failures until that PR is merged.

`conda` seems to only build multiple variants if the variant key is explicity used in the recipe. (i.e. not via Jinja)
@ajschmidt8 ajschmidt8 marked this pull request as ready for review November 3, 2021 14:13
@ajschmidt8 ajschmidt8 requested a review from a team as a code owner November 3, 2021 14:13
@ajschmidt8
Copy link
Member Author

rerun tests

@ajschmidt8
Copy link
Member Author

After reviewing the CI logs, it seems that these changes are working correctly.

@ajschmidt8
Copy link
Member Author

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 2473156 into rapidsai:branch-21.12 Nov 4, 2021
@ajschmidt8 ajschmidt8 deleted the update-recipe branch November 4, 2021 13:10
@@ -33,7 +34,7 @@ requirements:
- python
- numba >=0.49
- numpy
- {{ pin_compatible('cudatoolkit', max_pin='x.x') }}
- {{ pin_compatible('cudatoolkit', max_pin='x', min_pin='x') }}
Copy link
Member

Choose a reason for hiding this comment

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

In conda-forge we decided that the min_pin should be x.x. Please see comment ( conda-forge/nvcc-feedstock#71 (comment) ) and subsequent discussion for context.

Copy link
Member Author

Choose a reason for hiding this comment

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

Hmm. I'm confused how this would work? If we set min_pin to x.x, then wouldn't our pins effectively become cudatoolkit>=11.5,<12? How would this work for users that use cudatoolkit=11.{0,2,4}?

This is all assuming that we're only going to build packages with CUDA 11.5, which is what I thought the plan was, no?

ajschmidt8 added a commit to ajschmidt8/rmm that referenced this pull request Nov 5, 2021
After merging rapidsai#893, there are now 2 `librmm` `conda` packages being published instead of 1. Therefore the upload script needs to be updated accordingly.

Skipping CI since the upload script isn't run on PRs anyway.
rapids-bot bot pushed a commit that referenced this pull request Nov 5, 2021
After merging #893, there are now 2 `librmm` `conda` packages being published instead of 1. Therefore the upload script needs to be updated accordingly.

Skipping CI since the upload script isn't run on PRs anyway.

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - Jordan Jacobelli (https://github.com/Ethyling)

URL: #909
rapids-bot bot pushed a commit that referenced this pull request Nov 9, 2021
This PR tweaks the changes from #893 and #909 so that `rmm` produces two packages (`has_cma` and `no_cma`) instead of `librmm`.

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - Jordan Jacobelli (https://github.com/Ethyling)

URL: #910
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conda gpuCI 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.

None yet

3 participants