Coverage for cuda / pathfinder / _headers / supported_nvidia_headers.py: 100.00%

23 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"""Legacy table exports derived from the authored header descriptor catalog. 

5 

6The canonical data entry point is :mod:`header_descriptor_catalog`. This module 

7keeps historical constant names for backward compatibility by deriving them 

8from the catalog. 

9""" 

10 

11from __future__ import annotations 

12 

13from typing import Final 

14 

15from cuda.pathfinder._headers.header_descriptor_catalog import HEADER_DESCRIPTOR_CATALOG 

16from cuda.pathfinder._utils.platform_aware import IS_WINDOWS 

17 

18_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "ctk") 

19_NON_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "other") 

20 

21SUPPORTED_HEADERS_CTK_COMMON: Final[dict[str, str]] = { 

22 desc.name: desc.header_basename 

23 for desc in _CTK_DESCRIPTORS 

24 if desc.available_on_linux and desc.available_on_windows 

25} 

26SUPPORTED_HEADERS_CTK_LINUX_ONLY: Final[dict[str, str]] = { 

27 desc.name: desc.header_basename 

28 for desc in _CTK_DESCRIPTORS 

29 if desc.available_on_linux and not desc.available_on_windows 

30} 

31SUPPORTED_HEADERS_CTK_WINDOWS_ONLY: Final[dict[str, str]] = { 

32 desc.name: desc.header_basename 

33 for desc in _CTK_DESCRIPTORS 

34 if desc.available_on_windows and not desc.available_on_linux 

35} 

36 

37SUPPORTED_HEADERS_CTK_LINUX = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY 

38SUPPORTED_HEADERS_CTK_WINDOWS = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY 

39SUPPORTED_HEADERS_CTK_ALL = ( 

40 SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY 

41) 

42SUPPORTED_HEADERS_CTK: Final[dict[str, str]] = ( 

43 SUPPORTED_HEADERS_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_CTK_LINUX 

44) 

45 

46SUPPORTED_SITE_PACKAGE_HEADER_DIRS_CTK: Final[dict[str, tuple[str, ...]]] = { 

47 desc.name: desc.site_packages_dirs for desc in _CTK_DESCRIPTORS if desc.site_packages_dirs 

48} 

49 

50SUPPORTED_HEADERS_NON_CTK_COMMON: Final[dict[str, str]] = { 

51 desc.name: desc.header_basename 

52 for desc in _NON_CTK_DESCRIPTORS 

53 if desc.available_on_linux and desc.available_on_windows 

54} 

55SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY: Final[dict[str, str]] = { 

56 desc.name: desc.header_basename 

57 for desc in _NON_CTK_DESCRIPTORS 

58 if desc.available_on_linux and not desc.available_on_windows 

59} 

60SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY: Final[dict[str, str]] = { 

61 desc.name: desc.header_basename 

62 for desc in _NON_CTK_DESCRIPTORS 

63 if desc.available_on_windows and not desc.available_on_linux 

64} 

65 

66SUPPORTED_HEADERS_NON_CTK_LINUX = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY 

67SUPPORTED_HEADERS_NON_CTK_WINDOWS = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY 

68SUPPORTED_HEADERS_NON_CTK_ALL = ( 

69 SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY 

70) 

71SUPPORTED_HEADERS_NON_CTK: Final[dict[str, str]] = ( 

72 SUPPORTED_HEADERS_NON_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_NON_CTK_LINUX 

73) 

74 

75SUPPORTED_SITE_PACKAGE_HEADER_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = { 

76 desc.name: desc.site_packages_dirs for desc in _NON_CTK_DESCRIPTORS if desc.site_packages_dirs 

77} 

78 

79SUPPORTED_INSTALL_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = { 

80 desc.name: desc.system_install_dirs for desc in _NON_CTK_DESCRIPTORS if desc.system_install_dirs 

81}