Repository navigation
Pin mlc_default power values to Appendix D - #122
Closed
arav-agarwal2 wants to merge 1 commit into
Closed
arav-agarwal2 wants to merge 1 commit into
arav-agarwal2 wants to merge 1 commit into
Conversation
A system_power.json value sourced as mlc_default was trusted at whatever it stated, citing any Appendix D subsection. E.1 makes a default its own reference, so hold it to the figure Appendix D gives: the subsection must be the one defining the field (D.1 scale-up, D.2 CPU, D.3 accelerator, D.4 scale-out switches and NICs), and the value must equal that table's entry for the model (and cabling). Fields with no Appendix D default, and unlisted models, cannot be mlc_default. Misquotes reject where they reach the total and warn in a cross-check block under a declared figure (E.6.2). Closes gap-analysis item B2. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅ |
Collaborator
Author
|
Review: Generally ok, but it's not a high priority as rules come in. Merge after rules get clearer. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A
system_power.jsonvalue withsource_type: mlc_defaultused to be trusted at whatever number it stated, and anyD.1–D.4was accepted for any field. For example, a B300 at{value_w: 500, source: D.3}passed. Appendix E.1 makes a default "its own reference", so it now has to be the Appendix D figure:tdp_per_switch,energy_per_bit_pj), D.2 forcpu.tdp_per_unit, D.3 foraccelerator.tdp_per_unit, and D.4 for scale-outpower_per_switchandtdp_per_nic.published_power,combined_cpu_acceleratoranddeclared_provisioned_power. Appendix D also lists no figure for some models (an unlisted accelerator, ARM above 128 cores, an SN4700 with active optical cabling). None of these can bemlc_default.A misquoted default is a rejection where it reaches
provisioned_power_kw. Under a governingdeclared_provisioned_powerthe component block is only a cross-check (E.1, E.6.2), so there it is a warning. Descriptors whose declared figure governs are not broken.The table stays in one place,
src/submission_checker/power_defaults.py. That module already held the D.2/D.3/D.4 values used for auto-population. It now also hasSUBSECTIONS, which maps each field to its subsection, plus the D.1 constants andcpu_default_candidates. Messages are inmessages.yaml, and the README describes the behaviour.Ambiguities resolved
declared_tdpdoes not carry that bandwidth, so a D.1tdp_per_switchis checked by subsection only and gets a warning.energy_per_bit_pjmust be 5 pJ/bit, the only energy-per-bit figure D.1 states. An Ethernet-derived pJ/bit is not a stated D.1 value, and the Ethernet point belongs on thedeclared_tdppath.system_desc.jsongives no core count. Then a value equal to one of the D.2 figures still open gets a warning, and any other value is rejected.value_kwis converted to watts. Appendix D gives no tolerance, so values are compared exactly, allowing only for float noise.No valid fixtures use
mlc_default, so nothing needed regenerating.Closes gap-analysis item B2.
🤖 Generated with Claude Code