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
[Breaking] Upgrade cuDF and RMM to 0.18 nightlies; require RMM 0.18+ for RMM plugin #6510
Conversation
Do things like this preserve backwards compatibility? i.e. anyone using xgboost with RMM has to use nightly (unstable) rapids 0.18? Or any rapids will work? |
@pseudotensor As it stands, no, this PR breaks backward compatibility. |
Seems not good idea to track nightly breaking changes. xgboost should be more stable, have deprecation stages, etc. Ya, seems easy to import rmm and check version. Would be nice if rmm had standard version . But one can do:
But shouldn't do this globally at import level, like @trivialfis fixed for other imports of cudf etc. Instead can use pkg_info etc. or whatever method was used there in xgboost that followed tensorflow. |
@pseudotensor @harrism For now, we will make this particular breaking change. I will file a feature request for detecting the RMM version. |
Even if experimental in xgboost it doesn't follow xgboost has to track unstable nightly versions of the experimental feature. That's your choice. |
Some considerations:
So in this particular occasion, I vote for the breaking change. |
@pseudotensor @harrism I created rapidsai/rmm#663 to request the version string in C++. The requested feature will help us (XGBoost devs) to handle breaking changes more gracefully in the future. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I will go with the breaking change. Requiring nightly dependencies when using nightly xgboost seems fine to me.
Also please remove the |
Got it. Let me also add a [breaking] prefix, so that later I can remind myself that RMM 0.18+ is required to enable the RMM plugin. |
Co-authored-by: Mark Harris <mharris@nvidia.com>
…for RMM plugin (dmlc#6510) * [CI] Upgrade cuDF and RMM to 0.18 nightlies * Modify RMM plugin to be compatible with RMM 0.18 * Update src/common/device_helpers.cuh Co-authored-by: Mark Harris <mharris@nvidia.com> Co-authored-by: Mark Harris <mharris@nvidia.com>
Also update the RMM plugin code to account for the updated signature of the template class
rmm::mr::thrust_allocator<T>
(rapidsai/rmm#647).cc @harrism @jrhemstad