mblt-tracker 0.2.2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/PKG-INFO +131 -45
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/README.md +130 -44
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/__init__.py +1 -1
- mblt_tracker-0.2.4/mblt_tracker/_logging.py +40 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/_types.py +43 -3
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/cli.py +2 -1
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/device_tracker_cpu.py +4 -4
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/device_tracker_dram.py +5 -2
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/static_info.py +508 -7
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker.egg-info/PKG-INFO +131 -45
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker.egg-info/SOURCES.txt +2 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_cli.py +12 -6
- mblt_tracker-0.2.4/tests/test_logging.py +32 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_static_info.py +268 -10
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/LICENSE +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/device_tracker.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/device_tracker_gpu.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/device_tracker_npu.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker/device_tracker_npu.sh +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker.egg-info/dependency_links.txt +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker.egg-info/entry_points.txt +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker.egg-info/requires.txt +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/mblt_tracker.egg-info/top_level.txt +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/pyproject.toml +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/setup.cfg +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_cpu.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_dram_tracker_unit.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_gpu.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_gpu_tracker_unit.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_npu.py +0 -0
- {mblt_tracker-0.2.2 → mblt_tracker-0.2.4}/tests/test_npu_tracker_unit.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mblt-tracker
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: A Python library to track device usage, such as Mobilint NPU, NVIDIA GPU, Intel CPU, ...
|
|
5
5
|
Author-email: "Mobilint Inc." <tech-support@mobilint.com>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -75,9 +75,9 @@ Dynamic: license-file
|
|
|
75
75
|
- **Comprehensive Metrics**: Capture Power (Watts), Utilization (%), Memory Usage (MB/%), and Temperature (C).
|
|
76
76
|
- **Statistical Summaries**: Automatically calculates averages, peaks (max), and p99 values.
|
|
77
77
|
- **Time-Series Traces**: Export raw data for custom plotting and analysis.
|
|
78
|
-
- **Static Metadata**: Collect best-effort host, OS, PCIe, driver, firmware, and device information for reproducible benchmarks.
|
|
78
|
+
- **Static Metadata**: Collect best-effort host, OS, CPU, DRAM capacity/type/speed, motherboard, PCIe, driver, firmware, and device information for reproducible benchmarks.
|
|
79
79
|
- **CLI Collection Tool**: Use `mblt-tracker collect` to export static host and PCIe information as JSON.
|
|
80
|
-
- **PCIe Discovery**: Detect GPU/NPU-related PCIe devices on Linux and Windows, including link speed/width where available.
|
|
80
|
+
- **PCIe Discovery**: Detect GPU/NPU-related PCIe devices on Linux and Windows, including current and maximum link speed/width where available.
|
|
81
81
|
- **Lightweight**: Minimal overhead, designed for production and research environments.
|
|
82
82
|
|
|
83
83
|
---
|
|
@@ -163,41 +163,70 @@ mblt-tracker collect --pcie-vendor-id 1ed5 --pcie-device-id 0100
|
|
|
163
163
|
mblt-tracker collect --pcie-class-filter 0x12
|
|
164
164
|
```
|
|
165
165
|
|
|
166
|
-
The CLI output is a JSON document containing best-effort host CPU, DRAM, OS, GPU, NPU, driver, and PCIe information. NVIDIA GPU entries
|
|
166
|
+
The CLI output is a JSON document containing best-effort host CPU, DRAM, motherboard, OS, GPU, NPU, driver, and PCIe information. For NVIDIA GPU entries, NVML is the source of truth for GPU identity and PCIe link metadata; OS PCIe discovery is used only to attach non-link PCIe identifiers and descriptive fields where available. On Linux, non-NVIDIA PCIe information is read from sysfs. On Windows, non-NVIDIA PCI devices are collected through PowerShell/CIM/PnP queries.
|
|
167
167
|
|
|
168
168
|
### Example Output
|
|
169
169
|
|
|
170
170
|
The following examples show representative `mblt-tracker collect` outputs across
|
|
171
171
|
Windows and Linux systems. Public static output intentionally omits
|
|
172
|
-
privacy-sensitive host and device instance identifiers: DRAM DIMM
|
|
173
|
-
serial/
|
|
174
|
-
|
|
175
|
-
|
|
172
|
+
privacy-sensitive host and device instance identifiers: DRAM DIMM part/serial
|
|
173
|
+
numbers, motherboard serial/asset tags, and PCIe `bus_address` / Windows
|
|
174
|
+
`pnp_device_id` are not exposed, including when `--all-pcie-devices` is used.
|
|
175
|
+
DRAM byte counts are accompanied by MB/GB display units; DRAM speed, type,
|
|
176
|
+
module capacity, and estimated theoretical bandwidth are kept to make benchmark results easier to
|
|
177
|
+
interpret.
|
|
176
178
|
|
|
177
179
|
#### Windows host with Intel UHD Graphics, NVIDIA RTX 3090, and Mobilint NPU
|
|
178
180
|
|
|
179
181
|
```bash
|
|
180
182
|
$ mblt-tracker collect
|
|
181
|
-
WARNING:root:imports error
|
|
182
|
-
You need to install pymongo>=3.9.0 in order to use MongoOutput
|
|
183
|
-
WARNING:root:imports error
|
|
184
|
-
You need to install pandas>=0.25.1 in order to use DataFrameOutput
|
|
183
|
+
WARNING:root:imports error
|
|
184
|
+
You need to install pymongo>=3.9.0 in order to use MongoOutput
|
|
185
|
+
WARNING:root:imports error
|
|
186
|
+
You need to install pandas>=0.25.1 in order to use DataFrameOutput
|
|
185
187
|
{
|
|
186
188
|
"hardware": {
|
|
187
189
|
"cpu": {
|
|
188
190
|
"architecture": "AMD64",
|
|
189
|
-
"logical_cores": 20,
|
|
190
191
|
"model_name": "13th Gen Intel(R) Core(TM) i5-13500",
|
|
191
|
-
"physical_cores": 14,
|
|
192
192
|
"vendor": "GenuineIntel"
|
|
193
193
|
},
|
|
194
194
|
"dram": {
|
|
195
|
-
"available_bytes":
|
|
195
|
+
"available_bytes": 15580520448,
|
|
196
|
+
"available_gb": 14.51,
|
|
197
|
+
"available_mb": 14858.74,
|
|
196
198
|
"configured_speed_mhz": 5600,
|
|
199
|
+
"module_count": 2,
|
|
200
|
+
"modules": [
|
|
201
|
+
{
|
|
202
|
+
"capacity_bytes": 17179869184,
|
|
203
|
+
"capacity_gb": 16.0,
|
|
204
|
+
"capacity_mb": 16384.0,
|
|
205
|
+
"configured_speed_mhz": 5600,
|
|
206
|
+
"data_width_bits": 64,
|
|
207
|
+
"ram_type": "DDR5",
|
|
208
|
+
"speed_mhz": 5600,
|
|
209
|
+
"theoretical_bandwidth_gbps": 44.8,
|
|
210
|
+
"total_width_bits": 64
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"capacity_bytes": 17179869184,
|
|
214
|
+
"capacity_gb": 16.0,
|
|
215
|
+
"capacity_mb": 16384.0,
|
|
216
|
+
"configured_speed_mhz": 5600,
|
|
217
|
+
"data_width_bits": 64,
|
|
218
|
+
"ram_type": "DDR5",
|
|
219
|
+
"speed_mhz": 5600,
|
|
220
|
+
"theoretical_bandwidth_gbps": 44.8,
|
|
221
|
+
"total_width_bits": 64
|
|
222
|
+
}
|
|
223
|
+
],
|
|
197
224
|
"ram_type": "DDR5",
|
|
198
225
|
"speed_mhz": 5600,
|
|
199
226
|
"theoretical_bandwidth_gbps": 89.6,
|
|
200
|
-
"total_bytes": 34113015808
|
|
227
|
+
"total_bytes": 34113015808,
|
|
228
|
+
"total_gb": 31.77,
|
|
229
|
+
"total_mb": 32532.71
|
|
201
230
|
},
|
|
202
231
|
"gpus": [
|
|
203
232
|
{
|
|
@@ -226,8 +255,10 @@ WARNING:root:imports error
|
|
|
226
255
|
"driver_provider": "NVIDIA",
|
|
227
256
|
"driver_version": "595.97",
|
|
228
257
|
"lane_width": "x4",
|
|
229
|
-
"link_generation": "
|
|
258
|
+
"link_generation": "Gen2",
|
|
230
259
|
"manufacturer": "NVIDIA",
|
|
260
|
+
"max_lane_width": "x16",
|
|
261
|
+
"max_link_generation": "Gen4",
|
|
231
262
|
"memory_total_bytes": 25769803776,
|
|
232
263
|
"name": "NVIDIA GeForce RTX 3090",
|
|
233
264
|
"revision": "0xa1",
|
|
@@ -237,6 +268,17 @@ WARNING:root:imports error
|
|
|
237
268
|
"vendor_id": "0x10de"
|
|
238
269
|
}
|
|
239
270
|
],
|
|
271
|
+
"motherboard": {
|
|
272
|
+
"chipset": "INTEL Intel(R) SMBus - 7A23",
|
|
273
|
+
"manufacturer": "Micro-Star International Co., Ltd.",
|
|
274
|
+
"model_name": "MAG B760 TOMAHAWK WIFI (MS-7D96)",
|
|
275
|
+
"pcie": {
|
|
276
|
+
"max_lane_width": "x16",
|
|
277
|
+
"max_link_generation": "Gen4",
|
|
278
|
+
"max_link_speed": "16.0 GT/s PCIe"
|
|
279
|
+
},
|
|
280
|
+
"version": "2.0"
|
|
281
|
+
},
|
|
240
282
|
"npus": [
|
|
241
283
|
{
|
|
242
284
|
"class": "0x078000",
|
|
@@ -250,6 +292,8 @@ WARNING:root:imports error
|
|
|
250
292
|
"lane_width": "x8",
|
|
251
293
|
"link_generation": "Gen4",
|
|
252
294
|
"manufacturer": "MOBILINT, Inc.",
|
|
295
|
+
"max_lane_width": "x8",
|
|
296
|
+
"max_link_generation": "Gen4",
|
|
253
297
|
"max_link_speed": "16.0 GT/s PCIe",
|
|
254
298
|
"max_link_width": "8",
|
|
255
299
|
"name": "MOBILINT NPU Accelerator",
|
|
@@ -307,14 +351,16 @@ WARNING:root:imports error
|
|
|
307
351
|
"hardware": {
|
|
308
352
|
"cpu": {
|
|
309
353
|
"architecture": "x86_64",
|
|
310
|
-
"logical_cores": 96,
|
|
311
354
|
"model_name": "INTEL(R) XEON(R) GOLD 6542Y",
|
|
312
|
-
"physical_cores": 48,
|
|
313
355
|
"vendor": "GenuineIntel"
|
|
314
356
|
},
|
|
315
357
|
"dram": {
|
|
316
|
-
"available_bytes":
|
|
317
|
-
"
|
|
358
|
+
"available_bytes": 322689507328,
|
|
359
|
+
"available_gb": 300.53,
|
|
360
|
+
"available_mb": 307740.7,
|
|
361
|
+
"total_bytes": 405389791232,
|
|
362
|
+
"total_gb": 377.55,
|
|
363
|
+
"total_mb": 386609.83
|
|
318
364
|
},
|
|
319
365
|
"gpus": [
|
|
320
366
|
{
|
|
@@ -337,6 +383,8 @@ WARNING:root:imports error
|
|
|
337
383
|
"lane_width": "x16",
|
|
338
384
|
"link_generation": "Gen1",
|
|
339
385
|
"manufacturer": "NVIDIA Corporation",
|
|
386
|
+
"max_lane_width": "x16",
|
|
387
|
+
"max_link_generation": "Gen5",
|
|
340
388
|
"memory_total_bytes": 102641958912,
|
|
341
389
|
"name": "NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
|
|
342
390
|
"revision": "0xa1",
|
|
@@ -351,8 +399,10 @@ WARNING:root:imports error
|
|
|
351
399
|
"device_id": "0x2bb1",
|
|
352
400
|
"driver_version": "580.95.05",
|
|
353
401
|
"lane_width": "x16",
|
|
354
|
-
"link_generation": "
|
|
402
|
+
"link_generation": "Gen1",
|
|
355
403
|
"manufacturer": "NVIDIA Corporation",
|
|
404
|
+
"max_lane_width": "x16",
|
|
405
|
+
"max_link_generation": "Gen5",
|
|
356
406
|
"memory_total_bytes": 102641958912,
|
|
357
407
|
"name": "NVIDIA RTX PRO 6000 Blackwell Workstation Edition",
|
|
358
408
|
"revision": "0xa1",
|
|
@@ -361,6 +411,17 @@ WARNING:root:imports error
|
|
|
361
411
|
"vendor_id": "0x10de"
|
|
362
412
|
}
|
|
363
413
|
],
|
|
414
|
+
"motherboard": {
|
|
415
|
+
"chipset": "ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge",
|
|
416
|
+
"manufacturer": "Supermicro",
|
|
417
|
+
"model_name": "X13DEG-QT",
|
|
418
|
+
"pcie": {
|
|
419
|
+
"max_lane_width": "x16",
|
|
420
|
+
"max_link_generation": "Gen5",
|
|
421
|
+
"max_link_speed": "32.0 GT/s PCIe"
|
|
422
|
+
},
|
|
423
|
+
"version": "1.10"
|
|
424
|
+
},
|
|
364
425
|
"npus": [
|
|
365
426
|
{
|
|
366
427
|
"board_name": "aries0",
|
|
@@ -378,6 +439,8 @@ WARNING:root:imports error
|
|
|
378
439
|
"lane_width": "8",
|
|
379
440
|
"link_generation": "4",
|
|
380
441
|
"manufacturer": "Mobilint, Inc.",
|
|
442
|
+
"max_lane_width": "x8",
|
|
443
|
+
"max_link_generation": "Gen4",
|
|
381
444
|
"max_link_speed": "16.0 GT/s PCIe",
|
|
382
445
|
"max_link_width": "8",
|
|
383
446
|
"memory_total_bytes": 17179869184,
|
|
@@ -441,14 +504,27 @@ Warning: NVML not available. GPU information will not be collected.
|
|
|
441
504
|
"hardware": {
|
|
442
505
|
"cpu": {
|
|
443
506
|
"architecture": "x86_64",
|
|
444
|
-
"
|
|
445
|
-
"model_name": "11th Gen Intel(R) Core(TM) i7-11700K @ 3.60GHz",
|
|
446
|
-
"physical_cores": 8,
|
|
507
|
+
"model_name": "13th Gen Intel(R) Core(TM) i5-13600K",
|
|
447
508
|
"vendor": "GenuineIntel"
|
|
448
509
|
},
|
|
449
510
|
"dram": {
|
|
450
|
-
"available_bytes":
|
|
451
|
-
"
|
|
511
|
+
"available_bytes": 27281420288,
|
|
512
|
+
"available_gb": 25.41,
|
|
513
|
+
"available_mb": 26017.59,
|
|
514
|
+
"total_bytes": 33379606528,
|
|
515
|
+
"total_gb": 31.09,
|
|
516
|
+
"total_mb": 31833.27
|
|
517
|
+
},
|
|
518
|
+
"motherboard": {
|
|
519
|
+
"chipset": "Intel Corporation Raptor Lake PCI Express Root Port #25",
|
|
520
|
+
"manufacturer": "ASUSTeK COMPUTER INC.",
|
|
521
|
+
"model_name": "ROG STRIX B760-I GAMING WIFI",
|
|
522
|
+
"pcie": {
|
|
523
|
+
"max_lane_width": "x16",
|
|
524
|
+
"max_link_generation": "Gen5",
|
|
525
|
+
"max_link_speed": "32.0 GT/s PCIe"
|
|
526
|
+
},
|
|
527
|
+
"version": "Rev 1.xx"
|
|
452
528
|
},
|
|
453
529
|
"npus": [
|
|
454
530
|
{
|
|
@@ -466,11 +542,13 @@ Warning: NVML not available. GPU information will not be collected.
|
|
|
466
542
|
},
|
|
467
543
|
"lane_width": "8",
|
|
468
544
|
"link_generation": "4",
|
|
469
|
-
"manufacturer": "
|
|
545
|
+
"manufacturer": "MOBILINT, Inc.",
|
|
546
|
+
"max_lane_width": "x8",
|
|
547
|
+
"max_link_generation": "Gen4",
|
|
470
548
|
"max_link_speed": "16.0 GT/s PCIe",
|
|
471
549
|
"max_link_width": "8",
|
|
472
550
|
"memory_total_bytes": 17179869184,
|
|
473
|
-
"name": "
|
|
551
|
+
"name": "MOBILINT NPU Accelerator",
|
|
474
552
|
"product": "Aries",
|
|
475
553
|
"revision": "0x2",
|
|
476
554
|
"subsystem_device_id": "0x108B",
|
|
@@ -492,11 +570,13 @@ Warning: NVML not available. GPU information will not be collected.
|
|
|
492
570
|
},
|
|
493
571
|
"lane_width": "8",
|
|
494
572
|
"link_generation": "4",
|
|
495
|
-
"manufacturer": "
|
|
573
|
+
"manufacturer": "MOBILINT, Inc.",
|
|
574
|
+
"max_lane_width": "x8",
|
|
575
|
+
"max_link_generation": "Gen4",
|
|
496
576
|
"max_link_speed": "16.0 GT/s PCIe",
|
|
497
577
|
"max_link_width": "8",
|
|
498
578
|
"memory_total_bytes": 17179869184,
|
|
499
|
-
"name": "
|
|
579
|
+
"name": "MOBILINT NPU Accelerator",
|
|
500
580
|
"product": "Aries",
|
|
501
581
|
"revision": "0x2",
|
|
502
582
|
"subsystem_device_id": "0x108B",
|
|
@@ -518,11 +598,13 @@ Warning: NVML not available. GPU information will not be collected.
|
|
|
518
598
|
},
|
|
519
599
|
"lane_width": "8",
|
|
520
600
|
"link_generation": "4",
|
|
521
|
-
"manufacturer": "
|
|
601
|
+
"manufacturer": "MOBILINT, Inc.",
|
|
602
|
+
"max_lane_width": "x8",
|
|
603
|
+
"max_link_generation": "Gen4",
|
|
522
604
|
"max_link_speed": "16.0 GT/s PCIe",
|
|
523
605
|
"max_link_width": "8",
|
|
524
606
|
"memory_total_bytes": 17179869184,
|
|
525
|
-
"name": "
|
|
607
|
+
"name": "MOBILINT NPU Accelerator",
|
|
526
608
|
"product": "Aries",
|
|
527
609
|
"revision": "0x2",
|
|
528
610
|
"subsystem_device_id": "0x108B",
|
|
@@ -544,11 +626,13 @@ Warning: NVML not available. GPU information will not be collected.
|
|
|
544
626
|
},
|
|
545
627
|
"lane_width": "8",
|
|
546
628
|
"link_generation": "4",
|
|
547
|
-
"manufacturer": "
|
|
629
|
+
"manufacturer": "MOBILINT, Inc.",
|
|
630
|
+
"max_lane_width": "x8",
|
|
631
|
+
"max_link_generation": "Gen4",
|
|
548
632
|
"max_link_speed": "16.0 GT/s PCIe",
|
|
549
633
|
"max_link_width": "8",
|
|
550
634
|
"memory_total_bytes": 17179869184,
|
|
551
|
-
"name": "
|
|
635
|
+
"name": "MOBILINT NPU Accelerator",
|
|
552
636
|
"product": "Aries",
|
|
553
637
|
"revision": "0x2",
|
|
554
638
|
"subsystem_device_id": "0x108B",
|
|
@@ -573,9 +657,9 @@ Warning: NVML not available. GPU information will not be collected.
|
|
|
573
657
|
},
|
|
574
658
|
"npu_driver_version": "1.12.0",
|
|
575
659
|
"os": {
|
|
576
|
-
"kernel_version": "6.17.0-
|
|
660
|
+
"kernel_version": "6.17.0-23-generic",
|
|
577
661
|
"name": "Linux",
|
|
578
|
-
"version": "Ubuntu 24.04.
|
|
662
|
+
"version": "Ubuntu 24.04.4 LTS"
|
|
579
663
|
},
|
|
580
664
|
"qbcompiler": {
|
|
581
665
|
"version": "not_installed"
|
|
@@ -597,7 +681,7 @@ Warning: NVML not available. GPU information will not be collected.
|
|
|
597
681
|
| **Utilization (%)** | ✅ (`psutil`) | N/A | ✅ (NVML) | ✅ (`mobilint-cli`) |
|
|
598
682
|
| **Memory (MB/%)** | ✅ (`psutil`) | N/A | ✅ (NVML) | ✅ (`mobilint-cli`) |
|
|
599
683
|
| **Temperature (C)** | ✅ (`psutil`) | N/A | ✅ (NVML) | ✅ (`mobilint-cli`) |
|
|
600
|
-
| **Static Info** | ✅ Host/OS/DRAM | ✅ Host/OS/DRAM | ✅ NVML + PCIe | ✅ PCIe + `mobilint-cli` |
|
|
684
|
+
| **Static Info** | ✅ Host/OS/DRAM/Motherboard | ✅ Host/OS/DRAM/Motherboard | ✅ NVML + PCIe | ✅ PCIe + `mobilint-cli` |
|
|
601
685
|
| **Per-Device Stats** | ✅ (Sockets) | ✅ (Sockets) | ✅ (GPU Indices) | ✅ (Logical NPU Cards) |
|
|
602
686
|
|
|
603
687
|
---
|
|
@@ -618,7 +702,7 @@ Uses **pyRAPL** for power measurements and **psutil** for utilization/memory.
|
|
|
618
702
|
|
|
619
703
|
- **Features**: Tracks total system CPU usage or specific indices (e.g., `CPUDeviceTracker(cpu_id=[0, 1])`).
|
|
620
704
|
- **Temperature**: Uses `psutil.sensors_temperatures()` when the platform exposes CPU thermal sensors.
|
|
621
|
-
- **Static Info**: Reports CPU architecture, model, vendor,
|
|
705
|
+
- **Static Info**: Reports CPU architecture, model, vendor, DRAM capacity/type/speed, motherboard metadata, OS details, and CPU power policy when available.
|
|
622
706
|
|
|
623
707
|
### NVIDIA GPU
|
|
624
708
|
|
|
@@ -627,7 +711,7 @@ Uses **NVML** (via `nvidia-ml-py`) for high-fidelity hardware monitoring.
|
|
|
627
711
|
- **Features**: Tracks total system GPU usage or specific indices (e.g., `GPUDeviceTracker(gpu_id=[0, 1])`).
|
|
628
712
|
- **Dependencies**: Requires NVIDIA Drivers and NVML library installed.
|
|
629
713
|
- **Temperature**: Reads on-die GPU temperature through NVML.
|
|
630
|
-
- **Static Info**: `GPUDeviceTracker.get_static_info()` reports the detected GPU count, tracked device names, NVIDIA driver version, and the raw NVML CUDA driver version. The `mblt-tracker collect` CLI provides richer NVML-discovered GPU metadata
|
|
714
|
+
- **Static Info**: `GPUDeviceTracker.get_static_info()` reports the detected GPU count, tracked device names, NVIDIA driver version, and the raw NVML CUDA driver version. The `mblt-tracker collect` CLI provides richer NVML-discovered GPU metadata; for NVIDIA GPUs, PCIe link generation/width fields come from NVML, while OS PCIe discovery may add non-link identifiers and descriptive metadata.
|
|
631
715
|
|
|
632
716
|
### Host DRAM
|
|
633
717
|
|
|
@@ -638,7 +722,7 @@ Uses the **Intel RAPL DRAM domain** through `pyRAPL` for host DRAM power measure
|
|
|
638
722
|
- **Features**: Tracks all detected CPU socket DRAM domains by default, or specific socket IDs with `DRAMDeviceTracker(socket_id=0)` / `DRAMDeviceTracker(socket_id=[0, 1])`.
|
|
639
723
|
- **Metrics**: Reports total host DRAM power through standard keys (`avg_power_w`, `p99_power_w`, `max_power_w`) and DRAM-specific aliases (`avg_dram_power_w`, `p99_dram_power_w`, `max_dram_power_w`). Per-socket statistics are returned under `metrics["dram"]`.
|
|
640
724
|
- **Trace**: `DRAMDeviceTracker.get_trace()` returns total host DRAM power as `list[(timestamp, power_w)]`.
|
|
641
|
-
- **Static Info**: `DRAMDeviceTracker.get_static_info()` returns the same privacy-first host CPU, aggregate DRAM capacity, and OS metadata as host static collection. Individual DIMM identifiers are not
|
|
725
|
+
- **Static Info**: `DRAMDeviceTracker.get_static_info()` returns the same privacy-first host CPU, aggregate DRAM capacity with MB/GB display units, optional DIMM capacity/type/speed summaries, motherboard metadata, and OS metadata as host static collection. Individual DIMM identifiers are not exposed.
|
|
642
726
|
|
|
643
727
|
### Mobilint NPU
|
|
644
728
|
|
|
@@ -725,13 +809,15 @@ Static information is collected on a best-effort, privacy-first basis and may va
|
|
|
725
809
|
|
|
726
810
|
Typical fields include:
|
|
727
811
|
|
|
728
|
-
- `hardware.cpu`: CPU architecture, model name, vendor
|
|
729
|
-
- `hardware.dram`: total and available memory in bytes
|
|
812
|
+
- `hardware.cpu`: CPU architecture, model name, and vendor
|
|
813
|
+
- `hardware.dram`: total and available memory in bytes plus `total_mb`, `total_gb`, `available_mb`, and `available_gb`; optional privacy-safe aggregate fields include `ram_type`, `speed_mhz`, `configured_speed_mhz`, `module_count`, `modules`, and `theoretical_bandwidth_gbps` when available. Per-module entries may include `capacity_bytes`, `capacity_mb`, `capacity_gb`, DDR type, speed, width, and estimated bandwidth. Individual DIMM serial numbers, part numbers, and PCIe/device instance identifiers are not exposed.
|
|
814
|
+
- `hardware.motherboard`: optional baseboard `manufacturer`, `model_name`, `version`, best-effort `chipset`, and `pcie` support/capability summary. Motherboard serial numbers, asset tags, PCI bus addresses, and Windows instance IDs are not exposed.
|
|
815
|
+
- `hardware.motherboard.pcie`: optional maximum PCIe generation/speed/lane-width summary.
|
|
730
816
|
- `inference.os`: OS name, version, and kernel version
|
|
731
817
|
- `inference.cpu`: OS-independent CPU power policy object. Linux fills `governor`; Windows fills `power_plan`, `min_processor_state_pct`, and `max_processor_state_pct`. Unavailable OS-specific attributes are kept as `null`.
|
|
732
818
|
- `hardware.gpu`: `GPUDeviceTracker.get_static_info()` output with `device_count` and a `devices` list containing tracked GPU indices and names
|
|
733
|
-
- `hardware.gpus`: `mblt-tracker collect` output containing NVML-discovered NVIDIA GPU devices
|
|
734
|
-
- `hardware.npus`: Mobilint PCIe devices, including vendor/device IDs, link information, and firmware metadata where available. Private PCIe instance identifiers such as `bus_address` and `pnp_device_id` are omitted from public output.
|
|
819
|
+
- `hardware.gpus`: `mblt-tracker collect` output containing NVML-discovered NVIDIA GPU devices. For NVIDIA GPUs, current and maximum PCIe link generation/width fields are sourced from NVML; OS PCIe discovery may add non-link fields such as vendor/device IDs and descriptive metadata where available. Private PCIe instance identifiers such as `bus_address` and `pnp_device_id` are omitted from public output.
|
|
820
|
+
- `hardware.npus`: Mobilint PCIe devices, including vendor/device IDs, current/maximum link information, and firmware metadata where available. Private PCIe instance identifiers such as `bus_address` and `pnp_device_id` are omitted from public output.
|
|
735
821
|
- `hardware.npus[].card_model`: best-effort Mobilint card model classification such as `MLA100` or `MLA400` when `mobilint-cli status -q` exposes enough information
|
|
736
822
|
- `hardware.npus[].card_id`: logical NPU card ID used by `NPUDeviceTracker(npu_id=...)`; MLA400 Aries chips share the same card ID
|
|
737
823
|
- `inference.gpu`: NVIDIA driver and CUDA driver versions. The CLI normalizes the CUDA driver version as a string such as `"13.0"`; `GPUDeviceTracker.get_static_info()` returns the raw NVML CUDA driver integer.
|