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
« 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
6cdef class MemoryInfo:
7 """
8 Memory allocation information for a device.
9 """
10 cdef object _memory_info
12 def __init__(self, memory_info: nvml.Memory_v2):
13 self._memory_info = memory_info 1a
15 @property
16 def free(self) -> int:
17 """
18 Unallocated device memory (in bytes)
19 """
20 return self._memory_info.free 1a
22 @property
23 def total(self) -> int:
24 """
25 Total physical device memory (in bytes)
26 """
27 return self._memory_info.total 1a
29 @property
30 def used(self) -> int:
31 """
32 Allocated device memory (in bytes)
33 """
34 return self._memory_info.used 1a
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
44cdef class BAR1MemoryInfo(MemoryInfo):
45 """
46 BAR1 Memory allocation information for a device.
47 """
48 cdef object _memory_info
50 def __init__(self, memory_info: nvml.BAR1Memory):
51 self._memory_info = memory_info 1b
53 @property
54 def free(self) -> int:
55 """
56 Unallocated BAR1 memory (in bytes)
57 """
58 return self._memory_info.bar1_free 1b
60 @property
61 def total(self) -> int:
62 """
63 Total BAR1 memory (in bytes)
64 """
65 return self._memory_info.bar1_total 1b
67 @property
68 def used(self) -> int:
69 """
70 Allocated used memory (in bytes)
71 """
72 return self._memory_info.bar1_used 1b