Unverified Commit fe27bf1c authored by Kirthi Shankar Sivamani's avatar Kirthi Shankar Sivamani Committed by GitHub
Browse files

Fix runtime lib loading for cuDNN (#1989)



Fix cuDNN lib runtime loading and simplify
Signed-off-by: default avatarKirthi Shankar Sivamani <ksivamani@nvidia.com>
parent dab931a7
...@@ -246,6 +246,18 @@ def _load_cudnn(): ...@@ -246,6 +246,18 @@ def _load_cudnn():
if found: if found:
return handle return handle
# Attempt to locate libcudnn via ldconfig
libs = subprocess.check_output(
f"ldconfig -p | grep 'libcudnn{_get_sys_extension()}'", shell=True
)
libs = libs.decode("utf-8").split("\n")
sos = []
for lib in libs:
if "libcudnn" in lib and "=>" in lib:
sos.append(lib.split(">")[1].strip())
if sos:
return ctypes.CDLL(sos[0], mode=ctypes.RTLD_GLOBAL)
# If all else fails, assume that it is in LD_LIBRARY_PATH and error out otherwise # If all else fails, assume that it is in LD_LIBRARY_PATH and error out otherwise
return ctypes.CDLL(f"libcudnn{_get_sys_extension()}", mode=ctypes.RTLD_GLOBAL) return ctypes.CDLL(f"libcudnn{_get_sys_extension()}", mode=ctypes.RTLD_GLOBAL)
...@@ -267,12 +279,12 @@ def _load_nvrtc(): ...@@ -267,12 +279,12 @@ def _load_nvrtc():
return handle return handle
# Attempt to locate NVRTC via ldconfig # Attempt to locate NVRTC via ldconfig
libs = subprocess.check_output("ldconfig -p | grep 'libnvrtc'", shell=True) libs = subprocess.check_output(
f"ldconfig -p | grep 'libnvrtc{_get_sys_extension()}'", shell=True
)
libs = libs.decode("utf-8").split("\n") libs = libs.decode("utf-8").split("\n")
sos = [] sos = []
for lib in libs: for lib in libs:
if "stub" in lib or "libnvrtc-builtins" in lib:
continue
if "libnvrtc" in lib and "=>" in lib: if "libnvrtc" in lib and "=>" in lib:
sos.append(lib.split(">")[1].strip()) sos.append(lib.split(">")[1].strip())
if sos: if sos:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment