Skip to main content
VLSI Korea

ARCHITECTURE

Performance Architecture: Roofline and Memory Budget

Turn workload counts and data movement into a bounded performance target before choosing pipelines or memory structures. This is generic guidance, not a description of any commercial chip’s undisclosed implementation.

Inputs

  • Representative workloads and service-level targets
  • Operation mix, tensor/packet shapes, and reuse opportunities
  • Candidate compute rate and bandwidth/latency budgets per memory level

Method

  • Count useful operations and bytes at each boundary; define arithmetic intensity as ops/bytes for each workload phase.
  • Set an optimistic ceiling min(compute peak, intensity × sustained bandwidth), then record assumptions separately from measured values.
  • Trace data lifetime from external memory through shared buffers to registers; budget capacity, ports, and refill time for every reuse claim.
  • For bandwidth-bound phases, improve locality, layout, batching, or compression before adding arithmetic units; reassess the byte count.
  • For compute-bound phases, inspect utilization losses from dependencies, imbalance, precision, and control overhead; prototype the highest-risk assumption.

Deliverables

  • Workload-to-roofline table with stated ceilings
  • Memory traffic and reuse ledger by hierarchy level
  • Architecture decision log with sensitivity ranges

Pitfalls

  • Treating peak bandwidth as sustained bandwidth or counting cache hits as free.
  • Optimizing a kernel-level ceiling while ignoring queueing, transfers, or end-to-end latency.

Sources

Accelerating HPC Applications with NVIDIA Nsight Compute Roofline Analysis
NVIDIA Developer · Introducing hierarchical roofline analysis