Skip to content

feat(collectivex): show KV-cache transfer cases on the CollectiveX tab / 在 CollectiveX 页展示 KV 缓存传输用例 - #688

Merged
Oseltamivir merged 3 commits into
masterfrom
collectivex-kv-transfer-section
Aug 7, 2026
Merged

feat(collectivex): show KV-cache transfer cases on the CollectiveX tab / 在 CollectiveX 页展示 KV 缓存传输用例#688
Oseltamivir merged 3 commits into
masterfrom
collectivex-kv-transfer-section

Conversation

@Oseltamivir

@Oseltamivir Oseltamivir commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Renders the harness's new kv-transfer suite (SemiAnalysisAI/InferenceX#2510) as part of the CollectiveX tab.

What

  • The shared reader (packages/db/src/collectivex/reader.ts) now recognizes kv-transfer case-attempt shards (discriminated by case.suite === 'kv-transfer') and assembles them into dataset.kv. KV cases are excluded from EP coverage and series (their rows are per-burst transfer points, not per-ladder-token collective points) but count into the run's case totals, so a kv-only sweep passes the requested_cases > 0 visibility gate and appears in the run picker with correct measured/terminal counts.
  • The kv entrypoint emitted its shard version as a string while the matrix carries a number; the version check now compares numerically, which also applies retroactively to any stored runs.
  • New CollectiveXKvTable card under the explorer: one row per kv case (SKU, backend, fabric, workload, precision, outcome) with bandwidth-bound cells selected the same way the harness summarize does (largest-ISL pull rows): bulk wire ceiling, paged-64 at batch 1 and at the largest measured batch, paged-16 at batch 1, and the 32k handoff latency. The card renders nothing when no selected dataset carries kv cases, so EP-only runs, stored Cypress fixtures, and existing e2e specs are unaffected.
  • All new dataset/summary fields are additive and optional; no migration and no version bump. Existing lazy ingest pulls kv shards already since they ride the same cxshard-* artifacts of the same workflow.

Validated against the real artifacts of the all-green kv CI runs 31173344493 and 31180525317 (schemas transcribed into the shared fixture builders).

Tests

  • packages/db: reader assembly for kv cases (mixed and kv-only runs, string-version coercion, failed/pending outcomes, run-summary counts).
  • packages/app: collectiveXKvCell selection (largest ISL, batch extremes, bulk family, unmeasured families).
  • bun run lint, fmt, typecheck green; unit suite green except the pre-existing timezone-sensitive visit-tracking test that also fails on a clean master checkout locally.

中文说明

