Coverage for cuda / core / _utils / version.pyx: 91.30%

23 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-05-22 01:37 +0000

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

2# 

3# SPDX-License-Identifier: Apache-2.0 

4  

5import functools 

6import importlib.metadata 

7  

8from cuda.core._utils.cuda_utils import driver, handle_return 

9  

10  

11@functools.cache 

12def binding_version() -> tuple[int, int, int]: 

13 """Return the cuda-bindings version as a (major, minor, patch) triple.""" 

14 try: 

15 parts = importlib.metadata.version("cuda-bindings").split(".")[:3] 

16 except importlib.metadata.PackageNotFoundError: 

17 parts = importlib.metadata.version("cuda-python").split(".")[:3] 

18 return tuple(int(v) for v in parts) 

19  

20  

21@functools.cache 

22def driver_version() -> tuple[int, int, int]: 

23 """Return the CUDA driver version as a (major, minor, patch) triple.""" 

24 cdef int ver = handle_return(driver.cuDriverGetVersion()) 

25 return (ver // 1000, (ver // 10) % 100, ver % 10) 

26  

27  

28cdef tuple _cached_binding_version = None 

29cdef tuple _cached_driver_version = None 

30  

31  

32cdef tuple cy_binding_version(): 

33 global _cached_binding_version 

34 if _cached_binding_version is None: 2S T U V W X Y Z 0 c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : ; = ? @ [ R ] ^ _ ` { | } ~ abbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbA BbCbDbEbFbGbb B C D E F G H I J K L M N O P Q

35 _cached_binding_version = binding_version() 1R

36 return _cached_binding_version 2S T U V W X Y Z 0 c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : ; = ? @ [ R ] ^ _ ` { | } ~ abbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbA BbCbDbEbFbGbb B C D E F G H I J K L M N O P Q

37  

38  

39cdef tuple cy_driver_version(): 

40 global _cached_driver_version 

41 if _cached_driver_version is None: 1cdefghijklmnopqrstuvwxyzAbBCDEFGHIJKLMNOPQ

42 _cached_driver_version = driver_version() 1b

43 return _cached_driver_version 1cdefghijklmnopqrstuvwxyzAbBCDEFGHIJKLMNOPQ