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.

Take arithmetic intensity further

Ask the copilot about this term, or have our engineers assess it against your process.