[PR #41] [MERGED] Add dots3-note KV cache calculator support #42

Closed
opened 2026-10-29 14:32:11 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/kvcache-blog/pull/41
Author: @stmatengss
Created: 9/3/2026
Status: ✅ Merged
Merged: 9/3/2026
Merged by: @stmatengss

Base: main ← Head: feat/dots3-note-kv-cache


📝 Commits (1)

  • 75f79a0 Add dots3-note KV cache calculator support

📊 Changes

5 files changed (+178 additions, -3 deletions)

View changed files

📝 README.md (+1 -1)
📝 assets/js/kv-cache-calculator.js (+94 -0)
📝 content/tools/kv-cache-size-calculator/index.md (+1 -1)
📝 data/kv_cache_calculator/models.yaml (+27 -1)
📝 tests/kv-cache-calculator.test.mjs (+55 -0)

📄 Description

Summary

  • add the official dots3-note Preview model configuration under a new Dots3 family
  • add a dedicated hybrid cache formula for 13 full-attention DSA-MLA layers and 33 capped SWA-MLA layers
  • account separately for the FP8 indexer vector and its per-token FP32 scale
  • keep hit-rate simulation disabled until trace curves are precomputed

Formula assumptions

  • full-attention MLA cache grows with the entire context
  • SWA-MLA cache retains min(tokens, 512) tokens; the source sliding_window_size=513 includes the current token
  • KV defaults to BF16 / FP16
  • the DSA indexer uses a fixed FP8 vector plus one FP32 scale per token per full-attention layer
  • allocator blocks, page metadata, fragmentation, workspaces, activations, weights, and multimodal encoder state are excluded

Validation

  • node --test tests/kv-cache-calculator.test.mjs — 57/57 passed
  • Hugo v0.126.3 production build — passed
  • independent Dots3 Note calculator cross-checks: 22,656,000 bytes at 256 tokens and 53,858,304 bytes at 1,024 tokens per sequence

Repository test note

The full test suite has one pre-existing model-count assertion failure in tests/kv-cache-lab.test.mjs: the current main model table already contains 56 models while the test expects 53. This PR does not modify that unrelated stale assertion or regenerate hit-rate traces.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/kvcache-blog/pull/41 **Author:** [@stmatengss](https://github.com/stmatengss) **Created:** 9/3/2026 **Status:** ✅ Merged **Merged:** 9/3/2026 **Merged by:** [@stmatengss](https://github.com/stmatengss) **Base:** `main` ← **Head:** `feat/dots3-note-kv-cache` --- ### 📝 Commits (1) - [`75f79a0`](https://github.com/kvcache-ai/kvcache-blog/commit/75f79a031dc157c4c9888247cc83845a61c6ccaf) Add dots3-note KV cache calculator support ### 📊 Changes **5 files changed** (+178 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -1) 📝 `assets/js/kv-cache-calculator.js` (+94 -0) 📝 `content/tools/kv-cache-size-calculator/index.md` (+1 -1) 📝 `data/kv_cache_calculator/models.yaml` (+27 -1) 📝 `tests/kv-cache-calculator.test.mjs` (+55 -0) </details> ### 📄 Description ## Summary - add the official `dots3-note Preview` model configuration under a new Dots3 family - add a dedicated hybrid cache formula for 13 full-attention DSA-MLA layers and 33 capped SWA-MLA layers - account separately for the FP8 indexer vector and its per-token FP32 scale - keep hit-rate simulation disabled until trace curves are precomputed ## Formula assumptions - full-attention MLA cache grows with the entire context - SWA-MLA cache retains `min(tokens, 512)` tokens; the source `sliding_window_size=513` includes the current token - KV defaults to BF16 / FP16 - the DSA indexer uses a fixed FP8 vector plus one FP32 scale per token per full-attention layer - allocator blocks, page metadata, fragmentation, workspaces, activations, weights, and multimodal encoder state are excluded ## Validation - `node --test tests/kv-cache-calculator.test.mjs` — 57/57 passed - Hugo v0.126.3 production build — passed - independent Dots3 Note calculator cross-checks: 22,656,000 bytes at 256 tokens and 53,858,304 bytes at 1,024 tokens per sequence ## Repository test note The full test suite has one pre-existing model-count assertion failure in `tests/kv-cache-lab.test.mjs`: the current `main` model table already contains 56 models while the test expects 53. This PR does not modify that unrelated stale assertion or regenerate hit-rate traces. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:32:11 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/kvcache-blog#42
No description provided.