将基准仓库新增的 kv-transfer 套件(SemiAnalysisAI/InferenceX#2510)展示在 CollectiveX 页中。

  • 共享 reader 现能识别 kv-transfer 的 case-attempt 分片(按 case.suite 区分),装配为 dataset.kv。kv 用例不进入 EP coverage 与 series(其行是按突发的传输点,而非按 token 阶梯的集合通信点),但计入 run 的用例总数,使 kv-only 运行能通过 requested_cases > 0 的可见性门槛并在运行列表中正确显示。
  • kv 入口把分片 version 写成了字符串而矩阵为数字,版本校验改为数值化比较,对已入库的运行同样回溯生效。
  • 新增 CollectiveXKvTable 卡片:每个 kv 用例一行(SKU、backend、fabric、workload、精度、结果),单元格按与基准仓库 summarize 相同的规则选取带宽受限点:bulk 线速上限、批 1 与最大批的 paged-64、批 1 的 paged-16、以及 32k 交接延迟。所选数据集中没有 kv 用例时卡片不渲染,EP-only 运行、既有 Cypress fixture 与 e2e 用例均不受影响。
  • 新增字段全部为可选的增量字段;无需迁移,无需版本升级。kv 分片与 EP 分片共用同一工作流的 cxshard-* 产物,现有惰性摄取无需改动。

测试:reader 装配(混合与 kv-only 运行、字符串版本兼容、失败/待定结果、汇总计数)、collectiveXKvCell 选取逻辑;lint、fmt、typecheck 与单测均通过(除一个与本改动无关、在干净 master 上同样失败的时区敏感用例)。


Note

Low Risk
Additive optional fields and UI; reader logic is isolated by suite discriminator with unit and Cypress coverage.

Overview
Adds end-to-end support for the kv-transfer benchmark suite on the CollectiveX tab: the DB reader assembles dataset.kv from shards where case.suite === 'kv-transfer', keeps them out of EP coverage/series, and folds KV cases into run-level case totals (including kv-only runs and run-picker summaries via kv_cases).

The reader also coerces shard version numerically so string KV artifacts match the matrix version check.

The UI adds a CollectiveXKvTable card (hidden when there are no KV cases) with bandwidth cells chosen via new collectiveXKvCell (largest-ISL pull, min/max batch). Matrix case inventory now counts measured/unsupported cases from EP rows only so KV cases are not double-counted there, while the display header still uses run totals that include KV.

Reviewed by Cursor Bugbot for commit dc3c62c. Bugbot is set up for automated code reviews on this repo. Configure here.

The harness's kv-transfer suite (InferenceX #2510) ships case-attempt shards
in the same sweep artifacts the lazy ingest already pulls, discriminated by
case.suite. The shared reader now assembles them into dataset.kv: kv cases
are excluded from EP coverage and series (their rows are per-burst, not
per-ladder-token) but count into the run case totals, so a kv-only sweep
passes the requested_cases > 0 visibility gate. The kv entrypoint emitted
its shard version as a string, so the version check coerces numerically.
A new card renders the cases with bandwidth-bound cells (bulk ceiling,
paged-64 at batch 1 and max batch, paged-16, handoff latency), mirroring
the harness summarize selection; it renders nothing when no dataset
carries kv cases, so EP-only runs and stored fixtures are unaffected.

中文:基准仓库的 kv-transfer 套件(InferenceX #2510)与 EP 套件共用同一批
sweep 产物,按 case.suite 区分。共享 reader 现将其装配为 dataset.kv:kv
用例不进入 EP coverage 与 series,但计入 run 的用例总数,使 kv-only 运行
能通过 requested_cases > 0 的可见性门槛;并对 kv 分片的字符串版本号做数值
化比较。新增卡片按带宽受限点展示各用例(bulk 上限、批 1 与最大批的
paged-64、paged-16、交接延迟),无 kv 数据时不渲染,EP-only 运行与既有
fixture 不受影响。
@Oseltamivir
Oseltamivir requested a review from adibarra as a code owner August 7, 2026 13:49
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview Aug 7, 2026 3:24pm

Request Review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d15dbec. Configure here.

Comment thread packages/db/src/collectivex/reader.ts
@blacksmith-sh

This comment has been minimized.

The run-level measured/unsupported totals now include kv-transfer cases,
which render in their own card; the matrix-inventory summary line pairs
those totals with EP-only coverage rows and could claim more measured
cases than the table shows. Count from the table's own rows instead.

中文:run 级 measured/unsupported 统计现已包含 kv-transfer 用例(它们在
独立卡片中展示),矩阵清单的摘要行若继续使用 run 级总数,会与其仅含 EP
的表格行不一致。改为直接从本表行统计。
Renders a kv-bearing run through the intercepted API routes and asserts the
card's bandwidth-bound cells (bulk ceiling, paged-64 at batch 1 and max
batch, paged-16, handoff latency), a failed case's outcome and reason, the
kv contribution to the header case stats, and the card's absence on EP-only
runs.

中文:通过拦截的 API 路由渲染含 kv 数据的运行,断言卡片的带宽受限单元格
(bulk 上限、批 1 与最大批的 paged-64、paged-16、交接延迟)、失败用例的
结果与原因、kv 用例计入头部统计,以及 EP-only 运行不渲染该卡片。
@Oseltamivir
Oseltamivir merged commit 24eac12 into master Aug 7, 2026
24 checks passed
@Oseltamivir
Oseltamivir deleted the collectivex-kv-transfer-section branch August 7, 2026 15:52
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