Coverage for cuda/pathfinder/__init__.py: 100.00%

31 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-03 02:41 +0000

1# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 

2# SPDX-License-Identifier: Apache-2.0 

3 

4"""cuda.pathfinder public APIs""" 

5 

6# NOTE: When adding or removing public APIs from this file, remember to update 

7# cuda_pathfinder/docs/source/api.rst 

8# to keep the documentation in sync. 

9 

10from cuda.pathfinder._binaries.find_nvidia_binary_utility import ( 

11 find_nvidia_binary_utility as find_nvidia_binary_utility, 

12) 

13from cuda.pathfinder._binaries.supported_nvidia_binaries import SUPPORTED_BINARIES as _SUPPORTED_BINARIES 

14from cuda.pathfinder._dynamic_libs.load_dl_common import ( 

15 DynamicLibNotAvailableError as DynamicLibNotAvailableError, 

16) 

17from cuda.pathfinder._dynamic_libs.load_dl_common import DynamicLibNotFoundError as DynamicLibNotFoundError 

18from cuda.pathfinder._dynamic_libs.load_dl_common import ( 

19 DynamicLibUnknownError as DynamicLibUnknownError, 

20) 

21from cuda.pathfinder._dynamic_libs.load_dl_common import LoadedDL as LoadedDL 

22from cuda.pathfinder._dynamic_libs.load_nvidia_dynamic_lib import load_nvidia_dynamic_lib as load_nvidia_dynamic_lib 

23from cuda.pathfinder._dynamic_libs.supported_nvidia_libs import SUPPORTED_LIBNAMES as _SUPPORTED_NVIDIA_LIBNAMES 

24from cuda.pathfinder._headers.find_nvidia_headers import LocatedHeaderDir as LocatedHeaderDir 

25from cuda.pathfinder._headers.find_nvidia_headers import find_nvidia_header_directory as find_nvidia_header_directory 

26from cuda.pathfinder._headers.find_nvidia_headers import ( 

27 locate_nvidia_header_directory as locate_nvidia_header_directory, 

28) 

29from cuda.pathfinder._headers.supported_nvidia_headers import SUPPORTED_HEADERS_CTK as _SUPPORTED_HEADERS_CTK 

30from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

31 SUPPORTED_BITCODE_LIBS as _SUPPORTED_BITCODE_LIBS, 

32) 

33from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

34 BitcodeLibNotFoundError as BitcodeLibNotFoundError, 

35) 

36from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

37 LocatedBitcodeLib as LocatedBitcodeLib, 

38) 

39from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

40 find_bitcode_lib as find_bitcode_lib, 

41) 

42from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

43 locate_bitcode_lib as locate_bitcode_lib, 

44) 

45from cuda.pathfinder._static_libs.find_static_lib import ( 

46 SUPPORTED_STATIC_LIBS as _SUPPORTED_STATIC_LIBS, 

47) 

48from cuda.pathfinder._static_libs.find_static_lib import ( 

49 LocatedStaticLib as LocatedStaticLib, 

50) 

51from cuda.pathfinder._static_libs.find_static_lib import ( 

52 StaticLibNotFoundError as StaticLibNotFoundError, 

53) 

54from cuda.pathfinder._static_libs.find_static_lib import ( 

55 find_static_lib as find_static_lib, 

56) 

57from cuda.pathfinder._static_libs.find_static_lib import ( 

58 locate_static_lib as locate_static_lib, 

59) 

60from cuda.pathfinder._utils.env_vars import get_cuda_path_or_home as get_cuda_path_or_home 

61from cuda.pathfinder._utils.windows_arch import UnsupportedArchError as UnsupportedArchError 

62 

63from cuda.pathfinder._version import __version__ # isort: skip 

64 

65# Indirections to help Sphinx find the docstrings. 

66#: Mapping from short CUDA Toolkit (CTK) library names to their canonical 

67#: header basenames (used to validate a discovered include directory). 

68#: Example: ``"cublas" → "cublas.h"``. The key set is platform-aware 

69#: (e.g., ``"cufile"`` may be Linux-only). 

70SUPPORTED_HEADERS_CTK = _SUPPORTED_HEADERS_CTK 

71 

72#: Tuple of supported CUDA binary utility names that can be located 

73#: via ``find_nvidia_binary_utility()``. Platform-aware (e.g., some 

74#: utilities may be available only on Linux or Windows). 

75#: Example utilities: ``"nvdisasm"``, ``"cuobjdump"``, ``"nvcc"``. 

76SUPPORTED_BINARY_UTILITIES = _SUPPORTED_BINARIES 

77 

78#: Tuple of CUDA Toolkit dynamic library names supported by 

79#: :func:`load_nvidia_dynamic_lib` for the current operating system and 

80#: interpreter architecture. 

81SUPPORTED_NVIDIA_LIBNAMES = _SUPPORTED_NVIDIA_LIBNAMES 

82 

83#: Tuple of supported bitcode library names that can be resolved 

84#: via ``locate_bitcode_lib()`` and ``find_bitcode_lib()``. 

85#: Example value: ``"device"``. 

86SUPPORTED_BITCODE_LIBS = _SUPPORTED_BITCODE_LIBS 

87 

88#: Tuple of supported static library names that can be resolved 

89#: via ``locate_static_lib()`` and ``find_static_lib()``. 

90#: Example value: ``"cudadevrt"``. 

91SUPPORTED_STATIC_LIBS = _SUPPORTED_STATIC_LIBS 

92 

93# Backward compatibility: _find_nvidia_header_directory was added in release 1.2.2. 

94# It will be removed in release 1.2.4. 

95_find_nvidia_header_directory = find_nvidia_header_directory