StrongScalingPairScenario
Statistics scenarios · Implementation: mlsysim/engine/scenario_definitions/statistics.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
The same fixed job on base_devices and on scaled_devices: speedup, ideal time, and efficiency.
Strong-scaling efficiency is base time over (device ratio times scaled time).
Notes
Equation: The calculation members below define device_ratio, speedup, ideal_time, efficiency.
Assumptions: Both durations describe the same fixed job; ideal scaling divides time by device-count growth.
Excludes: Weak scaling, changed accuracy targets, and attribution of overhead to specific mechanisms.
References
Derivation: The same fixed job on base_devices and on scaled_devices: speedup, ideal time, and efficiency. 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.ImageClassifierEightGpuScaling
>>> value = case.efficiency
>>> print(f"{value:.3g}")
0.75Attributes
| Name | Description |
|---|---|
| base_devices | |
| base_time | |
| device_ratio | Scaled device count divided by baseline count, dimensionless. |
| efficiency | Observed speedup divided by device-count growth, dimensionless. |
| ideal_time | Ideal scaled duration in baseline-time units, assuming linear speedup. |
| scaled_devices | |
| scaled_time | |
| speedup | Baseline elapsed time divided by scaled elapsed time for the fixed job. |
base_devices
Type: int.
Declared default: required.
base_time
Type: Quantity.
Declared default: required.
scaled_devices
Type: int.
Declared default: required.
scaled_time
Type: Quantity.
Declared default: required.
device_ratio
engine.scenario_types.StrongScalingPairScenario.device_ratio
Scaled device count divided by baseline count, dimensionless.
Equation: scaled_devices / base_devices.
speedup
engine.scenario_types.StrongScalingPairScenario.speedup
Baseline elapsed time divided by scaled elapsed time for the fixed job.
Equation: (base_time / scaled_time).to('').magnitude.
ideal_time
engine.scenario_types.StrongScalingPairScenario.ideal_time
Ideal scaled duration in baseline-time units, assuming linear speedup.
Equation: (base_time / device_ratio).to(base_time.units).
efficiency
engine.scenario_types.StrongScalingPairScenario.efficiency
Observed speedup divided by device-count growth, dimensionless.
Equation: speedup / device_ratio.