Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Architecture Metrics Reference
  • Workload Taxonomy for Architects
  • Architecture Glossary
  • Computer Architecture Cheatsheet
  • Pipeline Fundamentals14
  • Memory Hierarchy15
  • NoC and Interconnect Architecture6
  • Coherency and Memory Ordering9
  • Performance Analysis9
  • Accelerator Architectures6
    • Accelerators for the Architect
      • When an Accelerator Pays Off
      • Dataflow Patterns as Reuse Contracts
      • Systolic Execution and Utilization Cliffs
      • Locality, Scratchpads and Tile Sizing
      • DMA and Double Buffering
      • Integration, Launch Cost and Signoff
  • SoC Architecture Tradeoffs9
  • Architecture Interview Prep14
Loading lesson

‹Accelerators for the Architect
  1. Topics
  2. Computer Architecture
  3. Accelerator Architectures
  4. Accelerators for the Architect
  5. Dataflow Patterns as Reuse Contracts

Computer Architecture · All levels

Dataflow Patterns as Reuse Contracts

Weight, output and input stationary styles as reuse contracts, with traffic counted by hand.

On this page

    What stays put

    A stationary dataflow names the tensor that stays in the array. Everything else moves, and the reuse contract follows from that choice.

    Style

    Stays resident

    Reuse idea

    Weight stationary (WS)

    Filter weights in PEs

    Weights read once, activations stream past

    Output stationary (OS)

    Partial sums in accumulators

    Accumulators sized to reduction depth, no spill

    Input stationary (IS)

    Activation tile in PEs

    Activations read once, weights stream past

    Streaming

    Nothing; beats flow through

    FIFOs sized so producer never waits

    Counting traffic by hand

    Take an 8x8x8 toy: 64 weights and 64 activations of 1 B each. Each style pays for what it moves.

    Style

    Weight bytes

    Activation bytes

    WS

    64 (read once)

    512 (each of 64 read 8 times)

    OS

    512 (streamed per output)

    512 (streamed per output)

    IS

    512 (streamed per output)

    64 (read once)

    Scale to 32x32x32 INT8 with 32768 MACs. The weight matrix is 1024 B.

    Diagram
    WS weight traffic = 1024 B (one read of the 32x32 matrix)
    OS weight traffic = 1024 outputs x 32 weights = 32768 B
    ratio = 32768 / 1024 = 32x more weight traffic under OS here

    Streaming and fallback modes

    Streaming suits producer-consumer chains with no reuse. A hybrid policy switches style per layer shape, but each switch pays retile and reload cost.

    Small batches collapse OS efficiency first. Refill dominates when reduction depth is shallow.

    Common mistakes

    Common pitfall

    Calling dataflow a peer of SIMD confuses style with pattern. Dataflow is the schedule of movement; SIMD names the execution shape.

    Interview

    Likely probes: reading a mapping as a contract.

    • Name what stays, what moves, and the capacity that bounds residency.

    • Count one traffic term by hand before trusting a heatmap.

    • Price hybrid switching with retile cost, not just peak gains.

    Check yourself A layer reuses weights heavily across many windows. Which style fits, and what is the risk?

    Weight stationary. The risk is activation and partial-sum pressure if tiling ignores buffer capacity.

    Check yourself OS wins the benchmark but collapses on small batches. What mechanism explains it?

    Refill and drain dominate short phases, and accumulators spill when tiles overflow.

    Related topics

    • Roofline and tuning

    • AI Accelerator Systems

    Previous

    59 / 86

    Next: Systolic Execution and Utilization Cliffs

    Up next

    Up nextSystolic Execution and Utilization Cliffs

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Locality, Scratchpads and Tile Sizing
    • DMA and Double Buffering
    • Integration, Launch Cost and Signoff