Spaces:
Running
Running
Commit History
6 days ago
-
Shape workload facet, readable shape dims, rev as commit identity
Morgan Funtowicz- Combined 'shape' facet whose values are full workload signatures (m=1k k=1k n=4k) so kernels can be filtered as workloads; per-dim groups relabeled 'shape · seq' with compact values (4k) and matching query-bar tokens (seq=4k) - rev treated as commit identity everywhere (abbreviated in legends/ chips, tooltips, excluded from default series split) alongside legacy commit; docs: rev is always a git commit id, never a branch name14e1edf -
UX iteration: robust faceted filtering, chart overhaul, schema v1.1 docs
Morgan FuntowiczFiltering (fixes flaky 'no data' dead-ends): - Empty date From/To = unbounded: pinned date bounds no longer hide runs appended by the 60s polling reload; inverted ranges auto-swap - Faceted chips with per-value match counts given other groups' selections; zero-match values disabled; per-group 'All' clear chip; explicit selection state (highlight vs dim) - Records lacking a tag show as '(none)' facet instead of vanishing - Smart empty state: named blockers (date range, hosts, tags) with one-click recovery; 'N of M runs match' pill while filtering - Stale filter/group-by values pruned on hot reload; group-by never empties Charts: - Data-driven y-domains with nice 1/2/5 ticks (sub-1% changes visible, zero anchored only when near the data range); tick precision matches step; single-date series render centered instead of collapsing - HTML hover tooltips (value, direction-aware delta, commit), end-of-line value labels with collision nudging, stable name-hash series colors, …59a688b -
Add regression-tracking layer: change matrix, per-series deltas, commit tooltips
Morgan Funtowicz- New TrendsTable 'change matrix': rows = series, columns = metrics, latest value + direction-aware delta vs previous run, sorted worst regression first, with improved/regressed/unchanged counts - Chart legends show latest value + colored delta per series; latest point emphasized; header shows total change over the range - Delta compares the same series' previous point (was: best of any series) - Commit tag kept out of default series identity so runs line up over time; abbreviated in labels and named in point/delta tooltips - Dataset picker shows run count and latest date; summary shows last run8cfd3b2 -
Parse kernel shape tags into per-dimension pseudo-tags
Morgan FuntowiczShapes like '4096:4096:4096' (positional per op spec) and 'bs=8 seq=4096 heads=32 d=128' (k=v pairs) are expanded into shape.<dim> tags at load time, giving each dimension its own filter chip group, group-by option, table column and compact legend label (seq=4k). Numeric tag values sort numerically.67ec52c -
Add group-by selector and dynamic tag filters
Morgan Funtowicz- Group chart series by host, hardware, or any tag dimension (dtype, kernel, shape, ...) via a chip selector; default is host + all tags - Auto-generate multi-select filter chips for every tag with 2+ values - Filters state carries a tags map; preserved across hot reloadsdd036ac -
Support partitioned data layout, replace bar charts with line charts
Morgan Funtowicz- Walk category dirs recursively in both manifest generators to discover <category>/<host>/<date>/<name>.jsonl partitions (legacy flat files still work) - Group manifest paths by category+basename so one benchmark spanning many host/date partitions loads as a single dataset, with record dedup and date sorting - Render evolution-over-time line charts for all tabs (kernels included), drop BarChart component and buildKernelBars - Update README and DATA_FORMAT_PROMPT to describe the new layout482cab0
7 days ago
-
Auto-refresh: poll /data so new benchmark files update the dashboard live
Morgan Funtowicz- Re-fetch the manifest + datasets every 60s (skipped while tab hidden); hot-swaps data when the signature changes, preserving tab/dataset/filters - All data fetches use cache: 'no-store' to avoid stale responses - Missing/invalid manifest (404 or SPA-fallback HTML) degrades to the empty state instead of an error - README documents the flow: regenerate index.json after adding bucket files; appended records need no manifest change6b38d50 -
Fetch data from absolute /data path (bucket-mounted on the Space)
Morgan Funtowicz- Loader now requests /data/index.json and /data/<category>/<file>.jsonl instead of paths relative to the app bundle - A missing manifest (404) degrades to the empty state instead of an error - update-data-index no longer writes an empty manifest, so builds never ship dist/data/ and cannot shadow the real /data mount - Local dev: sync/symlink bucket data into public/data/ (git-ignored) - Add docs/DATA_FORMAT_PROMPT.md (LLM prompt for the Python bench script)fb88477
8 days ago
-
Split dashboard into Models | Kernels tabs with per-category charts
Morgan Funtowicz- Datasets organized by category: public/data/models/ and public/data/kernels/ - data-index script now scans subfolders and writes a categories manifest; any new subfolder automatically becomes an extra tab - Models tab: time-evolution line charts (unchanged) - Kernels tab: grouped bar charts comparing kernel implementations per host, averaged over the filtered range, with best-result KPI and spread vs worst - Kernel records identified via the 'kernel' tag; added labels for duration_ms / bandwidth_gbs / tflops metrics - Sample kernel datasets: attention (flash-attn/sdpa/eager), matmul (cutlass/cublas/triton)9e9dfbc -
Add Svelte 5 performance dashboard for JSONL benchmark data
Morgan Funtowicz- Datasets stored as JSONL records in public/data/<name>.jsonl - Auto-generated data/index.json manifest via scripts/update-data-index.mjs - Filters: date range, host, hardware (multi-select chips) - Per-metric evolution line charts (SVG, no chart lib) with latest-value KPIs and direction-aware deltas vs previous run - Summary stats and full records table with dynamic tag/metric columns - Two sample datasets (llama-3.1-8b-instruct, qwen3-4b)4ed61ad