Coverage for cuda / core / _utils / version.pyx: 91.30%
23 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-29 01:27 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-29 01:27 +0000
1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2#
3# SPDX-License-Identifier: Apache-2.0
5import functools
6import importlib.metadata
8from cuda.core._utils.cuda_utils import driver, handle_return
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)
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)
28cdef tuple _cached_binding_version = None
29cdef tuple _cached_driver_version = None
32cdef tuple cy_binding_version():
33 global _cached_binding_version
34 if _cached_binding_version is None: 2C D E F G H I J K c d e f g h i j k l m n o p q r s t u v w x y z L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : ; = B ? @ [ ] ^ _ ` { | } ~ abbbcbdbebfbgbhbibjbb kblbmbnbobpbA
35 _cached_binding_version = binding_version() 1B
36 return _cached_binding_version 2C D E F G H I J K c d e f g h i j k l m n o p q r s t u v w x y z L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : ; = B ? @ [ ] ^ _ ` { | } ~ abbbcbdbebfbgbhbibjbb kblbmbnbobpbA
39cdef tuple cy_driver_version():
40 global _cached_driver_version
41 if _cached_driver_version is None: 2c d e f g h i j k l m n o p q r s t u v w x y z b A qbrbsbtbubvbwbxbybzbAbBbCb
42 _cached_driver_version = driver_version() 1b
43 return _cached_driver_version 2c d e f g h i j k l m n o p q r s t u v w x y z b A qbrbsbtbubvbwbxbybzbAbBbCb