feat(unofficial): support 950dt + huawei-mindie for unofficial runs#257
feat(unofficial): support 950dt + huawei-mindie for unofficial runs#257Oseltamivir wants to merge 7 commits intomasterfrom
Conversation
Adds Huawei Ascend 950DT GPU and Huawei MindIE framework so the Mock-ascend GitHub Actions run (25014782858) can be loaded via the unofficial-run viewer. TDP/power/cost are placeholder 9.99 — Huawei specs are not yet finalized. - HW_REGISTRY: new 950dt entry, vendor=Huawei, arch=Ascend, sort=9 - VENDOR_OKLCH_ZONES / VENDOR_HSL_ZONES: amber/yellow zone for Huawei (steals 30-60° HSL from AMD's lower band; AMD keeps 300-360 + 0-30) - FW_REGISTRY: huawei-mindie → "Huawei MindIE" - dynamic-colors Vendor type extended with 'huawei' - chart-utils BANNED_HUE_TEST/PREFERRED_ZONE entries for huawei (avoid AMD-red and NVIDIA-green clashes; preferred amber/yellow zone) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The Mock-ascend workflow uploads one bmk_<config>_conc<N>_<gpu>_<idx> artifact per concurrency instead of a single aggregated results_bmk. The unofficial-run API was filtering strictly on name === 'results_bmk', returning 404 even though the per-config artifacts contained valid rows. When results_bmk is absent, gather every artifact whose name starts with 'bmk_', download each, and concat the rows before normalization. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Make it able to render 8192 input tokens, 256 output tokens, like from runs/25457884421 |
|
Claude finished @Oseltamivir's task in 7m 56s —— View job • Done — registered the 8K/256 sequence (8192/256)Run 25457884421 is the InfiniteBench DSv4 sweep that emits What changed
The flow that now works for
Checks
Not done
Todos
· branch: |
|
Make it able to render 8192 input tokens, 256 output tokens, like from runs/25457884421 Use this PR/branch, don't create a new branch |
|
Claude finished @Oseltamivir's task in 4m 23s —— View job Done — registered 8K/256 sequence (8192/256) on this PR branchPushed commit Changes
The flow that now works for
Checks
Not done — needs your verification
|
Registers '8k/256' (isl=8192, osl=256) so unofficial-run overlays from sweeps like InferenceX run 25457884421 render instead of being silently dropped by islOslToSequence returning null. - packages/constants/src/models.ts: add 8k/256 to both conversion maps. - packages/app/src/lib/data-mappings.ts: add Sequence.EightK_256 with SEQUENCE_CONFIG entry (label "8K / 256"). Replace the binary 1k-vs-8k ternary in getModelAndSequenceFromArtifact with islOslToSequence so future ISL/OSL pairs registered in constants are picked up automatically rather than mis-mapped. - Tests added for round-trip + label coverage in models.test.ts / models-mapping.test.ts and a dsv4 + 8192/256 case in data-mappings.test.ts. Co-authored-by: Bryan Shan <Oseltamivir@users.noreply.github.com>
|
For unofficial runs, add a toggle where the dashboard treats them as ingested runs.
|
|
Claude finished @Oseltamivir's task in 24m 55s —— View job Done — "Show as ingested" toggle for unofficial runsPushed How it works
What changed
Analytics: Browser verification (Playwright)Walked through the user-facing flow against
Checks
|
…ries
Adds a "Show as ingested" switch in the inference scatter legend (visible
when an unofficial run is loaded) that promotes overlay rows to first-class
points so they participate in the same filter pipeline as DB-ingested data:
hardware toggles, Optimal-only, precision filtering, and per-(hwKey, run)
roofline grouping.
Each (run, original hwKey) pair is rewritten to a synthesized hwKey of the
form `${origHwKey}__uorun${runId}` — preserving the GPU base prefix so
`getModelSortIndex` and `isKnownGpu` keep working — with a synthesized
HardwareEntry whose label embeds the run branch and a per-run color override
drawn from the existing overlay palette. Multiple runs and per-run multi-GPU
configs each surface as their own legend entry.
URL-synced via `i_uoff_ingested=1` so the state survives reloads and shares.
The X-shape overlay layer is suppressed and stale DOM is cleaned up when the
toggle flips on (the layer system has no built-in teardown for layers that
drop out of the array). Unit tests cover synth-key encoding, no-op behavior
when no overlay matches, and multi-run separation.
Co-authored-by: Bryan Shan <Oseltamivir@users.noreply.github.com>
|
for the previous edit, the results look good, but continue to build on it:
|
|
Claude finished @Oseltamivir's task in 12m 4s —— View job Done — bare GPU labels + vendor-zone colors for ingested unofficial rowsPushed What changed
The wiring ( Browser verification (Playwright)Loaded
Each NVIDIA GPU sits in the 121.7–168.3 hue band — a different shade per GPU, exactly the spec. No legend label contains "infinitebench-..." or "mock-ascend-..." anywhere. Switched to 8K / 256 to confirm the InfiniteBench overlay ( TestsAdded 3 integration cases to
Updated the existing label/color assertions to expect bare GPU labels and an empty Checks
|
Drops the branch suffix from synth-key labels and the per-run color override so unofficial rows promoted via "Show as ingested" share the same vendor-aware palette as official rows. Two NVIDIA GPUs from one unofficial run now get distinct shades of green instead of one shared overlay-palette red. The branch + run URL still surface in `gpu` so the row tooltip retains provenance. Co-authored-by: Bryan Shan <Oseltamivir@users.noreply.github.com>
|
Claude finished @Oseltamivir's task in 8m 40s —— View job Done — temp default to
|
… on unofficial-run load Temporary branch-only override: when a `?unofficialrun=` URL loads and the user did not pin `i_seq` / `i_metric` themselves, default the sequence to `8K / 256` and the y-axis metric to `Output Token Throughput per GPU` so InfiniteBench-style sweeps land on a useful default view alongside the model auto-switch from #243. Mirrors the dedupe shape of `computeAutoSwitchDecision` via a new pure helper `computeUnofficialOverrideDecision` so manual user picks stick once URL-synced and a fresh run-set transition can re-arm the override. Co-authored-by: Bryan Shan <Oseltamivir@users.noreply.github.com>
Summary
Unblocks loading the Mock-ascend run 25014782858 via the unofficial-run viewer (
?unofficialrun=25014782858).The mock artifacts use:
hw: 950dt— new GPU, Huawei Ascend 950DT (new vendor)framework: huawei-mindie— new frameworkmodel: deepseek-ai/DeepSeek-V4-Pro— already supported (dsv4)precision: fp4, sequences8K/1K,1K/1K— already supportedWithout these mappings,
hwToGpuKey('950dt')returnsnulland rows are silently skipped by the ETL → the unofficial-run viewer shows nothing.Changes
packages/constants/src/gpu-keys.tsHW_REGISTRY['950dt']— vendorHuawei, archAscend, labelAscend 950DT, sort9. TDP/power/cost set to placeholder9.99— Huawei figures are not yet finalized; bump to real values when available.huaweicolor zone inVENDOR_OKLCH_ZONES(amber 60–90°) andVENDOR_HSL_ZONES(amber 30–60°). To make room in the HSL wheel, AMD's lower band shrinks from 0–60 to 0–30 and NVIDIA's band shrinks from 60–195 to 90–195. AMD/NVIDIA still get >90° each.packages/constants/src/framework-aliases.tsFW_REGISTRY['huawei-mindie']→ labelHuawei MindIE.packages/app/src/lib/dynamic-colors.tsVendortype now includes'huawei';getVendor()recognizes theHuaweivendor string.packages/app/src/lib/chart-utils.tsBANNED_HUE_TEST/PREFERRED_ZONEhuawei entries — avoids AMD-red (320–40°) and NVIDIA-green (120–195°) in CIELab; prefers amber/yellow (50–95°).Notes for review
tput_per_gpu: 510.2041,median_ttft: 0.0, etc. — fake values.9.99and tune the chart sort order.Test plan
pnpm typecheckpnpm lintpnpm test:unit(1896 tests pass across all packages)?unofficialrun=25014782858— confirm 950dt overlay points render under DeepSeek-V4-Pro at 1K/1K, 8K/1K, etc., with conc 16/64/128.🤖 Generated with Claude Code