Skip to main content

AcceleratorGenerationsScenario

Optimization scenarios · Implementation: mlsysim/engine/scenario_definitions/optimization.py.

Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.

Peak compute against memory bandwidth across accelerators, first to last.

The ridge point of each is its peak over its bandwidth; the gap growth is how far the ridge rose from the first to the last.

Notes

Equation: The calculation members below define ridges, compute_growth, bandwidth_growth, gap_growth.

Assumptions: Input order defines the first and last generations; compute and bandwidth are peak specifications.

Excludes: Sustained utilization, kernel dispatch, capacity, and workload-specific traffic.

References

Derivation: Peak compute against memory bandwidth across accelerators, first to last. Each member records the corresponding algebra or named physics function.

Examples

Evaluate the named configuration and display a modeled result.

>>> from mlsysim import Scenarios
>>> case = Scenarios.NvidiaGenerationsV100ToB200
>>> value = case.gap_growth
>>> print(f"{value:.3g}")
2.02

Attributes

Name Description
accelerators
bandwidth_growth Dimensionless last-to-first memory bandwidth growth.
compute_growth Dimensionless last-to-first peak compute growth for the ordered series.
gap_growth Compute growth divided by bandwidth growth, equal to ridge-point growth.
ridges Peak-compute-to-bandwidth ratios in FLOP/byte, one per accelerator.

accelerators

Type: List[HardwareNode].

Declared default: required.

ridges

engine.scenario_types.AcceleratorGenerationsScenario.ridges

Peak-compute-to-bandwidth ratios in FLOP/byte, one per accelerator.

Equation: [h.ridge_point().to('flop/byte').magnitude for h in accelerators].

compute_growth

engine.scenario_types.AcceleratorGenerationsScenario.compute_growth

Dimensionless last-to-first peak compute growth for the ordered series.

Equation: (b.compute.peak_flops / a.compute.peak_flops).to('').magnitude.

bandwidth_growth

engine.scenario_types.AcceleratorGenerationsScenario.bandwidth_growth

Dimensionless last-to-first memory bandwidth growth.

Equation: (b.memory.bandwidth / a.memory.bandwidth).to('').magnitude.

gap_growth

engine.scenario_types.AcceleratorGenerationsScenario.gap_growth

Compute growth divided by bandwidth growth, equal to ridge-point growth.

Equation: compute_growth / bandwidth_growth.

Back to top