<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="720" viewBox="0 0 1200 720" role="img" aria-label="TGEMV_BIAS tile operation diagram">
<defs>
  <marker id="arrow" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0,0 L0,8 L8,4 z" fill="#1B7F91"/></marker>
</defs>
<style>
svg { font-family: Arial, Helvetica, sans-serif; }
.title { font-size: 30px; font-weight: 700; fill: #0f172a; }
.subtitle { font-size: 14px; fill: #334155; }
.meta { font-size: 12px; fill: #64748b; }
.frame { fill: white; }
.panel { fill: #E8F8FB; stroke: #e2e8f0; stroke-width: 1.5; rx: 14; }
.tileLabel { font-size: 14px; font-weight: 700; fill: #0f172a; }
.tileBorder { fill: none; stroke: #475569; stroke-width: 1.5; }
.cell { fill: #ffffff; stroke: #94a3b8; stroke-width: 1; }
.cellA { fill: #ecfeff; }
.cellB { fill: #eff6ff; }
.cellBias { fill: #fff7ed; }
.cellC { fill: #f5f3ff; }
.cellText { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; fill: #0f172a; }
.arrow { stroke-width: 1.5; fill: none; stroke-linejoin: round; stroke-linecap: round; marker-end: url(#arrow); }
.procBox { fill: #f8fafc; stroke: #cbd5e1; stroke-width: 1.5; rx: 12; }
.procText { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; fill: #0f172a; }
.opBox { fill: #ffffff; stroke: #1B7F91; stroke-width: 2; rx: 12; }
.opText { font-size: 13px; font-weight: 800; fill: #0f172a; }
</style>
<rect x="0" y="0" width="1200" height="720" class="frame" />
<rect x="24" y="24" width="1152" height="672" class="panel" />
<text x="40" y="46" class="title">TGEMV_BIAS</text>
<text x="40" y="72" class="subtitle">GEMV with bias add.</text>
<text x="40" y="92" class="meta">C[0,j] = Bias[0,j] + Σ_k A[0,k] × B[k,j]</text>
<line x1="36" y1="104" x2="1164" y2="104" stroke="#e2e8f0" stroke-width="1.5" />

<text x="220" y="160" class="tileLabel" text-anchor="middle">A / left tile (1 × K)</text>
<rect x="70" y="185" width="300" height="80" class="tileBorder" />
<rect x="70" y="185" width="60" height="80" class="cell cellA" /><rect x="130" y="185" width="60" height="80" class="cell cellA" /><rect x="190" y="185" width="60" height="80" class="cell cellA" /><rect x="250" y="185" width="60" height="80" class="cell cellA" /><rect x="310" y="185" width="60" height="80" class="cell cellA" />
<text x="100" y="230" class="cellText" text-anchor="middle">A₀₀</text><text x="160" y="230" class="cellText" text-anchor="middle">A₀₁</text><text x="220" y="230" class="cellText" text-anchor="middle"></text><text x="280" y="230" class="cellText" text-anchor="middle">A₀,k</text><text x="340" y="230" class="cellText" text-anchor="middle">A₀,K-1</text>

<text x="900" y="160" class="tileLabel" text-anchor="middle">B / right tile (K × N)</text>
<rect x="700" y="175" width="360" height="200" class="tileBorder" />
<rect x="700" y="175" width="72" height="50" class="cell cellB" /><rect x="772" y="175" width="72" height="50" class="cell cellB" /><rect x="844" y="175" width="72" height="50" class="cell cellB" /><rect x="916" y="175" width="72" height="50" class="cell cellB" /><rect x="988" y="175" width="72" height="50" class="cell cellB" />
<rect x="700" y="225" width="72" height="50" class="cell cellB" /><rect x="772" y="225" width="72" height="50" class="cell cellB" /><rect x="844" y="225" width="72" height="50" class="cell cellB" /><rect x="916" y="225" width="72" height="50" class="cell cellB" /><rect x="988" y="225" width="72" height="50" class="cell cellB" />
<rect x="700" y="275" width="72" height="50" class="cell cellB" /><rect x="772" y="275" width="72" height="50" class="cell cellB" /><rect x="844" y="275" width="72" height="50" class="cell cellB" /><rect x="916" y="275" width="72" height="50" class="cell cellB" /><rect x="988" y="275" width="72" height="50" class="cell cellB" />
<rect x="700" y="325" width="72" height="50" class="cell cellB" /><rect x="772" y="325" width="72" height="50" class="cell cellB" /><rect x="844" y="325" width="72" height="50" class="cell cellB" /><rect x="916" y="325" width="72" height="50" class="cell cellB" /><rect x="988" y="325" width="72" height="50" class="cell cellB" />
<text x="736" y="205" class="cellText" text-anchor="middle">B₀₀</text><text x="808" y="205" class="cellText" text-anchor="middle">B₀₁</text><text x="880" y="205" class="cellText" text-anchor="middle"></text><text x="952" y="205" class="cellText" text-anchor="middle">B₀,j</text>
<text x="952" y="255" class="cellText" text-anchor="middle">B₁,j</text><text x="880" y="305" class="cellText" text-anchor="middle"></text><text x="952" y="355" class="cellText" text-anchor="middle">Bₖ,j</text>

<text x="210" y="365" class="tileLabel" text-anchor="middle">Bias tile (1 × N)</text>
<rect x="70" y="390" width="280" height="80" class="tileBorder" />
<rect x="70" y="390" width="56" height="80" class="cell cellBias" /><rect x="126" y="390" width="56" height="80" class="cell cellBias" /><rect x="182" y="390" width="56" height="80" class="cell cellBias" /><rect x="238" y="390" width="56" height="80" class="cell cellBias" /><rect x="294" y="390" width="56" height="80" class="cell cellBias" />
<text x="98" y="435" class="cellText" text-anchor="middle">Bias₀</text><text x="154" y="435" class="cellText" text-anchor="middle">Bias₁</text><text x="210" y="435" class="cellText" text-anchor="middle"></text><text x="266" y="435" class="cellText" text-anchor="middle">Biasⱼ</text><text x="322" y="435" class="cellText" text-anchor="middle">Biasₙ</text>

<rect x="470" y="300" width="150" height="54" class="opBox" />
<text x="545" y="333" class="opText" text-anchor="middle">TGEMV_BIAS</text>
<path d="M 370 225 C 420 225, 420 315, 470 315" class="arrow" stroke="#1B7F91" />
<path d="M 700 280 C 650 280, 650 340, 620 340" class="arrow" stroke="#1B7F91" />
<path d="M 350 430 C 420 430, 420 345, 470 345" class="arrow" stroke="#ea580c" />

<text x="545" y="520" class="tileLabel" text-anchor="middle">C / acc tile (1 × N)</text>
<rect x="405" y="425" width="280" height="80" class="tileBorder" />
<rect x="405" y="425" width="56" height="80" class="cell cellC" /><rect x="461" y="425" width="56" height="80" class="cell cellC" /><rect x="517" y="425" width="56" height="80" class="cell cellC" /><rect x="573" y="425" width="56" height="80" class="cell cellC" /><rect x="629" y="425" width="56" height="80" class="cell cellC" />
<text x="433" y="470" class="cellText" text-anchor="middle">C₀</text><text x="489" y="470" class="cellText" text-anchor="middle">C₁</text><text x="545" y="470" class="cellText" text-anchor="middle"></text><text x="601" y="470" class="cellText" text-anchor="middle">Cⱼ</text><text x="657" y="470" class="cellText" text-anchor="middle">Cₙ</text>
<path d="M 545 354 L 545 425" class="arrow" stroke="#1B7F91" />

<rect x="50" y="580" width="1100" height="42" class="procBox" />
<text x="68" y="606" class="procText">for each output column j: C[0,j] = Bias[0,j] + Σ_k A[0,k] × B[k,j]</text>
</svg>