-
Notifications
You must be signed in to change notification settings - Fork 58
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
Only look for libcufile.so.0 #203
Conversation
Rather than searching for a list of possible library names for libcufile, only look for the single ABI-compatible version of libcufile that we support. This avoids both ABI incompatibilities and loading stub libraries. It morally does what rapidsai#127 attempted, but with the correct versioning suffix.
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.
This looks correct to me.
Is |
CUDA v11.5 has:
|
Oh, ugh. Although, where do you see that? In the
|
In all the official docker images from 11.5 up, yes.
I think someone must have played around with those installations to do that manually. |
I think it was installed using the Ubuntu debian package: https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda-repo-ubuntu2004-11-5-local_11.5.2-495.29.05-1_amd64.deb |
I can confirm the Ubuntu 20.04 Debian package linked above only contains |
I claim that package is broken and should never have shipped in that state, but I realise that is not a useful point of view :(. |
I think then, given that actually the ABI has never changed we could just use |
Prior to 11.7.1 despite being ABI compatible, libcufile packages do not ship with a `.so.0` symlink. To handle this, just explicitly enumerate all the compatible versions we know about. Co-authored-by: Bradley Dice <bdice@bradleydice.com>
OK, I think this is good for another look @madsbk. |
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.
LGTM, thanks all!
/merge |
Thanks all! 🙏 |
Fixes the `dlopen` logic around `libcufile` to load either the SOVERSION library or the fully versioned library. This includes logic to handle the missing SOVERSION library on older CUDA versions. Drops loading the stub library, which typically only shows up in development environments. <hr> Fixes #504 Borrows from PR ( rapidsai/cudf#13210 ) and PR ( rapidsai/kvikio#203 ). Also adapts this logic to cuCIM ( rapidsai/kvikio#141 ) Authors: - https://github.com/jakirkham - Gregory Lee (https://github.com/grlee77) Approvers: - Bradley Dice (https://github.com/bdice) - Gregory Lee (https://github.com/grlee77) - Gigon Bae (https://github.com/gigony) URL: #548
Rather than searching for a list of possible library names for libcufile, only look for the single ABI-compatible version of libcufile that we support. This avoids both ABI incompatibilities and loading stub libraries. It morally does what #127 attempted, but with the correct versioning suffix.
Closes #200.