-
Notifications
You must be signed in to change notification settings - Fork 4
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
Support new cuda-python layout #117
Comments
I chatted with @vyasr about this offline. I would prefer for us to increase our lower bound of cuda-python to We can always go the route of adding backwards compatibility for older cuda-python versions (via conditional imports) later on. Using conditional imports introduces complexity and forces us into another decision (when do we drop support for "old style" cuda-python?) so I am not really eager to start with this approach. Increasing the lower bound to use the new layout also eliminates all deprecation warnings, keeping us from running into issues like rapidsai/rmm#1730. We do occasionally use conditional imports for core dependencies like pandas and pyarrow, but I would like to avoid that in this case, especially given that RAPIDS works closely with cuda-python and can request patch releases for most regressions we find. |
Thanks for writing this up Bradley! On further consideration I am fine with the approach of upgrading now and reenabling older versions later.
@leofang do you have a sense of how likely this case is? Basically this boils down to a question of how many packages you are aware of that are doing |
@bdice can we get the cuda-python unpinning in now? |
Sorry I missed this.
I think |
PRs to lift the upper bounds have been opened:
Once those are merged, we can file follow-up PRs with the above proposal to update the bounds to |
A meta-comment about the PRs in #117 (comment) ... it's ok to change to e.g. ref: https://anaconda.org/conda-forge/cuda-python/files?version=12.6.1 And similar for 11.8.4: https://anaconda.org/conda-forge/cuda-python/files?version=11.8.4 Just wanted to get that in writing, I was wondering it while reviewing. |
It seems like building packages using Cython like RMM/cuDF with the new-layout releases of For now, I will set new lower bounds: However, this is likely an unintended breakage, so @vyasr said he will file an issue and we can cross-link it here. |
@leofang I think really our question is, how many projects outside RAPIDS are using cuda-python? If it's small (our hypothesis) then tightly constraining usable versions isn't a problem. |
NVIDIA/cuda-python#274 details the most recent issue @bdice mentioned above. |
We require a newer cuda-python lower bound for new features and to use the new layout. This will fix a number of errors observed when the runtime version of cuda-python is older than the version used to build packages using Cython features from cuda-python. See rapidsai/build-planning#117 (comment) for details. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - James Lamb (https://github.com/jameslamb) URL: #1751
We require a newer cuda-python lower bound for new features and to use the new layout. This will fix a number of errors observed when the runtime version of cuda-python is older than the version used to build packages using Cython features from cuda-python. See rapidsai/build-planning#117 (comment) for details. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - James Lamb (https://github.com/jameslamb) URL: #524
We require a newer cuda-python lower bound for new features and to use the new layout. This will fix a number of errors observed when the runtime version of cuda-python is older than the version used to build packages using Cython features from cuda-python. See rapidsai/build-planning#117 (comment) for details. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - James Lamb (https://github.com/jameslamb) URL: #573
We require a newer cuda-python lower bound for new features and to use the new layout. This will fix a number of errors observed when the runtime version of cuda-python is older than the version used to build packages using Cython features from cuda-python. See rapidsai/build-planning#117 (comment) for details. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - James Lamb (https://github.com/jameslamb) URL: #2522
We require a newer cuda-python lower bound for new features and to use the new layout. This will fix a number of errors observed when the runtime version of cuda-python is older than the version used to build packages using Cython features from cuda-python. See rapidsai/build-planning#117 (comment) for details. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - James Lamb (https://github.com/jameslamb) URL: #17547
We require a newer cuda-python lower bound for new features and to use the new layout. This will fix a number of errors observed when the runtime version of cuda-python is older than the version used to build packages using Cython features from cuda-python. See rapidsai/build-planning#117 (comment) for details. Authors: - Bradley Dice (https://github.com/bdice) - Ralph Liu (https://github.com/nv-rliu) Approvers: - James Lamb (https://github.com/jameslamb) URL: #4813
I migrated rmm to the new cuda-python layout in rapidsai/rmm#1755. We’ll need to make similar changes across all other RAPIDS repos. At the same time that we do this change, we should refactor all the places in RAPIDS where we are using numba to get the proper local CUDA runtime version, and use the new cuda-python API for getting the local runtime version. I still need to refactor rmm’s numba dependency now that we fixed rmm. It may let us make numba optional or not-required for rmm. |
I filed a couple of related PRs in cuGraph:
|
cuda-python 12.6.1 (11.8.4 on the CUDA 11 line) introduces a new layout and deprecates the old one. This is not considered a breaking change for them, but it is for much of RAPIDS CI where warnings are treated as errors. In the short term, the resolution is #116, which adds pinnings to avoid this problem (as well as others). Longer-term, we probably do not want to just change our imports because that would make us require only the latest versions of the package, which would be fairly constraining and could make our environments unsolveable if other libraries do not make similar updates. Instead, we will need to handle this importing conditionally to ensure that we can get what we need. Presumably this doesn't impact cimports since those would be Cython build warnings (and we are generally not blocked on those), so conditional imports should be sufficient to enable a broader range of usability.
The text was updated successfully, but these errors were encountered: