Replace rapids-xgboost with xgboost in the CI. - #185
Conversation
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe change replaces ChangesXGBoost dependency transition
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
| - matrix: | ||
| packages: | ||
| - rapids-xgboost==26.10.*,>=0.0.0a0 | ||
| - conda-forge::xgboost>=3.3.0 |
There was a problem hiding this comment.
Must we specify conda-forge::? I'd like to remove that if it's not strictly necessary.
There was a problem hiding this comment.
The Rapids channel also has a package named xgboost: https://anaconda.org/channels/rapidsai/packages/xgboost/overview
There was a problem hiding this comment.
I removed the conda-forge:: prefix to let the CI install xgboost from the rapidsai-nightly channel. It will pick the one from conda forge once we remove the xgboost package from rapids.
Currently, the CI uses strict channel priority and fails to solve conda-forge::xgboost given the xgboost package from the rapidsai nightly, which precedes conda-forge. During this transitional period, we will need to allow the CI to continue installing xgboost from rapids.
There was a problem hiding this comment.
So are rapidsainightly::xgboost and conda-forge::xgboostexactly the same package? Why is there the rapidsai nightly package?
I'd like to avoid the case that the package that is installed in the CI changes through a "spooky action at a distance", for example because someone deletes the rapidsainightly package. I'd prefer the change to be something that is the result of taking action in the repo (e.g. merging a PR).
There was a problem hiding this comment.
The xgboost package from the rapidsai channel has RMM integration, but the conda forge package doesn't. We are deprecating the RMM integration in XGBoost and moving toward the CUDA built-in async memory pool. As a result, the xgboost package in the rapisdai channel is destined for removal.
However, the nvforest CI has strict channel ordering, and the rapids channel comes before the conda-forge channel, which can cause package resolution failures when using the prefix conda-forge::xgboost. To avoid the failure, one could:
- Just let the CI pick the package from rapidsai channel until the "spooky action at a distance". This is the currently chosen approach.
- Wait for the removal from the rapidsai channel, then the CI here will fail, and we merge this PR to fix the CI.
- Re-order the channels or relax the strict channel ordering. I think we can agree this is not preferable.
There was a problem hiding this comment.
The reason I don't love the spooky action at a distance approach is that it means that suddenly CI might start failing when the switch happens. A PR that touches nothing related to xgboost might pass for commit N-1 but fail for commit N. It would be great to avoid this and explicitly switch over in a PR where we can see that the switch doesn't break anything or can address the breakage.
However, thinking about the options I can't think of a way to do achieve this goal.
rapids-xgboost with xgboost in the CI.
The CI will continue to install XGBoost from the rapidsai channel until the package is removed. See rapidsai/nvforest#185 (comment) Authors: - Jiaming Yuan (https://github.com/trivialfis) Approvers: - Philip Hyunsu Cho (https://github.com/chyunsu3) - Simon Adorf (https://github.com/csadorf) - Bradley Dice (https://github.com/bdice) URL: #8440
|
/merge |
The CI will continue to install XGBoost from the rapidsai channel until the package is removed. See rapidsai/nvforest#185 (comment) Authors: - Jiaming Yuan (https://github.com/trivialfis) Approvers: - Philip Hyunsu Cho (https://github.com/chyunsu3) - Simon Adorf (https://github.com/csadorf) - Bradley Dice (https://github.com/bdice) URL: NVIDIA#8440
The CI will continue to install XGBoost from the rapidsai channel until the package is removed. See #185 (comment)