-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Summarizing various discussions over the past few days here.
Historically we've needed to advance the lower bound quite often as numba-cuda features were created to serve cuDF specifically, while maintaining a tight upper bound due to the instability of those APIs as we got things working, bumping as needed. As more libraries that RAPIDS wants compatibility with have adopted numba-cuda however, it's become common for those libraries to be ahead of where rapids pins numba-cuda. This makes it difficult for those libraries to be coinstalled with the latest RAPIDS version. After discussion with the cudf python and numba-cuda teams, the best idea moving forward seem to be to approach the numba-cuda dependency as follows:
- Open the upper bound for
numba-cudafor regular development, allowing RAPIDS to be worked on against the latest stablenumba-cudarelease - At release time, add an upper bound restricting that RAPIDS release to, at latest, the most recent release of
numba-cudathat exists
We won't bump the lower bound unless necessary and we'll respond to issues with numba-cuda that surface through rapids with patch releases, these will hopefully be relatively infrequent and addressable quickly.
To get this off the ground, let's migrate rapids to >=0.24.0,<0.25.0, the lower bound getting us a version containing the latest import warning fixes and the upper bound mimicking what we'd have if things were running automatically as this proposal envisions. After that, we'll:
- Update release scripts to figure out the latest
numba-cudaversion and adjust the bounds on release - Remove the upper bound on development branches
PRs doing the former:
rapidsai/cudf#21117
rapidsai/cuml#7706
rapidsai/dask-cuda#1610
rapidsai/cuxfilter#759
rapidsai/rmm#2218
rapidsai/ucxx#573