Skip to content

feat(charts): split 1× and 2× deployments by topology + show latest on /eval - #10

Merged
aistackdev merged 1 commit into
masterfrom
feat/inference-topology-key-and-eval-latest
May 26, 2026
Merged

feat(charts): split 1× and 2× deployments by topology + show latest on /eval#10
aistackdev merged 1 commit into
masterfrom
feat/inference-topology-key-and-eval-latest

Conversation

@aistackdev

Copy link
Copy Markdown

Summary

Two fixes after ingesting the gemma4 mnbt + spec-decoding runs.

1. /inference series-key — Option A (topology split)

`getHardwareKey` collapses 1× and 2× H100 into one `h100_vllm_mtp` series → one legend entry, one color, mixed dots. Fix: append `_{totalGpus}x` when totalGpus > 1.

Result on legend:

  • `h100 (vllm, mtp, 2x)` — distinct from
  • `h100 (vllm, mtp)` — single-GPU runs stay un-suffixed for parity with upstream

Disagg sums prefill + decode pools. Single-GPU runs keep the existing legend exactly.

`buildAvailabilityHwKey` gets the same optional `totalGpus` parameter.

2. /evaluation — drop sticky date filter

User reported "Batch size" chip missing on /evaluation. Root cause: `selectedRunDate` was sticky at `2026-05-25` from an earlier InferenceContext mount; the mnbt rows are dated `2026-05-26`, so the API filtered them out before `categorizeTechniques` ever saw them.

Fix: `RecipeComparison` is a "current recipe state" view, not historical. Always use the no-date / latest_benchmarks MV path. Empty-state copy simplified to "Pick a different model."

Test plan

  • `pnpm typecheck` clean
  • `pnpm exec vitest run chart-utils.test.ts recipe-data.test.ts` — 194/194 pass
  • Post-deploy: `/inference` legend splits 1× and 2× series for the gemma4 data; `/evaluation` shows the "Batch size" chip regardless of which date was last picked.

🤖 Generated with Claude Code

…n /eval

Two fixes after the gemma4 ingest exposed gaps:

1. /inference series-key (Option A): getHardwareKey now appends a
   "_{totalGpus}x" suffix when the deployment uses more than one GPU.
   1× H100 and 2× H100 stop collapsing into a single "h100 (vllm, mtp)"
   legend entry. Single-GPU runs stay un-suffixed for parity with
   upstream legends. Disagg sums prefill + decode pools.

   Same suffix added to buildAvailabilityHwKey via an optional
   `totalGpus` parameter — callers that know the count (InferenceContext
   from benchmark rows) can pass it; legacy callers (availability rows
   lacking GPU counts) pass undefined and the suffix is skipped.

2. /evaluation no longer filters by selectedRunDate. The user reported
   the "Batch size" filter chip not appearing on /evaluation: cause was
   selectedRunDate being sticky at 2026-05-25 (set by an earlier
   InferenceContext mount) while the mnbt rows are dated 2026-05-26.
   The API correctly returned 12 of 19 rows, and categorizeTechniques
   never saw a batch-size variant. RecipeComparison is a "current state
   of recipes" view, not historical, so always use the no-date "latest
   across all dates" path.

   194/194 unit tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@aistackdev
aistackdev merged commit 7e33bc3 into master May 26, 2026
3 of 9 checks passed
@aistackdev
aistackdev deleted the feat/inference-topology-key-and-eval-latest branch May 26, 2026 09:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant