-
As discussed here, implemented here, and documented here, my team and I are wondering what the reasoning was behind linking unconditionally linking We've read through the full conversation and are still unclear why it's needed. Potentially more importantly, could there be any unintended side effects as The reason for asking is due to trying to keep the same cuda libraries consistently linked statically or dynamically across all libraries (for example, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
You missed #100 which explained why we are doing this 🙂 |
Beta Was this translation helpful? Give feedback.
@BwL1289 In
cuda.bindings
, the only API that could loadlibcudart
isruntime.getLocalRuntimeVersion()
, which is a Python-only API that we added to check the version of the loadedlibcudart
(if any). Other APIs interact with the driver or static cudart directly.In fact, the name "CUDA Runtime" is a misnomer. It is not an intelligent run-time system as you might have imagined by name. Nothing fancy is done there. The best way to think about it is "(slightly more user-friendly) C bindings" to driver APIs. The only thing that's fancy here is that it internally loads the driver (
libcuda
) and fetches the correct symbols based on the loaded driver version in a CUDA-minor-version-compatible mann…