-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
Relax cuda-python run dependencies #66
Comments
CUDA Python reimplements CUDA runtime so not depending on |
Looking at the build logs, see the following on CI: WARNING (cuda-python): dso library package conda-forge/linux-64::cuda-nvrtc==12.3.107=hd3aeb46_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to `build/ignore_run_exports`)
WARNING (cuda-python): dso library package conda-forge/linux-64::cuda-cudart==12.3.101=hd3aeb46_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to `build/ignore_run_exports`) Also seeing this Though please let us know if we are still missing something |
I am not sure what would that be different from what I said above. Are you suggesting NVRTC should be listed in |
It doesn't appear to be dynamically linking to
|
OK, sorry for using the wrong terminology if we want to be pedantic here. It's "runtime" not "dynamically" linked. But it doesn't change the fact that This was similarly done in CuPy v13, where everything is also technically runtime linked (through the Python import system instead of |
Dynamic linking and If you have not already, could you please read over the code linked above ( #66 (comment) )? The |
Sorry, but I have a you-know-which project that implements exactly the same approach (after studying CUDA Python carefully) so you can assume my utter familiarity with the code. I know what I was talking (and I can tell you where CUDA Python can improve) 🙂 The point is, in order to implement runtime linking through run_constrained:
- {{ pin_compatible('cuda-nvrtc', max_pin='x') }} to say the least. What's the issue that we can't implement this change?
This is not necessarily true. I've seen multiple CUDA API/ABI incidents in the past, in both CUDA runtime and libraries. There was no one-size-fit-all sanity checks that could possibly capture all these accidents, and what we do on the packaging side is the last line of defense. What I am asking is simply to proceed with caution. |
Sorry if that came off as blunt. Wanted to be sure we were looking at the same thing as it felt like we were talking past each other
Have included you in an offline discussion where this came up. At this point think it is better to discuss there for a bit before discussing here further |
Fixes attempted in rapidsai/integration#695 & rapidsai/integration#697 don't play well with CEC at large, but this repo can pin `cuda-python` more restrictively. This PR pins `cuda-python` to the CUDA `major.minor.*` version. See also conda-forge/cuda-python-feedstock#66 Authors: - Ray Douglass (https://github.com/raydouglass) Approvers: - Bradley Dice (https://github.com/bdice) - Jake Awe (https://github.com/AyodeAwe) URL: #624
Solution to issue cannot be found in the documentation.
Issue
I faced an issue with cuda-python, where the
run
dependencies were requiringcuda-cudart
andcuda-nvrtc
and resulting in an undesired environment solution that crossed channel priorities. rapidsai/integration#695The current run dependencies for
linux-64/cuda-python-12.3.0-py38hd750a71_0.conda
are:However, it doesn't seem that the cuda-python package needs the run dependencies on
cuda-cudart
orcuda-nvrtc
. They're not dynamically linked, and they're not explicitly listed asrun
requirements. They are coming from run-exports of dependencies in thehost
section:cuda-python-feedstock/recipe/meta.yaml
Lines 47 to 49 in a5117f8
From discussions with @jakirkham, the cuda-python package should be able to leverage CUDA Enhanced Compatibility, meaning that we should be able to add
ignore_run_exports_from
for dev packages likecuda-cudart-dev
.Installed packages
Environment info
The text was updated successfully, but these errors were encountered: