Campaign Diagrams: Visualizing the March Through the Phases of a Workload

2026-07-16Performance

PerformanceHardware Architecture
AI summary

The authors created campaign diagrams, a new way to visualize how computer programs use resources over time. Unlike existing tools that either lose timing details or show too much confusing detail, their diagrams combine multiple important performance metrics in one picture. They tested these diagrams on two examples, finding surprising insights like how doing less work per data can actually make a program run faster. Their method helps spot optimization chances that other tools miss.

resource utilizationbottlenecksroofline modelprofilerscompute throughputmemory bandwidthoperational intensityGEMMkernel performancevisualization
Authors
Toluwanimi O. Odemuyiwa, John D. Owens, Michael Pellauer, Joel S. Emer
Abstract
We present campaign diagrams, a visualization technique for phase-level analysis of resource utilization and bottlenecks in modern workloads. Existing tools have a trade-off: rooflines aggregate a workload into a single point and lose all notion of time, while profilers and traces expose fine-grained events but obscure what bounds performance. Instead, a campaign diagram depicts compute throughput and memory bandwidth utilization, compute and memory traffic volume, and latency in a single figure. Since they can be generated from analytical models, simulations, or profiling data, campaign diagrams capture both ideal bounds and a kernel's achieved performance. We demonstrate them on two case studies: a low-rank GEMM, where they reveal the counterintuitive result that reducing operational intensity can improve end-to-end performance, and Mamba, where they expose fusion and pipelining opportunities across phases. In both cases, our visualization technique reveals optimization opportunities that are difficult to identify with rooflines or profilers alone.