-
Notifications
You must be signed in to change notification settings - Fork 162
[Backport] Fix support for NVVM from conda on Windows + other fixes #574
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
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I'm asking mainly from the perspective of working on the path_finder code: Do I need to look around more?
Concretely, what distributions are there with nvrtc64_111_0.dll or nvrtc64_110_0.dll?
I ran
unzip -l
for allcuda_nvrtc-windows-x86_64*.zip
that I found underhttps://developer.download.nvidia.com/compute/cuda/redist/
For CTK 11.x, I only see
nvrtc64_112_0.dll
(see below).I also looked in the nvidia_cuda_nvrtc_cu11 wheel, it has
nvrtc64_112_0.dll
, too.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.
So this is what I know (learned actually from @kkraus14 long time ago) 🙂 CUDA promised minor version compatibility since CUDA 11, however back then the compiler was actually not stabilized enough to fulfill this story until 11.2. So before that each minor release had a different SONAME (this is same on Linux too), and the reality is minor ver compat is supported since 11.2. Technically we should just drop the support for 11.0/11.1 (they are untested anyway) but Vlad has been kept the old code around for a long time and no body complained. The story will become a lot cleaner once we drop 11.x support.
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.
To close the loop here:
With 38a1d6c the cuda.bindings.path_finder now has this for nvrtc:
This is the result of downloading all released
cuda_*win*.exe
files for 11.x and 12.x, and then inspecting the.dll
files in all of them automatically (toolshed/build_path_finder_dlls.py).I believe with this general/systematic approach we can be certain that we will not miss any "already loaded" DLLs.