Skip to content

Commit 3678fb4

Browse files
committed
cuda.pathfinder.nvidia_dynamic_libs.load_lib → cuda.pathfinder.load_nvidia_dynamic_lib
1 parent 975ba0b commit 3678fb4

File tree

5 files changed

+35
-33
lines changed

5 files changed

+35
-33
lines changed

cuda_bindings/cuda/bindings/path_finder.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Copyright 2024-2025 NVIDIA Corporation. All rights reserved.
22
# SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
33

4-
from cuda.pathfinder.nvidia_dynamic_libs import SUPPORTED_LIBNAMES as _SUPPORTED_LIBNAMES
5-
from cuda.pathfinder.nvidia_dynamic_libs import load_lib as _load_nvidia_dynamic_library
4+
from cuda.pathfinder import SUPPORTED_NVIDIA_LIBNAMES as _SUPPORTED_LIBNAMES
5+
from cuda.pathfinder import load_nvidia_dynamic_lib as _load_nvidia_dynamic_library
66

77
__all__ = [
88
"_load_nvidia_dynamic_library",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
from cuda.pathfinder._dynamic_libs import load_nvidia_dynamic_lib as _load_nvidia_dynamic_lib
5+
from cuda.pathfinder._dynamic_libs.load_dl_common import LoadedDL
6+
from cuda.pathfinder._dynamic_libs.supported_nvidia_libs import SUPPORTED_LIBNAMES as SUPPORTED_NVIDIA_LIBNAMES
7+
8+
__all__ = ["SUPPORTED_NVIDIA_LIBNAMES", "load_nvidia_dynamic_lib"]
9+
10+
11+
def load_nvidia_dynamic_lib(libname: str) -> LoadedDL:
12+
"""Load a NVIDIA dynamic library by name.
13+
14+
Args:
15+
libname: The name of the library to load (e.g. "cudart", "nvvm", etc.)
16+
17+
Returns:
18+
A LoadedDL object containing the library handle and path
19+
20+
Raises:
21+
RuntimeError: If the library cannot be found or loaded
22+
"""
23+
return _load_nvidia_dynamic_lib.load_lib(libname)

cuda_pathfinder/cuda/pathfinder/_dynamic_libs/load_nvidia_dynamic_library.py renamed to cuda_pathfinder/cuda/pathfinder/_dynamic_libs/load_nvidia_dynamic_lib.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,4 @@ def _load_lib_no_cache(libname: str) -> LoadedDL:
4949

5050
@functools.cache
5151
def load_lib(libname: str) -> LoadedDL:
52-
"""Load a NVIDIA dynamic library by name.
53-
54-
Args:
55-
libname: The name of the library to load (e.g. "cudart", "nvvm", etc.)
56-
57-
Returns:
58-
A LoadedDL object containing the library handle and path
59-
60-
Raises:
61-
RuntimeError: If the library cannot be found or loaded
62-
"""
6352
return _load_lib_no_cache(libname)

cuda_pathfinder/cuda/pathfinder/nvidia_dynamic_libs.py

Lines changed: 0 additions & 7 deletions
This file was deleted.

cuda_pathfinder/tests/test_nvidia_dynamic_libs_load_lib.py renamed to cuda_pathfinder/tests/test_load_nvidia_dynamic_lib.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,19 @@
77
import pytest
88
import spawned_process_runner
99

10-
from cuda.pathfinder import nvidia_dynamic_libs
10+
from cuda.pathfinder import SUPPORTED_NVIDIA_LIBNAMES, load_nvidia_dynamic_lib
1111
from cuda.pathfinder._dynamic_libs import supported_nvidia_libs
1212

13-
ALL_LIBNAMES = nvidia_dynamic_libs.SUPPORTED_LIBNAMES + supported_nvidia_libs.PARTIALLY_SUPPORTED_LIBNAMES_ALL
14-
ALL_LIBNAMES_LINUX = nvidia_dynamic_libs.SUPPORTED_LIBNAMES + supported_nvidia_libs.PARTIALLY_SUPPORTED_LIBNAMES_LINUX
15-
ALL_LIBNAMES_WINDOWS = (
16-
nvidia_dynamic_libs.SUPPORTED_LIBNAMES + supported_nvidia_libs.PARTIALLY_SUPPORTED_LIBNAMES_WINDOWS
17-
)
18-
if os.environ.get("CUDA_PATHFINDER_TEST_ALL_LIBNAMES", False):
13+
ALL_LIBNAMES = SUPPORTED_NVIDIA_LIBNAMES + supported_nvidia_libs.PARTIALLY_SUPPORTED_LIBNAMES_ALL
14+
ALL_LIBNAMES_LINUX = SUPPORTED_NVIDIA_LIBNAMES + supported_nvidia_libs.PARTIALLY_SUPPORTED_LIBNAMES_LINUX
15+
ALL_LIBNAMES_WINDOWS = SUPPORTED_NVIDIA_LIBNAMES + supported_nvidia_libs.PARTIALLY_SUPPORTED_LIBNAMES_WINDOWS
16+
if os.environ.get("CUDA_PATHFINDER_TEST_ALL_NVIDIA_LIBNAMES", False):
1917
if sys.platform == "win32":
2018
TEST_FIND_OR_LOAD_LIBNAMES = ALL_LIBNAMES_WINDOWS
2119
else:
2220
TEST_FIND_OR_LOAD_LIBNAMES = ALL_LIBNAMES_LINUX
2321
else:
24-
TEST_FIND_OR_LOAD_LIBNAMES = nvidia_dynamic_libs.SUPPORTED_LIBNAMES
22+
TEST_FIND_OR_LOAD_LIBNAMES = SUPPORTED_NVIDIA_LIBNAMES
2523

2624

2725
def test_all_libnames_linux_sonames_consistency():
@@ -63,14 +61,13 @@ def build_child_process_failed_for_libname_message(libname, result):
6361
def child_process_func(libname):
6462
import os
6563

66-
from cuda.pathfinder._dynamic_libs.load_nvidia_dynamic_library import _load_lib_no_cache
67-
from cuda.pathfinder.nvidia_dynamic_libs import load_lib
64+
from cuda.pathfinder._dynamic_libs.load_nvidia_dynamic_lib import _load_lib_no_cache
6865

69-
loaded_dl_fresh = load_lib(libname)
66+
loaded_dl_fresh = load_nvidia_dynamic_lib(libname)
7067
if loaded_dl_fresh.was_already_loaded_from_elsewhere:
7168
raise RuntimeError("loaded_dl_fresh.was_already_loaded_from_elsewhere")
7269

73-
loaded_dl_from_cache = load_lib(libname)
70+
loaded_dl_from_cache = load_nvidia_dynamic_lib(libname)
7471
if loaded_dl_from_cache is not loaded_dl_fresh:
7572
raise RuntimeError("loaded_dl_from_cache is not loaded_dl_fresh")
7673

@@ -84,7 +81,7 @@ def child_process_func(libname):
8481

8582

8683
@pytest.mark.parametrize("libname", TEST_FIND_OR_LOAD_LIBNAMES)
87-
def test_find_or_load_nvidia_dynamic_library(info_summary_append, libname):
84+
def test_load_nvidia_dynamic_lib(info_summary_append, libname):
8885
# We intentionally run each dynamic library operation in a child process
8986
# to ensure isolation of global dynamic linking state (e.g., dlopen handles).
9087
# Without child processes, loading/unloading libraries during testing could

0 commit comments

Comments
 (0)