Technical blog post
The technical post must connect architecture, lowering pipeline, measured numbers, and threats to validity.
The argument, in order
The post is not a diary of the pipeline. It makes one argument: this lowering, on this rig, produced this measured change, and here is why you should believe it. The architecture section says what RVV gives you and what the QEMU rig does not. The pipeline section shows the passes and flags that turn linalg into RVV, with one IR snippet at the point where the interesting decision happens. The numbers section is the table, with bands and the estimator named. The threats section lists the alternative explanations and the evidence against each.
1. problem and baseline scalar matmul, <median> GFLOP/s
2. what changed tiling, LMUL, epilogue fusion
3. what happened <speedup>x, bands, same session
4. why roofline dot, ablation
5. what remains next lever, expected gain
6. threats emulation, one host, f32, tolerance
Every number in the post links to results/<commit>.tsv and to the command that produced it. If a figure cannot be regenerated from the artifact, it does not go in.
Threats are specific
“Results may vary” is not a threats section. A useful one says: the numbers come from QEMU user-mode, so they describe instruction throughput under TCG and not a silicon RVV core; the host is one machine, so absolute rates do not transfer; only f32 was measured, so the f16 story is untested; and the reference tolerance is <tol>, which would hide an error smaller than that. Each sentence names what would falsify the claim.
For the prose, the useful rules are old ones: one claim per paragraph, figures that can be read without the caption, and no adjective doing the work of a number. Confirm the URLs you cite before publishing; documentation links in this space move.
Things that break
A chart without the rig line is unreproducible. A pipeline description without the flags is a story. And a post that reports the best run instead of the session median undoes every protocol the benchmark nodes established.
Sources
- How to Write a Great Research Paperblog
- Ten Simple Rules for Better Figurespaper
- Active benchmarkingblog
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 must every number in the post link to?
What belongs in a threats-to-validity section?
Which order carries the argument?