{
  "project": "ForgeLM",
  "experiment_date": "2026-08-05",
  "model": "Forge-220M",
  "device": "RTX 5090",
  "comparison": "Attention slot-loop cuBLAS versus strided-batched cuBLAS on the same host",
  "tokens_per_update": 32768,
  "physical_batch": 4,
  "gradient_accumulation": 8,
  "pairs": [
    {
      "order": "baseline then candidate",
      "measured_updates_each": 5,
      "baseline_tokens_per_second": 4717,
      "candidate_tokens_per_second": 5332
    },
    {
      "order": "candidate then baseline",
      "measured_updates_each": 10,
      "baseline_tokens_per_second": 5080,
      "candidate_tokens_per_second": 5409
    }
  ],
  "combined_measured_tokens_over_time": {
    "baseline_tokens_per_second": 4953,
    "candidate_tokens_per_second": 5383,
    "gain_percent": 8.7
  },
  "source": "ForgeLM docs/cuda-performance-plan.md, RTX 5090 strided-batched attention promotion",
  "limits": "Saved synthetic training benchmark; not rerun for this publication. Combined rates use measured tokens/time, not an arithmetic average of the pair rates."
}
