From c472bd56f0929573cd1b8bb2f5e0646b641923e7 Mon Sep 17 00:00:00 2001 From: Tim Dettmers Date: Fri, 5 Aug 2022 08:57:52 -0700 Subject: Added the case that all env variables are empty (CUDA docker). --- bitsandbytes/cuda_setup/paths.py | 8 +++++++- setup.py | 2 +- tests/test_cuda_setup_evaluator.py | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bitsandbytes/cuda_setup/paths.py b/bitsandbytes/cuda_setup/paths.py index b5e04f8..9c565c7 100644 --- a/bitsandbytes/cuda_setup/paths.py +++ b/bitsandbytes/cuda_setup/paths.py @@ -117,10 +117,16 @@ def determine_cuda_runtime_lib_path() -> Union[Path, None]: if env_var not in {"CONDA_PREFIX", "LD_LIBRARY_PATH"} } + + cuda_runtime_libs = set() - for env_var, value in remaining_candidate_env_vars: + for env_var, value in remaining_candidate_env_vars.items(): cuda_runtime_libs.update(find_cuda_lib_in(value)) + if len(cuda_runtime_libs) == 0: + print('CUDA_SETUP: WARNING! libcudart.so not found in any environmental path. Searching /usr/local/cuda/lib64...') + cuda_runtime_libs.update(find_cuda_lib_in('/usr/local/cuda/lib64')) + warn_in_case_of_duplicates(cuda_runtime_libs) return next(iter(cuda_runtime_libs)) if cuda_runtime_libs else None diff --git a/setup.py b/setup.py index 3f4c40b..67b655d 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ def read(fname): setup( name=f"bitsandbytes", - version=f"0.31.3", + version=f"0.31.4", author="Tim Dettmers", author_email="dettmers@cs.washington.edu", description="8-bit optimizers and matrix multiplication routines.", diff --git a/tests/test_cuda_setup_evaluator.py b/tests/test_cuda_setup_evaluator.py index 3d34c29..c947ca1 100644 --- a/tests/test_cuda_setup_evaluator.py +++ b/tests/test_cuda_setup_evaluator.py @@ -133,7 +133,7 @@ def test_full_system(): ) version = float(f"{major}.{minor}") - if version == "" and "LD_LIBRARY_PATH": + if version == "" and "LD_LIBRARY_PATH" in os.environ: ld_path = os.environ["LD_LIBRARY_PATH"] paths = ld_path.split(":") version = "" @@ -144,6 +144,7 @@ def test_full_system(): version = float(version) break + assert version > 0 binary_name = evaluate_cuda_setup() binary_name = binary_name.replace("libbitsandbytes_cuda", "") -- cgit v1.2.3