arithmetic intensity
**Arithmetic intensity** is the **ratio of floating-point operations to bytes moved from memory** - it indicates whether workload performance is likely limited by compute capacity or memory bandwidth.
**What Is Arithmetic intensity?**
- **Definition**: FLOPs per byte metric used in roofline-style performance analysis.
- **Interpretation**: Low intensity suggests memory-bound behavior, while high intensity tends toward compute-bound.
- **Workload Examples**: Elementwise transforms are often low intensity, dense GEMM is typically high intensity.
- **Optimization Link**: Fusion and tiling can increase intensity by improving data reuse.
**Why Arithmetic intensity Matters**
- **Bottleneck Prediction**: Intensity quickly signals which hardware limit dominates runtime.
- **Kernel Design**: Guides whether to prioritize memory-access optimization or arithmetic throughput.
- **Performance Modeling**: Enables roofline comparisons against theoretical hardware ceilings.
- **Resource Planning**: Helps match workloads to hardware classes with appropriate bandwidth or compute ratio.
- **Optimization Prioritization**: Avoids wasted effort on compute tuning when memory movement is the real constraint.
**How It Is Used in Practice**
- **Metric Estimation**: Compute approximate FLOPs and byte traffic for major kernels.
- **Roofline Placement**: Plot kernels on roofline to identify memory- or compute-bound regions.
- **Improvement Actions**: Increase data reuse and fuse operations to shift low-intensity kernels upward.
Arithmetic intensity is **a powerful diagnostic metric for performance strategy** - understanding work-per-byte ratio is essential for choosing the right optimization path.