jetson
zeus.device.soc.jetson
NVIDIA Jetson platform support.
ZeusJetsonInitError
Bases: ZeusSoCInitError
Jetson initialization failures.
Source code in zeus/device/soc/jetson.py
22 23 24 25 26 27 |
|
__init__
__init__(message)
Source code in zeus/device/soc/jetson.py
25 26 27 |
|
PowerMeasurementStrategy
Bases: ABC
Abstract base class for two different power measurement strategies.
Source code in zeus/device/soc/jetson.py
35 36 37 38 39 40 41 |
|
measure_power
abstractmethod
measure_power()
Measure power in mW.
Source code in zeus/device/soc/jetson.py
38 39 40 41 |
|
DirectPower
Bases: PowerMeasurementStrategy
Reads power directly from a sysfs path.
Source code in zeus/device/soc/jetson.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
__init__
__init__(power_path)
Source code in zeus/device/soc/jetson.py
47 48 49 |
|
measure_power
measure_power()
Measure power by reading from sysfs paths.
Units: mW.
Source code in zeus/device/soc/jetson.py
51 52 53 54 55 56 57 |
|
VoltageCurrentProduct
Bases: PowerMeasurementStrategy
Computes power as product of voltage and current, read from two sysfs paths.
Source code in zeus/device/soc/jetson.py
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
|
__init__
__init__(voltage_path, current_path)
Source code in zeus/device/soc/jetson.py
63 64 65 66 |
|
measure_power
measure_power()
Measure power by reading from sysfs paths.
Units: mW.
Source code in zeus/device/soc/jetson.py
68 69 70 71 72 73 74 75 |
|
JetsonMeasurement
dataclass
Bases: SoCMeasurement
Represents energy measurements for Jetson subsystems.
All measurements are in mJ.
Source code in zeus/device/soc/jetson.py
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
|
__sub__
__sub__(other)
Produce a single measurement object containing differences across all fields.
Source code in zeus/device/soc/jetson.py
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
|
zeroAllFields
zeroAllFields()
Set all internal measurement values to zero.
Source code in zeus/device/soc/jetson.py
107 108 109 110 111 112 113 114 115 |
|
DeviceMap
Bases: TypedDict
Map of device names to their corresponding power measurement strategies.
Source code in zeus/device/soc/jetson.py
118 119 120 121 122 123 |
|
Jetson
Bases: SoC
An interface for obtaining the energy metrics of a Jetson processor.
Source code in zeus/device/soc/jetson.py
126 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 167 168 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 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 |
|
__init__
__init__()
Source code in zeus/device/soc/jetson.py
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
|
_discover_available_metrics
_discover_available_metrics()
Return available power measurement metrics per rail from the INA3221 sensor on Jetson devices.
All official NVIDIA Jetson devices have at least 1 INA3221 power monitor that measures per-rail power usage via 3 channels.
- https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3276/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/clock_power_setup.html#
- https://docs.nvidia.com/jetson/archives/r35.6.1/DeveloperGuide/SD/PlatformPowerAndPerformance/JetsonXavierNxSeriesAndJetsonAgxXavierSeries.html#software-based-power-consumption-modeling
- https://docs.nvidia.com/jetson/archives/r36.4.3/DeveloperGuide/SD/PlatformPowerAndPerformance/JetsonOrinNanoSeriesJetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#
Source code in zeus/device/soc/jetson.py
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 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 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 |
|
getAvailableMetrics
getAvailableMetrics()
Return a set of all observable metrics on the Jetson device.
Source code in zeus/device/soc/jetson.py
230 231 232 233 234 235 236 237 238 239 240 241 242 |
|
_stop_process
_stop_process()
Kill the polling process.
Source code in zeus/device/soc/jetson.py
244 245 246 247 248 |
|
getTotalEnergyConsumption
getTotalEnergyConsumption(timeout=15.0)
Returns the total energy consumption of the Jetson device. This measurement is cumulative.
Units: mJ.
Source code in zeus/device/soc/jetson.py
250 251 252 253 254 255 256 |
|
Command
Bases: Enum
Provide commands for the polling process.
Source code in zeus/device/soc/jetson.py
259 260 261 262 263 |
|
check_file
check_file(path)
Check if the given path exists and is a file.
Source code in zeus/device/soc/jetson.py
30 31 32 |
|
_polling_process_async_wrapper
_polling_process_async_wrapper(
command_queue, result_queue, power_measurement
)
Function wrapper for the asynchronous energy polling process.
Source code in zeus/device/soc/jetson.py
266 267 268 269 270 271 272 273 274 275 276 277 278 |
|
_polling_process_async
async
_polling_process_async(
command_queue, result_queue, power_measurement
)
Continuously polls for accumulated energy measurements for CPU, GPU, and total power, listening for commands to stop or return the measurement.
Source code in zeus/device/soc/jetson.py
281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
|
jetson_is_available
jetson_is_available()
Return if the current processor is a Jetson device.
Source code in zeus/device/soc/jetson.py
336 337 338 339 340 341 342 343 |
|