system_desc.json¶
The hardware and software description of the system under test. One per Pareto point.
Not written by the reference client
You supply it and drop it into each run folder before upload. See step 5.
The checker verifies that every point of a curve describes the same system.
Fields and template¶
The fields, and what each one means, are defined in rules §8.2. There are two ways to produce the file:
- Capture it with
mlperf-sysinfo. It reads the machine under test and writessystem_desc.jsonusing itsendpointsprofile. How to install and run it is in its docs. - Copy the template in §8.2.1, which includes the nesting of
node_typesandaccelerator_info, and fill it in.
tps_utilization is computed
The checker recomputes it against your own curve (tps-utilization).
cooling sets your power overhead
The checker uses cooling to pick the overhead fraction for
system_power.json: 0.30 for liquid-cooled, 0.50 for air-cooled.
Leave it empty and power-descriptor fails.
No model_name here
The benchmark model name goes in point.yaml (§8.3). §8.2 no longer lists it, and
the checker ignores a model_name left in this file.
disaggregated is truncated upstream
The field definition in the source data dictionary is cut off mid-sentence and carries an upstream TODO to verify the full text with the dictionary owner. Confirm the intended semantics before relying on it.
Provisioned power is not in this file. It goes in a separate, per-system
system_power.json.
Last verified against: mlcommons/endpoints_policies@v1.0_rules_dev (d2d9da6) and
mlcommons/endpoints-submission-cli@main (a42a056, v1.1.0.0), 2026-10-02.