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

29 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-25 01:07 +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 ( 

24 SUPPORTED_LIBNAMES as SUPPORTED_NVIDIA_LIBNAMES, 

25) 

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

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

28from cuda.pathfinder._headers.find_nvidia_headers import ( 

29 locate_nvidia_header_directory as locate_nvidia_header_directory, 

30) 

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

32from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

33 SUPPORTED_BITCODE_LIBS as _SUPPORTED_BITCODE_LIBS, 

34) 

35from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

36 BitcodeLibNotFoundError as BitcodeLibNotFoundError, 

37) 

38from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

39 LocatedBitcodeLib as LocatedBitcodeLib, 

40) 

41from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

42 find_bitcode_lib as find_bitcode_lib, 

43) 

44from cuda.pathfinder._static_libs.find_bitcode_lib import ( 

45 locate_bitcode_lib as locate_bitcode_lib, 

46) 

47from cuda.pathfinder._static_libs.find_static_lib import ( 

48 SUPPORTED_STATIC_LIBS as _SUPPORTED_STATIC_LIBS, 

49) 

50from cuda.pathfinder._static_libs.find_static_lib import ( 

51 LocatedStaticLib as LocatedStaticLib, 

52) 

53from cuda.pathfinder._static_libs.find_static_lib import ( 

54 StaticLibNotFoundError as StaticLibNotFoundError, 

55) 

56from cuda.pathfinder._static_libs.find_static_lib import ( 

57 find_static_lib as find_static_lib, 

58) 

59from cuda.pathfinder._static_libs.find_static_lib import ( 

60 locate_static_lib as locate_static_lib, 

61) 

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

63 

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

65 

66# Indirections to help Sphinx find the docstrings. 

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

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

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

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

71SUPPORTED_HEADERS_CTK = _SUPPORTED_HEADERS_CTK 

72 

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

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

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

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

77SUPPORTED_BINARY_UTILITIES = _SUPPORTED_BINARIES 

78 

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

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

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

82SUPPORTED_BITCODE_LIBS = _SUPPORTED_BITCODE_LIBS 

83 

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

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

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

87SUPPORTED_STATIC_LIBS = _SUPPORTED_STATIC_LIBS 

88 

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

90# It will be removed in release 1.2.4. 

91_find_nvidia_header_directory = find_nvidia_header_directory