-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
Change run_exports from major.minor to major for CUDA>=10.1 #35
Comments
I'm not sure that is what that means. Inside the |
The relevant text from the release is:
My experience is that although the soname only include the major version, relinking is still needed when switching between minor versions. |
This is my experience too. Please don’t do this before we can confirm NVIDIA stabilizes its versioning scheme. Think about the nuisance of 10.1 Update 0/1/2 just not long ago... |
I don't understand. Can you explain? |
If I install PyTorch and Tensorflow built with cudatoolkit 10.0, then remove cudatoolkit 10.0 and install 10.1 both fail to run test scripts:
Both of these package are trying to dlopen the major.minor libraries. Perhaps it is possible for these projects to switch to using the major only library but this is not how they are currently setup. |
That doesn't work. This only works with 10.1 onwards as the link mentions. Try doing the same with 10.1 and 10.2 |
Unfortunately, I do not have packages nor a machine configured to test 10.1 vs 10.2 at the moment. |
@isuruf, as noted above it doesn't. |
Ah, then we should split cudatoolkit into 2 packages so that CUDA packages built with 10.1 will get the benefits of 10.2 where applicable |
Examining the runtime docker images from docker hub it appears as if most of the libraries use a major only SONAME but three (libcudart.so, libnvrtc-builtins.so and libnvrtc.so.10.2) use major.minor. These two groups could made into two different conda packages so that the compatible libraries can be installed into a 10.1 environment. The existing |
That's an interesting idea. Could be reasonable. Have not personally explored this. @kkraus14 @mike-wendt, do you have any thoughts on this idea? |
I'm not opposed to the idea of turning |
IIUC it would be split along the lines of which libraries include the CUDA minor version (like |
Sorry for a stupid question: If we split |
I think |
Thanks @jakirkham. So sounds like with the splitting we could get a 10.2 runtime but, say, a 10.1 cuFFT or cuRAND coexist. Sorry I wasn't paying attention to @jjhelmus's original comment:
So would this work for applications depending on NVRTC, built with 10.1, and running with 10.2? I don't see any guarantee of API/ABI compatibility mentioned in NVRTC's documentation, so if its SOs' names have major.minor, this is a bit worrying... |
Please read @jjhelmus's comment carefully. NVRTC (and CUDART) would be in the group of packages that pins to major.minor and the others would be in the group of packages that are pinned to major. |
See https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-general-new-features
The text was updated successfully, but these errors were encountered: