Phase 2, week 15retrospective

Next-lever analysis

The performance writeup must name the current bound, the evidence, and the next lever with its expected gain.


Four sentences the writeup owes

A performance section that can be acted on has a fixed shape: the current bound, the evidence for it, the next lever, and the gain that lever should produce. Each sentence carries a number or a named experiment.

bound:    <GFLOP/s> at 512, <speedup>x over scalar, spread <spread>
evidence: fusing the epilogue moved time by <percent>; traffic model says <GB/s>
lever:    raise MR from 2 to 4 accumulator rows at the same LMUL
gain:     predicted <speedup>x if register pressure does not spill; measure at 512 and 500

The predicted gain comes from a model with an assumption written down. If the lever removes a traffic term, the prediction is the ratio of bytes before and after at the measured bandwidth. If it raises reuse, the prediction is the new intensity against the ridge. In both cases the number is a prediction, labelled as one, and the next run either supports it or does not.

One lever, not a list

A list of possible optimisations is a way of not choosing. Rank by expected gain, probability of working, and cost, then commit to the top one. The writeup says what you will do next and what result would change your mind. That last part is what separates an analysis from a wish.

The bound also has a scope: shape, dtype, VLEN and rig. A bound measured at 512 says nothing about 64, and the dynamic work already showed that the classification can move with the shape. Write the scope beside the number.

Things that break

A lever with no number is a slogan. A predicted gain that assumes peak bandwidth is a best case presented as an expectation. And a bound carried over from before the last change is stale; re-measure it, because the next lever depends on where the kernel actually is now.

Sources

A version records the documentation the claim was checked against, not a house pin. Confirm flags with --help on the release you installed.

Check yourself

What makes an expected gain credible in a writeup?

Why commit to one next lever rather than a list?

The measured bound moved after a fix. What happens to the writeup?

0 / 3 correct

← back to the map