Preload the nvJitLink library installed by pip if available #28977
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.
As reported in #28929, since
cuSPARSE
andcuSOLVER
depend on thenvJitLink
viaRUNPATH
, the incorrect version ofnvJitLink
might be loaded whencuSPARSE
orcuSOLVER
is loaded ifLD_LIBRARY_PATH
is set.The advice in #28929 was to make sure that
LD_LIBRARY_PATH
is unset, but we can avoid this problem even whenLD_LIBRARY_PATH
is set by preloading thenvJitLink
library from the pip package when it is available. In this case,cuSPARSE
andcuSOLVER
will no longer try to load the wrong version, since the library is already available.I have manually checked that this fixes #28929 even when
LD_LIBRARY_PATH
is set in a VM with multiple incompatible versions ofnvJitLink
available.