ConnectX Power through DCGM
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 12/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- cpp
- Domain
- observability
Research direction
Start by reading DCGM’s field reference and the existing ConnectX monitoring path to see whether a NIC power field already exists, then trace how exporter fields are defined and exposed. Check DOCA Telemetry PHY capability per device and prototype with doca_telemetry_phy --pci-addr <BDF> --get-system-temp-and-power-info to confirm whether the reported watts are board input power. Done means DCGM exposes a documented ConnectX power sample with units, capability gating, and a test or exporter example; the issue names no source files, so ask maintainers for the intended field/API entry point.
Written by the indexing model from the issue text.
Description
Human
Currently DCGM exporter provides gpu power, grace power, but for NVIDIA ConnectX NIC power, i would need to use an publicly avialable doca_telemetry_phy CLI. It is an poor user experience. In comparsion, AMD DCGM-exporter equivalent is adding AMD NIC power as an first class primtive to their exporter https://github.com/ROCm/device-metrics-exporter/issues/714
Can this be implemented into dcgm such that we can get the sampling of ConnectX NIC power? Can the ETA be provided for this feature?
+viz @Ankur-singh
AI deep research slop
Yes: NVIDIA documents a ConnectX power-sensor API and CLI sample through DOCA Telemetry PHY. The documented output is watts plus a sensor name, but support must be checked per device, and the documentation does not establish that every card reports total board input power including optics ([NVIDIA guide](https://networking-docs.nvidia.com/doca/archive/3-5-0/doca-telemetry-phy)). DCGM has ConnectX monitoring, but no documented ConnectX power or energy field ([DCGM field reference](https://docs.nvidia.com/datacenter/dcgm/latest/dcgm-api/dcgm-api-field-ids.html)).The NVIDIA command to tryDOCA 3.5 includes the doca_telemetry_phy sample with --get-system-temp-and-power-info; this option is absent from the inspected 3.4 guide ([3.5 documentation](https://networking-docs.nvidia.com/doca/archive/3-5-0/doca-telemetry-phy), [3.4 documentation](https://networking-docs.nvidia.com/doca/archive/3-4-0/doca-telemetry-phy)). After building the sample, substitute the actual NIC BDF:sudo /tmp/doca-telemetry-phy-build/doca_telemetry_phy \
--pci-addr 0000:03:00.0 \
--get-system-temp-and-power-info
The documented interface provides:
power: sensor reading in watts.
power_sensor_name: identifies the power sensor.
Temperature and historical maximum temperature ([API structure](https://docs.nvidia.com/doca/api/3-5-0/doca-libraries-api/annotated.html)).
NVIDIA lists fwctl and firmware baselines of 28.43.1000 for CX7, 32.43.1000 for BF3, and 40.43.1000 for CX8; these are library prerequisites, not a guarantee of power-sensor support, which has a separate capability check ([prerequisites and capability API](https://networking-docs.nvidia.com/doca/archive/3-5-0/doca-telemetry-phy)). The full build commands are in the attached research.Important traps
MPEIN.pci_power is slot-power capability, not measured consumption. Linux uses it to print “PCIe slot advertised sufficient power,” so collecting that value as NIC watts would be wrong ([Linux implementation](https://github.com/torvalds/linux/blob/ac9c34d1e45a4c25174ced4fc0cfc33ff3ed08c7/drivers/net/ethernet/mellanox/mlx5/core/events.c)).
mlxlink -m does not establish board electrical power. Its documented readings include RX/TX optical power in dBm, laser bias current, and maximum module power class ([MFT documentation](https://docs.nvidia.com/networking/display/mftv4320/mlxlink+utility)).
DOCA library support does not mean an exporter already exposes it. The DTS 3.5 PHY provider is documented as transceiver-temperature-only, while its separate BlueField bf_ptm provider has power counters ([DTS guide](https://networking-docs.nvidia.com/doca/archive/3-5-0/doca-telemetry-service-guide)).
Firmware provenance matters. CX8 firmware history includes a fix adding a “fixed estimated power value for Hvdd”; that does not prove this API includes the estimate, but it warrants asking NVIDIA which rails are measured versus estimated ([firmware history](https://networking-docs.nvidia.com/connectx8fwrn/40.49.1014/bug-fixes-history)).
- Dominant language
- C++
- Stars
- 813
- Forks
- 115
- Avg merge
- 6d 10h
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NVIDIA/DCGM
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
dcgmi InstallCtrlHandler unhandled returnMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Similar issues
-
status:needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
PX4/PX4-Autopilot#29698 ·
Maintainers usually reply within 1 day
-
go perft exits when EvalFile is unavailablePossibly taken @Muawiya-contact claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
official-stockfish/Stockfish#7292 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
arvidn/libtorrent#9149 ·
Maintainers usually reply within 1 day
-
Upstream report: MSVC rejects a designated initializer in a dependent template argument (C2131)Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
rhalbersma/tabula#72 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
esp8266/Arduino#9342 · 2 comments ·
Maintainers usually reply within 1 day