ASPLOS'26 Tutorial: RAIC
Qwen3-0.6B · FEATHER 16×16

Match the mapping to the layer.

Embedding → blocks 1–27 → block 28 attention + MLP
→Last token
→Next token

Weights stay. Inputs flow.

WO-S · 16 weights/PE · inputs ↓ columns · outputs accumulate

A · Token parallel

4 weight replicas · 32 channels

B · Channel parallel

2 weight replicas · 64 channels

First tile · setup and pipeline gaps omitted

Runtime PE reconfiguration

Full view
Layer details

Why A or B?

MappingTile M×K×N16 columnsPredicted cycles

Buffer layouts

16 banks · 16 scalars/cell · selected PE vector outlined

Address details

bank = L mod 16; scalar row = 16⌊L/16⌋ + lane. W/I vectors span K; O vectors span N. StaB/StrB/OB depths: 128/64/64 scalar rows/bank.

Commands & sources

Recorded workload: logits_to_keep=1. Each operation loads new weights. Residuals, normalization, row selection, sampling, embedding and repacking are graph context, excluded from GEMM costs. No automatic buffer handoff is assumed.

A/B match the bounded mapper's winners. Search excludes graph-wide layout-conversion costs; global optimality is not claimed.

serialized_minisa_v2 predicts loads, preload, streaming, gaps/drain, dispatch and stores. These are predictions, not new RTL measurements. Numerical samples are synthetic; the graph is symbolic.

Mapping data · Generator · Qwen3 config · Qwen3 implementation