common
zeus.device.cpu.common
Error wrappers and classes common to all CPU vendors.
CpuDramMeasurement
dataclass
Represents a measurement of CPU and DRAM energy consumption.
Attributes:
| Name | Type | Description |
|---|---|---|
cpu_mj |
int
|
The CPU energy consumption in millijoules. |
dram_mj |
Optional[int]
|
The DRAM energy consumption in millijoules. Defaults to None. |
Source code in zeus/device/cpu/common.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
__sub__
__sub__(other)
Subtracts the values of another CpuDramMeasurement from this one.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other
|
CpuDramMeasurement
|
The other CpuDramMeasurement to subtract. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
CpuDramMeasurement |
CpuDramMeasurement
|
A new CpuDramMeasurement with the result of the subtraction. |
Source code in zeus/device/cpu/common.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | |
__truediv__
__truediv__(other)
Divides the values of this CpuDramMeasurement by a float.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other
|
int | float
|
The float to divide by. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
CpuDramMeasurement |
CpuDramMeasurement
|
A new CpuDramMeasurement with the result of the division. |
Raises:
| Type | Description |
|---|---|
ZeroDivisionError
|
If division by zero is attempted. |
Source code in zeus/device/cpu/common.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
ZeusCPUInitError
Bases: ZeusBaseCPUError
Import error or CPU library initialization failures.
Source code in zeus/device/cpu/common.py
67 68 69 70 71 72 | |
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
70 71 72 | |
ZeusCPUNoPermissionError
Bases: ZeusBaseCPUError
Zeus CPU exception class wrapper for No Permission to perform CPU operation.
Source code in zeus/device/cpu/common.py
75 76 77 78 79 80 | |
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
78 79 80 | |
ZeusCPUNotFoundError
Bases: ZeusBaseCPUError
Zeus CPU exception class wrapper for Not Found CPU.
Source code in zeus/device/cpu/common.py
83 84 85 86 87 88 | |
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
86 87 88 | |
ZeusCPUNotSupportedError
Bases: ZeusBaseCPUError
Zeus CPU exception class wrapper for Not Supported Operation on CPU.
Source code in zeus/device/cpu/common.py
91 92 93 94 95 96 | |
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
94 95 96 | |
CPU
Bases: ABC
Abstract base class for CPU management.
This class defines the interface for interacting with CPUs, subclasses should implement the methods to interact with specific CPU libraries.
Source code in zeus/device/cpu/common.py
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | |
__init__
__init__(cpu_index)
Source code in zeus/device/cpu/common.py
105 106 107 | |
get_total_energy_consumption
abstractmethod
get_total_energy_consumption()
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
109 110 111 112 113 | |
supports_get_dram_energy_consumption
abstractmethod
supports_get_dram_energy_consumption()
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
115 116 117 118 119 | |
get_power_limits
abstractmethod
get_power_limits()
Returns the power limits of the CPU package and DRAM zones.
Source code in zeus/device/cpu/common.py
121 122 123 124 | |
CPUs
Bases: ABC
An abstract base class for CPU manager object.
This class defines the essential interface and common functionality for CPU management, instantiating multiple CPU objects for each CPU being tracked.
Forwards the call for a specific method to the corresponding CPU object.
Source code in zeus/device/cpu/common.py
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | |
cpus
abstractmethod
property
cpus
Returns a list of CPU objects being tracked.
__init__
abstractmethod
__init__()
Source code in zeus/device/cpu/common.py
134 135 136 137 | |
__del__
abstractmethod
__del__()
Shuts down the CPU monitoring library to release resources and clean up.
Source code in zeus/device/cpu/common.py
139 140 141 142 | |
get_total_energy_consumption
get_total_energy_consumption(index)
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
150 151 152 153 | |
supports_get_dram_energy_consumption
supports_get_dram_energy_consumption(index)
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
155 156 157 158 | |
get_power_limits
get_power_limits(index)
Returns the power limits of the specified CPU's package and DRAM zones.
Source code in zeus/device/cpu/common.py
160 161 162 | |
__len__
__len__()
Returns the number of CPUs being tracked.
Source code in zeus/device/cpu/common.py
164 165 166 | |
EmptyCPUs
Bases: CPUs
Empty CPUs management object to be used when CPUs management object is unavailable.
Calls to any methods will return a value error and the length of this object will be 0
Source code in zeus/device/cpu/common.py
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | |
cpus
property
cpus
Returns a list of CPU objects being tracked.
__init__
__init__()
Source code in zeus/device/cpu/common.py
175 176 177 | |
__del__
__del__()
Shuts down the Intel CPU monitoring.
Source code in zeus/device/cpu/common.py
179 180 181 | |
get_total_energy_consumption
get_total_energy_consumption(index)
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
188 189 190 191 | |
supports_get_dram_energy_consumption
supports_get_dram_energy_consumption(index)
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
193 194 195 196 | |
get_power_limits
get_power_limits(index)
Returns the power limits of the specified CPU's package and DRAM zones.
Source code in zeus/device/cpu/common.py
198 199 200 | |
__len__
__len__()
Returns 0 since the object is empty.
Source code in zeus/device/cpu/common.py
202 203 204 | |