Skip to content

llama32: parallelize single-row fused RMS norm across two harts - #215

Open
ChiruGuru99 wants to merge 3 commits into
aifoundry-org:mainfrom
ChiruGuru99:llama32-rms-minion2-final
Open

llama32: parallelize single-row fused RMS norm across two harts#215
ChiruGuru99 wants to merge 3 commits into
aifoundry-org:mainfrom
ChiruGuru99:llama32-rms-minion2-final

Conversation

@ChiruGuru99

Copy link
Copy Markdown
Contributor

Summary

  • Repins llama.cpp-et to 26b1011518a33e15050796630e829c315ab6704f.
  • Adds a specialized two-hart path for the dominant contiguous [2048,1,1,1] fused RMS-norm/multiply workload.
  • Splits reduction and output work across both harts in a minion.
  • Exchanges the partial sum and scale through L2 SCP with explicit cache maintenance.
  • Leaves the generic fallback unchanged.

Runtime commit:
ChiruGuru99/llama.cpp@26b1011

@ChiruGuru99
ChiruGuru99 requested a review from AFOliveira as a code owner July 25, 2026 21:30
@github-actions github-actions Bot added track: week-2-challenge Week 2 focused hardware challenge track: llama-3.2-1b-performance Global Llama 3.2 1B performance prize labels Jul 25, 2026
@AFOliveira

Copy link
Copy Markdown
Member

The previously tested runtime revision (26b101…) passed Llama, shared-runtime regressions and SmolVLM2 manually, but the current head now points to a new revision (1c58f0…) with an additional fused RoPE/cache update and has not been validated. Please disclose the complete runtime commit stack and rerun the exact current head through paired trusted Llama, all shared-runtime regressions, and SmolVLM2. Do not rely on the earlier score for this new head.

@ChiruGuru99

Copy link
Copy Markdown
Contributor Author

Revalidated the exact current PR head rather than relying on the earlier 26b101... results.

Outer PR head: aae3e8999bc1fc19497fdd83a9435d6e4e0b7869
Runtime revision: ec53d562050cde3aeafa2f7330216dbfd52e967f
Shared merge base: cc4049d86b14e4ef72f827f3bb767b577f18fbcd

Complete candidate runtime stack:

  • 9f3629e3b - Q8_0 matrix-engine dispatch
  • ff52f9159 - optimized Q8_0 vecdot
  • acce7a2ec - vectorized CONT f32
  • 74a6a19d1 - cache-aligned ADD/MUL/SUB
  • 37218b4ee - register-resident f16 mul_mat
  • 334ec451b - double-buffered f32 matrix-engine mul_mat
  • 26b101151 - two-hart RMS norm
  • 1c58f0cd9 - fused RoPE/KV cache update
  • ec53d5620 - fused residual ADD/RMS/MUL

Exact paired trusted Llama:

  • Current main f67c2b2a: 13.4300 tok/s, PPL 15.2119
  • Candidate ec53d562: 16.2164 tok/s, PPL 15.2109
  • Decode improvement: approximately 20.75 percent

All ten shared-runtime regression models were rerun using the exact candidate runtime and completed with benchmark status pass.

Exact paired SmolVLM2 trusted gate passed:

  • Main before: 1,821,160,656 cycles, 3.609s
  • Candidate: 1,270,000,888 cycles, 2.692s, PPL 22.2808, accuracy 1.00, no CPU vision fallbacks
  • Main after: 1,821,324,439 cycles, 3.608s

Please approve and rerun PR workflows for exact head aae3e899....

@ChiruGuru99

Copy link
Copy Markdown
Contributor Author

the first six commits (9f3629e3b through 334ec451b) are inherited runtime-base commits and are listed only for complete reproducibility. The changes contributed by this submission are 26b101151, 1c58f0cd9, and ec53d5620. No authorship is claimed for the inherited commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

track: llama-3.2-1b-performance Global Llama 3.2 1B performance prize track: week-2-challenge Week 2 focused hardware challenge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants