The Roof-line Model is a visual performance model that plots a processor's achievable throughput against the operational intensity of a kernel, defined as FLOPs per byte of DRAM traffic. It identifies whether a specific neural network workload is memory-bound or compute-bound on a given FPGA by comparing its intensity to the ridge point where the memory bandwidth ceiling and peak compute ceiling intersect.
Glossary
Roof-line Model

What is the Roof-line Model?
A visual performance model that plots computational throughput against operational intensity to identify whether a specific neural network workload on a given FPGA is limited by memory bandwidth or compute capacity.
For FPGA-based modulation classifiers, the model guides model compression decisions by revealing that layers with low operational intensity are constrained by off-chip memory bandwidth, making them prime candidates for operator fusion and weight pruning. Conversely, compute-bound layers benefit from quantization and systolic array mapping to maximize DSP slice utilization.
Key Characteristics of the Roof-line Model
The roof-line model provides a visual framework for understanding whether a neural network's inference on FPGA hardware is constrained by memory bandwidth or peak compute throughput. By plotting operational intensity against achievable performance, engineers can identify optimization targets for modulation classifiers.
Memory-Bound vs. Compute-Bound Regimes
The roof-line model divides performance into two distinct regimes separated by the ridge point:
- Memory-Bound (Left of Ridge): The workload's operational intensity is low. Performance is limited by how fast data can be fetched from off-chip DRAM. Optimizations should focus on reducing memory traffic through operator fusion, data packing, and quantization.
- Compute-Bound (Right of Ridge): The workload has sufficient data reuse to saturate memory bandwidth. Performance is limited by the peak floating-point or integer throughput of DSP slices and logic fabric. Optimizations target increased parallelism and pipelining.
The ridge point itself represents the minimum operational intensity required to achieve peak compute performance on a specific hardware platform.
Operational Intensity Calculation
Operational intensity is the ratio of total arithmetic operations to total bytes of data movement, measured in FLOPs/Byte or OPs/Byte:
- Formula:
Operational Intensity = Total Operations / Total DRAM Bytes Transferred - For a convolutional layer processing IQ samples, operations include all multiply-accumulate (MAC) computations across filters and input channels.
- Data movement includes reading input feature maps, filter weights, and writing output activations.
- Higher operational intensity indicates better data reuse. Techniques like depthwise separable convolution and batch normalization folding directly alter this ratio by reducing either operations or memory traffic.
- The x-axis of the roof-line plot represents this metric on a logarithmic scale.
Hardware Ceilings and Attainable Performance
The roof-line itself is defined by two hardware-imposed ceilings:
- Peak Memory Bandwidth (Sloped Roof): The maximum rate at which the FPGA's memory controller can transfer data from DRAM to the processing fabric. This creates a linear slope where
Attainable Performance = Operational Intensity × Peak Bandwidth. - Peak Compute Throughput (Flat Roof): The maximum number of operations the FPGA can execute per second, determined by the total available DSP slices, LUT-based multipliers, and clock frequency. This creates a horizontal ceiling.
- The actual performance of a modulation classifier kernel cannot exceed either bound.
- Integer-only inference and custom systolic array designs can raise the compute ceiling by maximizing DSP utilization per clock cycle.
Applying Roof-line to Quantized RF Classifiers
Model compression techniques directly shift a workload's position on the roof-line plot:
- Post-Training Quantization (PTQ) from FP32 to INT8 reduces data movement by 4×, increasing operational intensity and potentially moving a memory-bound classifier closer to the ridge point.
- Weight pruning removes redundant MAC operations, shifting the workload leftward on the x-axis but also reducing total operations on the y-axis. The net effect depends on whether the sparsity pattern enables reduced memory traffic.
- Operator fusion combines convolution, bias, and activation layers into a single kernel, eliminating intermediate memory transactions and increasing effective operational intensity.
- Hardware-aware NAS can search for architectures that sit precisely at the ridge point, achieving optimal balance between compute utilization and bandwidth efficiency for a specific FPGA target.
Ceiling Improvements via FPGA Optimizations
Beyond moving a workload along the roof-line, engineers can raise the ceilings themselves through hardware-level optimizations:
- Data packing concatenates multiple INT8 or INT4 values into a single wide memory word (e.g., 512-bit AXI interface), effectively multiplying the usable bandwidth without changing the physical DRAM interface.
- Ping-pong buffering with on-chip BRAM decouples data transfer from computation, hiding memory latency and allowing the compute fabric to operate closer to peak throughput.
- Streaming architectures process IQ samples as a continuous pipeline, eliminating the need for large off-chip buffers and reducing overall DRAM traffic.
- In-memory computing approaches bypass the von Neumann bottleneck entirely by performing MAC operations within the memory array, fundamentally altering the roof-line shape for analog compute fabrics.
Roofline Analysis for Multi-Kernel Pipelines
A complete modulation classification pipeline—from IQ preprocessing to final softmax—consists of multiple kernels with different operational intensities:
- Each layer or fused kernel occupies a distinct point on the roof-line plot. A bottleneck analysis identifies which kernel is furthest from its respective ceiling.
- Early convolutional layers processing raw IQ samples typically have high operational intensity due to weight reuse across spatial dimensions, often landing in the compute-bound regime.
- Fully connected classification heads have low operational intensity (few operations per weight byte), frequently falling in the memory-bound regime.
- Mixed-precision quantization assigns higher bit-widths to compute-bound layers and aggressive low-bit quantization to memory-bound layers, optimizing the entire pipeline holistically.
- Tools like Vitis AI and hls4ml provide per-layer roof-line visualizations to guide this layer-wise optimization strategy.
Frequently Asked Questions
Explore the core concepts behind the Roof-line Model, a critical visual tool for diagnosing whether your neural network inference on FPGA hardware is constrained by memory bandwidth or raw compute throughput.
The Roof-line Model is a visual performance model that plots a processor's achievable computational throughput against the operational intensity of a specific workload. It works by setting two hard performance ceilings: the peak compute capacity of the chip and the peak memory bandwidth. The 'ridge point' is the intersection where a workload transitions from being memory-bound to compute-bound. If a neural network's operational intensity (FLOPs per byte of data movement) falls to the left of the ridge point, its performance is limited by how fast data can be streamed from off-chip DRAM. If it falls to the right, the bottleneck is the raw math capability of the logic fabric, such as the number of available DSP slices.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Explore the key techniques and hardware-aware concepts that complement the Roof-line Model for optimizing automatic modulation classification on FPGAs and edge devices.
Post-Training Quantization (PTQ)
Reduces numerical precision of weights and activations without retraining, directly lowering memory bandwidth pressure. On FPGAs, moving from FP32 to INT8 halves the data volume per MAC operation, shifting the workload's operational intensity upward on the Roof-line plot and potentially moving it from the memory-bound sloped region toward the compute-bound plateau.
Weight Pruning
Removes redundant or low-magnitude connections to reduce model sparsity. Unstructured pruning creates irregular memory access patterns that can worsen memory bottlenecks on FPGAs, while structured pruning removes entire channels or filters, directly reducing the total MAC count and improving throughput on systolic array architectures.
Operator Fusion
Combines consecutive operations like Conv + BatchNorm + ReLU into a single kernel. This eliminates intermediate memory reads and writes, directly attacking the memory bandwidth axis of the Roof-line Model. For streaming RF inference, fusion reduces off-chip DRAM accesses, keeping the dataflow within on-chip SRAM and pushing effective throughput closer to the compute roof.
High-Level Synthesis (HLS)
Translates C/C++ algorithmic descriptions into RTL for FPGA implementation. HLS enables rapid design space exploration of custom dataflow architectures. By using pragmas like PIPELINE and UNROLL, developers can directly control the initiation interval and parallelism, effectively tuning the compute roof of the hardware to match the operational intensity of the modulation classifier.
Data Packing
Concatenates multiple low-precision data elements into a single wide memory word to maximize SIMD and bandwidth utilization. For example, packing four INT8 IQ samples into a 32-bit bus quadruples effective bandwidth without increasing clock frequency. On the Roof-line Model, this shifts the ridge point leftward, allowing more workloads to become compute-bound.
Ping-Pong Buffer
A double-buffering technique using two memory banks to overlap data transfer with computation. While one buffer feeds the DPU with IQ samples for inference, the other is filled via DMA. This hides memory latency, making the effective bandwidth appear higher and preventing the accelerator from stalling in the memory-bound region of the Roof-line Model.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us