Coverage for cuda / core / system / _memory.pxi: 100.00%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-08 01:07 +0000

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

2# 

3# SPDX-License-Identifier: Apache-2.0 

4  

5  

6cdef class MemoryInfo: 

7 """ 

8 Memory allocation information for a device. 

9 """ 

10 cdef object _memory_info 

11  

12 def __init__(self, memory_info: nvml.Memory_v2): 

13 self._memory_info = memory_info 1a

14  

15 @property 

16 def free(self) -> int: 

17 """ 

18 Unallocated device memory (in bytes) 

19 """ 

20 return self._memory_info.free 1a

21  

22 @property 

23 def total(self) -> int: 

24 """ 

25 Total physical device memory (in bytes) 

26 """ 

27 return self._memory_info.total 1a

28  

29 @property 

30 def used(self) -> int: 

31 """ 

32 Allocated device memory (in bytes) 

33 """ 

34 return self._memory_info.used 1a

35  

36 @property 

37 def reserved(self) -> int: 

38 """ 

39 Device memory (in bytes) reserved for system use (driver or firmware) 

40 """ 

41 return self._memory_info.reserved 1a

42  

43  

44cdef class BAR1MemoryInfo(MemoryInfo): 

45 """ 

46 BAR1 Memory allocation information for a device. 

47 """ 

48 cdef object _memory_info 

49  

50 def __init__(self, memory_info: nvml.BAR1Memory): 

51 self._memory_info = memory_info 1b

52  

53 @property 

54 def free(self) -> int: 

55 """ 

56 Unallocated BAR1 memory (in bytes) 

57 """ 

58 return self._memory_info.bar1_free 1b

59  

60 @property 

61 def total(self) -> int: 

62 """ 

63 Total BAR1 memory (in bytes) 

64 """ 

65 return self._memory_info.bar1_total 1b

66  

67 @property 

68 def used(self) -> int: 

69 """ 

70 Allocated used memory (in bytes) 

71 """ 

72 return self._memory_info.bar1_used 1b