Commit ·
28a77d3
verified ·
0
Parent(s):
initial commit
Browse files- .gitattributes +35 -0
- README.md +29 -0
- app.js +58 -0
- data/abba.json +147 -0
- data/flux3-5090-public-evidence.zip +0 -0
- data/history.json +322 -0
- data/manifest.json +8 -0
- data/provenance.json +14 -0
- data/quality.json +69 -0
- data/restart-verification.json +31 -0
- data/summary.json +420 -0
- icon.svg +1 -0
- index.html +98 -0
- style.css +28 -0
- styles.css +8 -0
.gitattributes
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: FLUX.3 Action · RTX 5090
|
| 3 |
+
emoji: ⚡
|
| 4 |
+
colorFrom: green
|
| 5 |
+
colorTo: blue
|
| 6 |
+
sdk: static
|
| 7 |
+
app_file: index.html
|
| 8 |
+
pinned: false
|
| 9 |
+
short_description: RTX 5090 优化报告:约 2.05× 加速、质量 gate 与可下载实测证据
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# FLUX.3 Action · RTX 5090 optimization report
|
| 13 |
+
|
| 14 |
+
中文交互报告,记录 2026-09-28 已验证的单卡 RTX 5090 结果。
|
| 15 |
+
|
| 16 |
+
- 原始 BF16 warm `predict_action_chunk`:1396.406 / 1408.608 ms。
|
| 17 |
+
- 最终 ABBA median:684.603 / 685.827 ms,约 2.04–2.05×。
|
| 18 |
+
- 本轮相对固定 Sage2 混合精度基线的无损优化:延迟额外下降 5.26–5.29%。
|
| 19 |
+
- 120 次 ABBA 请求输出逐位一致;两个固定离线输入通过原质量 gate。
|
| 20 |
+
|
| 21 |
+
总路线包含 FP8 投影与 SageAttention2 近似。仅最后一轮搬运融合、缓存和固定配置优化相对既有混合精度基线无新增近似。历史阶段来自独立进程,不能当作严格单项消融。
|
| 22 |
+
|
| 23 |
+
Timing includes image/VAE conditioning and four video/action denoising steps. Checkpoint loading, Qwen text encoding, compilation and warmup are excluded. This is an offline numerical screen, not robot success-rate evidence.
|
| 24 |
+
|
| 25 |
+
Open `data/flux3-5090-public-evidence.zip` for selected numerical measurements, source hashes and output-hash verification. The site has no backend, dependencies, analytics, model weights or credentials.
|
| 26 |
+
|
| 27 |
+
Reference implementation: https://github.com/lyttttt3333/flux-action-gb200-optimized (pinned 823db016f814d466be0b140434d71909181bcff0).
|
| 28 |
+
|
| 29 |
+
Visual reference: https://transactions-layout-photographs-paperbacks.trycloudflare.com/ . Its hardware and simulation results are not used as this report's measurements.
|
app.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
const $ = (id) => document.getElementById(id);
|
| 3 |
+
const fmt = (n, digits = 3) => n.toLocaleString('en-US', { minimumFractionDigits: digits, maximumFractionDigits: digits });
|
| 4 |
+
const caseNames = ['将黄色杯中的内容物倒入粉色碗中', '将杯中的内容物倒入碗中'];
|
| 5 |
+
let data, abba;
|
| 6 |
+
|
| 7 |
+
function drawStages(index) {
|
| 8 |
+
const stages = data.history.map(s => ({ ...s, ms: s.cases[index].median_ms }));
|
| 9 |
+
stages.push({ label: '全部无损优化', detail: '最终 ABBA · 固定 launcher', ms: data.cases[index].final_ms });
|
| 10 |
+
$('stage-bars').innerHTML = stages.map((s, i) => `<div class="stage-row ${i === 4 ? 'final' : ''}"><span class="stage-index">0${i + 1}</span><div class="stage-label"><b>${s.label}</b><small>${s.detail}</small></div><div class="stage-track"><div class="stage-fill" style="width:${s.ms / 1500 * 100}%"></div></div><span class="stage-value">${fmt(s.ms, 1)}</span></div>`).join('');
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
function drawAbba(index) {
|
| 14 |
+
const c = abba.cases[index], w = 620, h = 212, left = 40, right = 12, top = 17, bottom = 27;
|
| 15 |
+
const x = i => left + i / 29 * (w - left - right);
|
| 16 |
+
const y = ms => top + (735 - ms) / 60 * (h - top - bottom);
|
| 17 |
+
const grid = [680, 700, 720, 735].map(v => `<line x1="${left}" x2="${w - right}" y1="${y(v)}" y2="${y(v)}" stroke="#263643" stroke-width="1" stroke-dasharray="3 5"/><text x="${left - 9}" y="${y(v) + 3}" fill="#6c8799" font-size="9" text-anchor="end">${v}</text>`).join('');
|
| 18 |
+
const ticks = [0, 9, 19, 29].map(i => `<text x="${x(i)}" y="${h - 7}" fill="#6c8799" font-size="9" text-anchor="middle">${i + 1}</text>`).join('');
|
| 19 |
+
const series = (arr, color, label) => `<polyline points="${arr.map((s, i) => `${x(i)},${y(s * 1000)}`).join(' ')}" fill="none" stroke="${color}" stroke-width="1.8"/>${arr.map((s, i) => `<circle cx="${x(i)}" cy="${y(s * 1000)}" r="2.3" fill="${color}"><title>${label} · 样本 ${i + 1} · ${fmt(s * 1000)} ms</title></circle>`).join('')}`;
|
| 20 |
+
$('abba-chart').innerHTML = `<svg viewBox="0 0 ${w} ${h}" role="img" aria-label="输入 ${index + 1} 的 30 次交替测量:基线中位数 ${fmt(c.baseline_median * 1000)} 毫秒,优化后 ${fmt(c.candidate_median * 1000)} 毫秒" font-family="ui-monospace,monospace"><text x="6" y="9" fill="#6c8799" font-size="8">ms</text>${grid}${ticks}${series(c.baseline_seconds, '#76aaff', '固定 Sage2 基线')}${series(c.candidate_seconds, '#78efc0', '全部无损优化')}</svg>`;
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
function drawQuality(index) {
|
| 24 |
+
const q = data.cases[index].quality;
|
| 25 |
+
const rows = [
|
| 26 |
+
['Joint MAE', q.joint_mae_rad, data.thresholds.joint_mae_rad, 'rad'],
|
| 27 |
+
['Joint max absolute', q.joint_max_abs_rad, data.thresholds.joint_max_abs_rad, 'rad'],
|
| 28 |
+
['Gripper max absolute', q.gripper_max_abs, data.thresholds.gripper_max_abs, ''],
|
| 29 |
+
];
|
| 30 |
+
$('quality-bars').innerHTML = rows.map(([name, value, threshold, unit]) => `<div class="gate-item"><div class="gate-info"><span>${name}</span><b>${fmt(value, 5)} ${unit}</b></div><div class="gate-track"><div class="gate-fill" style="width:${value / threshold * 100}%"></div></div><div class="gate-foot"><span>PASS · 阈值占用 ${fmt(value / threshold * 100, 1)}%</span><span>≤ ${threshold} ${unit}</span></div></div>`).join('');
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
function selectCase(index) {
|
| 34 |
+
const c = data.cases[index];
|
| 35 |
+
document.querySelectorAll('[data-case]').forEach(b => b.setAttribute('aria-pressed', String(Number(b.dataset.case) === index)));
|
| 36 |
+
document.querySelectorAll('[data-case-number]').forEach(n => n.textContent = '0' + (index + 1));
|
| 37 |
+
$('case-task').textContent = caseNames[index];
|
| 38 |
+
$('selected-speed').textContent = fmt(c.total_speedup);
|
| 39 |
+
$('selected-original').textContent = fmt(c.original_ms) + ' ms';
|
| 40 |
+
$('selected-final').textContent = fmt(c.final_ms) + ' ms';
|
| 41 |
+
$('selected-saved').textContent = fmt(c.original_ms - c.final_ms) + ' ms';
|
| 42 |
+
$('selected-reduction').textContent = fmt(c.latency_reduction_pct, 2) + '%';
|
| 43 |
+
$('abba-before').textContent = fmt(c.sage_baseline_ms);
|
| 44 |
+
$('abba-after').textContent = fmt(c.final_ms);
|
| 45 |
+
$('abba-drop').textContent = fmt(c.lossless_reduction_pct) + '%';
|
| 46 |
+
$('abba-speed').textContent = fmt(c.lossless_speedup, 5) + '×';
|
| 47 |
+
$('recorded-change').textContent = (c.recorded_mae_degradation_rad < 0 ? '−' : '+') + fmt(Math.abs(c.recorded_mae_degradation_rad), 5) + ' rad';
|
| 48 |
+
drawStages(index); drawAbba(index); drawQuality(index);
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
Promise.all(['summary', 'abba'].map(name => fetch(`data/${name}.json`).then(r => {
|
| 52 |
+
if (!r.ok) throw new Error(`Data request failed: ${r.status}`);
|
| 53 |
+
return r.json();
|
| 54 |
+
}))).then(([summary, measurements]) => {
|
| 55 |
+
data = summary; abba = measurements;
|
| 56 |
+
document.querySelectorAll('[data-case]').forEach(b => b.addEventListener('click', () => selectCase(Number(b.dataset.case))));
|
| 57 |
+
selectCase(0);
|
| 58 |
+
}).catch(() => { $('data-error').hidden = false; });
|
data/abba.json
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schedule": "5 warmups/path/input; 15 ABBA groups =30 timed requests/path/input",
|
| 3 |
+
"cases": [
|
| 4 |
+
{
|
| 5 |
+
"id": 0,
|
| 6 |
+
"all_equal": true,
|
| 7 |
+
"baseline_seconds": [
|
| 8 |
+
0.7215428741183132,
|
| 9 |
+
0.7215630980208516,
|
| 10 |
+
0.7208283969666809,
|
| 11 |
+
0.7216508849523962,
|
| 12 |
+
0.721709162928164,
|
| 13 |
+
0.7219365271739662,
|
| 14 |
+
0.7213623591233045,
|
| 15 |
+
0.7218618299812078,
|
| 16 |
+
0.721814390970394,
|
| 17 |
+
0.722335031023249,
|
| 18 |
+
0.7213898259215057,
|
| 19 |
+
0.7227254998870194,
|
| 20 |
+
0.7225153760518879,
|
| 21 |
+
0.7228807101491839,
|
| 22 |
+
0.722390549024567,
|
| 23 |
+
0.7229073690250516,
|
| 24 |
+
0.7221713680773973,
|
| 25 |
+
0.7228042420465499,
|
| 26 |
+
0.7226009389851242,
|
| 27 |
+
0.723247790010646,
|
| 28 |
+
0.7230162888299674,
|
| 29 |
+
0.723113504005596,
|
| 30 |
+
0.7226495151408017,
|
| 31 |
+
0.7234133009333163,
|
| 32 |
+
0.7232693789992481,
|
| 33 |
+
0.7237821849994361,
|
| 34 |
+
0.7234389849472791,
|
| 35 |
+
0.7240682130213827,
|
| 36 |
+
0.7233962488826364,
|
| 37 |
+
0.7238425330724567
|
| 38 |
+
],
|
| 39 |
+
"candidate_seconds": [
|
| 40 |
+
0.6831168460194021,
|
| 41 |
+
0.6830384971108288,
|
| 42 |
+
0.683296618051827,
|
| 43 |
+
0.6839874531142414,
|
| 44 |
+
0.683391195954755,
|
| 45 |
+
0.6834767879918218,
|
| 46 |
+
0.6837543600704521,
|
| 47 |
+
0.6839766527991742,
|
| 48 |
+
0.6839690001215786,
|
| 49 |
+
0.6839444690849632,
|
| 50 |
+
0.683595993090421,
|
| 51 |
+
0.6840801329817623,
|
| 52 |
+
0.6846486919093877,
|
| 53 |
+
0.6848227570299059,
|
| 54 |
+
0.6847369628958404,
|
| 55 |
+
0.6849192259833217,
|
| 56 |
+
0.6841791120823473,
|
| 57 |
+
0.6841553959529847,
|
| 58 |
+
0.6845582721289247,
|
| 59 |
+
0.6847041470464319,
|
| 60 |
+
0.6849565200973302,
|
| 61 |
+
0.6847164791543037,
|
| 62 |
+
0.6847534070257097,
|
| 63 |
+
0.6857836169656366,
|
| 64 |
+
0.6851571181323379,
|
| 65 |
+
0.6851447569206357,
|
| 66 |
+
0.6851655580103397,
|
| 67 |
+
0.6858374699950218,
|
| 68 |
+
0.6852324139326811,
|
| 69 |
+
0.6853820839896798
|
| 70 |
+
],
|
| 71 |
+
"baseline_median": 0.722625227062963,
|
| 72 |
+
"candidate_median": 0.6846034820191562,
|
| 73 |
+
"speedup": 1.0555383459804588
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"id": 1,
|
| 77 |
+
"all_equal": true,
|
| 78 |
+
"baseline_seconds": [
|
| 79 |
+
0.7237811188679188,
|
| 80 |
+
0.724102480802685,
|
| 81 |
+
0.7228789930231869,
|
| 82 |
+
0.7241425660904497,
|
| 83 |
+
0.7233373560011387,
|
| 84 |
+
0.7243766179308295,
|
| 85 |
+
0.7232846422120929,
|
| 86 |
+
0.7244062318932265,
|
| 87 |
+
0.7235502649564296,
|
| 88 |
+
0.7245781610254198,
|
| 89 |
+
0.7240442419424653,
|
| 90 |
+
0.7239963400643319,
|
| 91 |
+
0.7237169879954308,
|
| 92 |
+
0.7246953819412738,
|
| 93 |
+
0.7240158410277218,
|
| 94 |
+
0.7243121459614486,
|
| 95 |
+
0.7240504629444331,
|
| 96 |
+
0.7243953619617969,
|
| 97 |
+
0.7242067898623645,
|
| 98 |
+
0.7247072651516646,
|
| 99 |
+
0.7240296378731728,
|
| 100 |
+
0.7244772890117019,
|
| 101 |
+
0.7238635320682079,
|
| 102 |
+
0.7236039999406785,
|
| 103 |
+
0.7220860028173774,
|
| 104 |
+
0.724464074941352,
|
| 105 |
+
0.7241436359472573,
|
| 106 |
+
0.724624051945284,
|
| 107 |
+
0.7258536440785974,
|
| 108 |
+
0.7243875281419605
|
| 109 |
+
],
|
| 110 |
+
"candidate_seconds": [
|
| 111 |
+
0.6853969090152532,
|
| 112 |
+
0.6850661379285157,
|
| 113 |
+
0.6851504719816148,
|
| 114 |
+
0.6856859240215272,
|
| 115 |
+
0.6857005190104246,
|
| 116 |
+
0.6854614650364965,
|
| 117 |
+
0.6855876059271395,
|
| 118 |
+
0.6857800709549338,
|
| 119 |
+
0.6867013331502676,
|
| 120 |
+
0.6857157070189714,
|
| 121 |
+
0.6871584148611873,
|
| 122 |
+
0.6861556731164455,
|
| 123 |
+
0.6857722969725728,
|
| 124 |
+
0.6856842359993607,
|
| 125 |
+
0.6859679878689349,
|
| 126 |
+
0.6858553939964622,
|
| 127 |
+
0.6861616291571409,
|
| 128 |
+
0.6862659871112555,
|
| 129 |
+
0.6857995230238885,
|
| 130 |
+
0.6859600311145186,
|
| 131 |
+
0.6858970308676362,
|
| 132 |
+
0.6858985079452395,
|
| 133 |
+
0.6860023229382932,
|
| 134 |
+
0.6885548608843237,
|
| 135 |
+
0.6857232600450516,
|
| 136 |
+
0.6856763451360166,
|
| 137 |
+
0.6860081609338522,
|
| 138 |
+
0.6862466591410339,
|
| 139 |
+
0.6857836488634348,
|
| 140 |
+
0.6862123250029981
|
| 141 |
+
],
|
| 142 |
+
"baseline_median": 0.7241225234465674,
|
| 143 |
+
"candidate_median": 0.6858274585101753,
|
| 144 |
+
"speedup": 1.055837754031576
|
| 145 |
+
}
|
| 146 |
+
]
|
| 147 |
+
}
|
data/flux3-5090-public-evidence.zip
ADDED
|
Binary file (11.5 kB). View file
|
|
|
data/history.json
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"id": "original-v1",
|
| 4 |
+
"label": "原始 BF16",
|
| 5 |
+
"detail": "原始 PyTorch 路径",
|
| 6 |
+
"kind": "baseline",
|
| 7 |
+
"cases": [
|
| 8 |
+
{
|
| 9 |
+
"id": 0,
|
| 10 |
+
"median_ms": 1396.405591396615,
|
| 11 |
+
"seconds": [
|
| 12 |
+
1.381904570851475,
|
| 13 |
+
1.3823811470065266,
|
| 14 |
+
1.3835190190002322,
|
| 15 |
+
1.384274504845962,
|
| 16 |
+
1.3872690789867193,
|
| 17 |
+
1.3898364559281617,
|
| 18 |
+
1.3898142939433455,
|
| 19 |
+
1.3900694691110402,
|
| 20 |
+
1.3914941870607436,
|
| 21 |
+
1.3923688249196857,
|
| 22 |
+
1.3926732998806983,
|
| 23 |
+
1.393239316996187,
|
| 24 |
+
1.39420221792534,
|
| 25 |
+
1.3945417830254883,
|
| 26 |
+
1.396204066928476,
|
| 27 |
+
1.3966071158647537,
|
| 28 |
+
1.3980501149781048,
|
| 29 |
+
1.3979450820479542,
|
| 30 |
+
1.4022394558414817,
|
| 31 |
+
1.3986742771230638,
|
| 32 |
+
1.399807906942442,
|
| 33 |
+
1.3996493748854846,
|
| 34 |
+
1.4003535558003932,
|
| 35 |
+
1.4010304759722203,
|
| 36 |
+
1.4015033501200378,
|
| 37 |
+
1.401030495064333,
|
| 38 |
+
1.4022455080412328,
|
| 39 |
+
1.4056538008153439,
|
| 40 |
+
1.4028159650042653,
|
| 41 |
+
1.4028324319515377
|
| 42 |
+
]
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"id": 1,
|
| 46 |
+
"median_ms": 1408.6075149243698,
|
| 47 |
+
"seconds": [
|
| 48 |
+
1.405564164975658,
|
| 49 |
+
1.407197569962591,
|
| 50 |
+
1.4047191909048706,
|
| 51 |
+
1.4090528008528054,
|
| 52 |
+
1.4029856929555535,
|
| 53 |
+
1.405674556037411,
|
| 54 |
+
1.4063881929032505,
|
| 55 |
+
1.4073772400151938,
|
| 56 |
+
1.4071643080096692,
|
| 57 |
+
1.4072683060076088,
|
| 58 |
+
1.4071268800180405,
|
| 59 |
+
1.4094544500112534,
|
| 60 |
+
1.4084794430527836,
|
| 61 |
+
1.4084400490392,
|
| 62 |
+
1.4084894431289285,
|
| 63 |
+
1.4089460279792547,
|
| 64 |
+
1.40849255095236,
|
| 65 |
+
1.4126053720247,
|
| 66 |
+
1.4111325331032276,
|
| 67 |
+
1.4123897759709507,
|
| 68 |
+
1.407148095080629,
|
| 69 |
+
1.4098139212001115,
|
| 70 |
+
1.4112632770556957,
|
| 71 |
+
1.409819349180907,
|
| 72 |
+
1.4094535470940173,
|
| 73 |
+
1.4090065830387175,
|
| 74 |
+
1.409109738888219,
|
| 75 |
+
1.4087432380765676,
|
| 76 |
+
1.4087224788963795,
|
| 77 |
+
1.4097991108428687
|
| 78 |
+
]
|
| 79 |
+
}
|
| 80 |
+
]
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"id": "optimized-v1",
|
| 84 |
+
"label": "编译与执行优化",
|
| 85 |
+
"detail": "编译 / 共享 CFG / 融合 UniPC",
|
| 86 |
+
"kind": "execution",
|
| 87 |
+
"cases": [
|
| 88 |
+
{
|
| 89 |
+
"id": 0,
|
| 90 |
+
"median_ms": 1105.726829962805,
|
| 91 |
+
"seconds": [
|
| 92 |
+
1.0939354179427028,
|
| 93 |
+
1.0950800881255418,
|
| 94 |
+
1.095570659963414,
|
| 95 |
+
1.0971358560491353,
|
| 96 |
+
1.1001360081136227,
|
| 97 |
+
1.1005526389926672,
|
| 98 |
+
1.101168611086905,
|
| 99 |
+
1.1015601688995957,
|
| 100 |
+
1.1027813260443509,
|
| 101 |
+
1.1028800609055907,
|
| 102 |
+
1.104188428958878,
|
| 103 |
+
1.1057327119633555,
|
| 104 |
+
1.1049868501722813,
|
| 105 |
+
1.1052685719914734,
|
| 106 |
+
1.1054474129341543,
|
| 107 |
+
1.1057209479622543,
|
| 108 |
+
1.1067480009514838,
|
| 109 |
+
1.1067145089618862,
|
| 110 |
+
1.106929527129978,
|
| 111 |
+
1.1069671148434281,
|
| 112 |
+
1.1073070678394288,
|
| 113 |
+
1.108028369024396,
|
| 114 |
+
1.1088999500498176,
|
| 115 |
+
1.109519376885146,
|
| 116 |
+
1.109954441897571,
|
| 117 |
+
1.1100162561051548,
|
| 118 |
+
1.109944449039176,
|
| 119 |
+
1.1108431718312204,
|
| 120 |
+
1.1105548560153693,
|
| 121 |
+
1.1105069699697196
|
| 122 |
+
]
|
| 123 |
+
},
|
| 124 |
+
{
|
| 125 |
+
"id": 1,
|
| 126 |
+
"median_ms": 1115.74458447285,
|
| 127 |
+
"seconds": [
|
| 128 |
+
1.112592165125534,
|
| 129 |
+
1.1125846428330988,
|
| 130 |
+
1.113525175023824,
|
| 131 |
+
1.1139120161533356,
|
| 132 |
+
1.1142586760688573,
|
| 133 |
+
1.1139136960264295,
|
| 134 |
+
1.1139425560832024,
|
| 135 |
+
1.113907593069598,
|
| 136 |
+
1.114756850991398,
|
| 137 |
+
1.114386186003685,
|
| 138 |
+
1.1148598240688443,
|
| 139 |
+
1.114664763910696,
|
| 140 |
+
1.1149549309629947,
|
| 141 |
+
1.1150471579749137,
|
| 142 |
+
1.115875778021291,
|
| 143 |
+
1.1167280869558454,
|
| 144 |
+
1.1158945939969271,
|
| 145 |
+
1.1162209569010884,
|
| 146 |
+
1.116134142037481,
|
| 147 |
+
1.1156974020414054,
|
| 148 |
+
1.1157917669042945,
|
| 149 |
+
1.1158420711290091,
|
| 150 |
+
1.1168441488407552,
|
| 151 |
+
1.1167204279918224,
|
| 152 |
+
1.116568208904937,
|
| 153 |
+
1.116884137969464,
|
| 154 |
+
1.1174702809657902,
|
| 155 |
+
1.1172106221783906,
|
| 156 |
+
1.1169800360221416,
|
| 157 |
+
1.1172712589614093
|
| 158 |
+
]
|
| 159 |
+
}
|
| 160 |
+
]
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"id": "rowwise-fp8-qkbf16-v3",
|
| 164 |
+
"label": "混合精度投影",
|
| 165 |
+
"detail": "保留 BF16 Q/K;其他选定投影 FP8",
|
| 166 |
+
"kind": "precision",
|
| 167 |
+
"cases": [
|
| 168 |
+
{
|
| 169 |
+
"id": 0,
|
| 170 |
+
"median_ms": 777.765735052526,
|
| 171 |
+
"seconds": [
|
| 172 |
+
0.77187519101426,
|
| 173 |
+
0.7719290389213711,
|
| 174 |
+
0.7720805930439383,
|
| 175 |
+
0.772506375098601,
|
| 176 |
+
0.7726934109814465,
|
| 177 |
+
0.7733639311045408,
|
| 178 |
+
0.7783755280543119,
|
| 179 |
+
0.7772313428577036,
|
| 180 |
+
0.7740706850308925,
|
| 181 |
+
0.7745594850275666,
|
| 182 |
+
0.7735607258509845,
|
| 183 |
+
0.7744390738662332,
|
| 184 |
+
0.7762669958174229,
|
| 185 |
+
0.7767264801077545,
|
| 186 |
+
0.7775059519335628,
|
| 187 |
+
0.7782417458947748,
|
| 188 |
+
0.77767852996476,
|
| 189 |
+
0.777852940140292,
|
| 190 |
+
0.7778786199633032,
|
| 191 |
+
0.7795840729959309,
|
| 192 |
+
0.7801161350216717,
|
| 193 |
+
0.7802730789408088,
|
| 194 |
+
0.7787462549749762,
|
| 195 |
+
0.7800344449933618,
|
| 196 |
+
0.779274526052177,
|
| 197 |
+
0.7795446920208633,
|
| 198 |
+
0.7796726578380913,
|
| 199 |
+
0.7794401370920241,
|
| 200 |
+
0.7796120920684189,
|
| 201 |
+
0.7798830349929631
|
| 202 |
+
]
|
| 203 |
+
},
|
| 204 |
+
{
|
| 205 |
+
"id": 1,
|
| 206 |
+
"median_ms": 784.4128310680389,
|
| 207 |
+
"seconds": [
|
| 208 |
+
0.7819512649439275,
|
| 209 |
+
0.7858534760307521,
|
| 210 |
+
0.7826038890052587,
|
| 211 |
+
0.7843325608409941,
|
| 212 |
+
0.7836677909363061,
|
| 213 |
+
0.7824699589982629,
|
| 214 |
+
0.783658463973552,
|
| 215 |
+
0.7829139940440655,
|
| 216 |
+
0.7832127250730991,
|
| 217 |
+
0.7833697120659053,
|
| 218 |
+
0.7866980000399053,
|
| 219 |
+
0.7831063650082797,
|
| 220 |
+
0.7833628219086677,
|
| 221 |
+
0.7835651049390435,
|
| 222 |
+
0.7846796528901905,
|
| 223 |
+
0.7841983931139112,
|
| 224 |
+
0.7844528339337558,
|
| 225 |
+
0.7843951319810003,
|
| 226 |
+
0.7842397268395871,
|
| 227 |
+
0.7844305301550776,
|
| 228 |
+
0.7853629479650408,
|
| 229 |
+
0.7863788141403347,
|
| 230 |
+
0.7865908748935908,
|
| 231 |
+
0.7854677538853139,
|
| 232 |
+
0.7849521010648459,
|
| 233 |
+
0.7856644811108708,
|
| 234 |
+
0.7855948850046843,
|
| 235 |
+
0.7851674810517579,
|
| 236 |
+
0.7856167980935425,
|
| 237 |
+
0.7849965011700988
|
| 238 |
+
]
|
| 239 |
+
}
|
| 240 |
+
]
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"id": "sage2-smooth-thread-v3-v8",
|
| 244 |
+
"label": "SageAttention2",
|
| 245 |
+
"detail": "INT8 QK / FP8 PV / K、V smooth",
|
| 246 |
+
"kind": "precision",
|
| 247 |
+
"cases": [
|
| 248 |
+
{
|
| 249 |
+
"id": 0,
|
| 250 |
+
"median_ms": 711.7815556703135,
|
| 251 |
+
"seconds": [
|
| 252 |
+
0.7070603989996016,
|
| 253 |
+
0.7084723520092666,
|
| 254 |
+
0.7090139030478895,
|
| 255 |
+
0.7103253770619631,
|
| 256 |
+
0.7089668491389602,
|
| 257 |
+
0.7082902421243489,
|
| 258 |
+
0.709116626996547,
|
| 259 |
+
0.708626707084477,
|
| 260 |
+
0.7087468160316348,
|
| 261 |
+
0.7092719411011785,
|
| 262 |
+
0.7096243631094694,
|
| 263 |
+
0.7107974591199309,
|
| 264 |
+
0.711419414030388,
|
| 265 |
+
0.7116676061414182,
|
| 266 |
+
0.711255727801472,
|
| 267 |
+
0.7157650021836162,
|
| 268 |
+
0.7118955051992089,
|
| 269 |
+
0.7131657260470092,
|
| 270 |
+
0.7133188520092517,
|
| 271 |
+
0.7130064801312983,
|
| 272 |
+
0.7137848499696702,
|
| 273 |
+
0.7135631800629199,
|
| 274 |
+
0.713997723069042,
|
| 275 |
+
0.7139290149789304,
|
| 276 |
+
0.714752787956968,
|
| 277 |
+
0.7143818931654096,
|
| 278 |
+
0.7146923071704805,
|
| 279 |
+
0.7146690050140023,
|
| 280 |
+
0.7152265170589089,
|
| 281 |
+
0.717653329949826
|
| 282 |
+
]
|
| 283 |
+
},
|
| 284 |
+
{
|
| 285 |
+
"id": 1,
|
| 286 |
+
"median_ms": 718.0130195338279,
|
| 287 |
+
"seconds": [
|
| 288 |
+
0.715362663147971,
|
| 289 |
+
0.7150260568596423,
|
| 290 |
+
0.7157730159815401,
|
| 291 |
+
0.7159747669938952,
|
| 292 |
+
0.7159235149156302,
|
| 293 |
+
0.71656369487755,
|
| 294 |
+
0.7166073801927269,
|
| 295 |
+
0.7165130679495633,
|
| 296 |
+
0.7167868439573795,
|
| 297 |
+
0.7174572390504181,
|
| 298 |
+
0.7176454800646752,
|
| 299 |
+
0.7179852838162333,
|
| 300 |
+
0.7185234068892896,
|
| 301 |
+
0.7180336250457913,
|
| 302 |
+
0.7182956060860306,
|
| 303 |
+
0.7177435311023146,
|
| 304 |
+
0.7184870031196624,
|
| 305 |
+
0.7185444550123066,
|
| 306 |
+
0.7183321320917457,
|
| 307 |
+
0.718570914119482,
|
| 308 |
+
0.7184261330403388,
|
| 309 |
+
0.7179924140218645,
|
| 310 |
+
0.7179150430019945,
|
| 311 |
+
0.7181572718545794,
|
| 312 |
+
0.718563802074641,
|
| 313 |
+
0.71898004389368,
|
| 314 |
+
0.7186842069495469,
|
| 315 |
+
0.7187076800037175,
|
| 316 |
+
0.7191525478847325,
|
| 317 |
+
0.7190727861598134
|
| 318 |
+
]
|
| 319 |
+
}
|
| 320 |
+
]
|
| 321 |
+
}
|
| 322 |
+
]
|
data/manifest.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"abba.json": "fda85cb8f3e0dc4c160a253c78a5542131ef9dff3e122e94d3f42baec54aebf1",
|
| 3 |
+
"history.json": "2b247bf1ae6c8881e7def8bc58077726acd606f6a85c0d7764bcd40bd7574a42",
|
| 4 |
+
"provenance.json": "6180dfe694cf0ff531abcaecbd1e9ce54a465990b9c9ac5c476516fa45bd55f7",
|
| 5 |
+
"quality.json": "4292372ce8d662200133c46fdca13f95ccdd2b78ed83a0b400dc912555fddc79",
|
| 6 |
+
"restart-verification.json": "daedfca77eda41b30453c222c306dbc5b6dacd9513551ff5c2be24199432a4f7",
|
| 7 |
+
"summary.json": "8a1412140e607e83790a8d9ff4ee1c2a3ac113d0cc82278aee6abeb04fa83d15"
|
| 8 |
+
}
|
data/provenance.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"source_artifact_sha256": {
|
| 3 |
+
"original-v1/report.json": "486210abd810631ce8a677934e7d2be1bec4cb638081b275a8bb730374dbc212",
|
| 4 |
+
"optimized-v1/report.json": "bd6f8c4415749aad05e24a2d1919708fc5878c64da71d450d53926612c7121a5",
|
| 5 |
+
"rowwise-fp8-qkbf16-v3/report.json": "098b4f4a77a258bf8c668dc1a52f0de225974e8e6a69518cfdd0d757f9140ad5",
|
| 6 |
+
"sage2-smooth-thread-v3-v8/report.json": "3069ab3c1a168c3984eccc880a2c6e70998783d2ab08937cfc62e5aafe424c75",
|
| 7 |
+
"lossless-deploy-v1/abba.json": "fda85cb8f3e0dc4c160a253c78a5542131ef9dff3e122e94d3f42baec54aebf1",
|
| 8 |
+
"comparison-lossless-deploy-v1-all.json": "1fba3830e7472c196db4b8a6c88578305818c50a7e372b23eb057cf390820864",
|
| 9 |
+
"lossless-selected-pinned-v1/restart_verification.json": "daedfca77eda41b30453c222c306dbc5b6dacd9513551ff5c2be24199432a4f7"
|
| 10 |
+
},
|
| 11 |
+
"reference_commit": "823db016f814d466be0b140434d71909181bcff0",
|
| 12 |
+
"baseline_commit": "e2dd1d8dbc5977b54315d61f7548c63c043d6d4f",
|
| 13 |
+
"note": "Selected numerical evidence, not the full internal experiment archive. Source hashes identify the original unmodified artifacts. No weights, observations, logs, host identifiers or credentials are included."
|
| 14 |
+
}
|
data/quality.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"baseline": "original-v1",
|
| 3 |
+
"candidate": "lossless-deploy-v1-all",
|
| 4 |
+
"thresholds": {
|
| 5 |
+
"joint_mae_rad": 0.02,
|
| 6 |
+
"joint_max_abs_rad": 0.05,
|
| 7 |
+
"gripper_max_abs": 0.05,
|
| 8 |
+
"recorded_joint_mae_degradation_rad": 0.02
|
| 9 |
+
},
|
| 10 |
+
"all_quality_pass": true,
|
| 11 |
+
"cases": [
|
| 12 |
+
{
|
| 13 |
+
"id": 0,
|
| 14 |
+
"vs_original": {
|
| 15 |
+
"joint_mae_rad": 0.009817952103081293,
|
| 16 |
+
"joint_max_abs_rad": 0.04699385166168213,
|
| 17 |
+
"gripper_mae": 0.002278873696923256,
|
| 18 |
+
"gripper_max_abs": 0.007245779037475586
|
| 19 |
+
},
|
| 20 |
+
"against_recorded": {
|
| 21 |
+
"original": {
|
| 22 |
+
"joint_mae_rad": 0.08577735238941386,
|
| 23 |
+
"joint_max_abs_rad": 0.2407611608505249,
|
| 24 |
+
"gripper_mae": 0.030396929010748863,
|
| 25 |
+
"gripper_max_abs": 0.03756916522979736
|
| 26 |
+
},
|
| 27 |
+
"optimized": {
|
| 28 |
+
"joint_mae_rad": 0.07718483853802484,
|
| 29 |
+
"joint_max_abs_rad": 0.21235013008117676,
|
| 30 |
+
"gripper_mae": 0.031708963215351105,
|
| 31 |
+
"gripper_max_abs": 0.037207841873168945
|
| 32 |
+
}
|
| 33 |
+
},
|
| 34 |
+
"quality_screen_pass": true,
|
| 35 |
+
"repeat_max_abs": {
|
| 36 |
+
"original": 0.0,
|
| 37 |
+
"optimized": 0.0
|
| 38 |
+
}
|
| 39 |
+
},
|
| 40 |
+
{
|
| 41 |
+
"id": 1,
|
| 42 |
+
"vs_original": {
|
| 43 |
+
"joint_mae_rad": 0.015379066013598017,
|
| 44 |
+
"joint_max_abs_rad": 0.0453333854675293,
|
| 45 |
+
"gripper_mae": 0.002805577591061592,
|
| 46 |
+
"gripper_max_abs": 0.010859251022338867
|
| 47 |
+
},
|
| 48 |
+
"against_recorded": {
|
| 49 |
+
"original": {
|
| 50 |
+
"joint_mae_rad": 0.04108549371760871,
|
| 51 |
+
"joint_max_abs_rad": 0.10416826605796814,
|
| 52 |
+
"gripper_mae": 0.01753225363790989,
|
| 53 |
+
"gripper_max_abs": 0.03046947717666626
|
| 54 |
+
},
|
| 55 |
+
"optimized": {
|
| 56 |
+
"joint_mae_rad": 0.033408622323934524,
|
| 57 |
+
"joint_max_abs_rad": 0.094066321849823,
|
| 58 |
+
"gripper_mae": 0.018700264394283295,
|
| 59 |
+
"gripper_max_abs": 0.03168797492980957
|
| 60 |
+
}
|
| 61 |
+
},
|
| 62 |
+
"quality_screen_pass": true,
|
| 63 |
+
"repeat_max_abs": {
|
| 64 |
+
"original": 0.0,
|
| 65 |
+
"optimized": 0.0
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
]
|
| 69 |
+
}
|
data/restart-verification.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "COMPLETE",
|
| 3 |
+
"bootstrap_exact": true,
|
| 4 |
+
"all_quality_pass": true,
|
| 5 |
+
"cases": [
|
| 6 |
+
{
|
| 7 |
+
"id": 0,
|
| 8 |
+
"npy_file_hashes": {
|
| 9 |
+
"restart-diagnostic-v2": "b94ec2cdfe330b5e8b9a5eadf9dcb7a0611816a5fcd6ebec9d52c8aa2902e132",
|
| 10 |
+
"lossless-deploy-v1-baseline": "b94ec2cdfe330b5e8b9a5eadf9dcb7a0611816a5fcd6ebec9d52c8aa2902e132",
|
| 11 |
+
"lossless-deploy-v1-all": "b94ec2cdfe330b5e8b9a5eadf9dcb7a0611816a5fcd6ebec9d52c8aa2902e132",
|
| 12 |
+
"lossless-selected-pinned-v1": "b94ec2cdfe330b5e8b9a5eadf9dcb7a0611816a5fcd6ebec9d52c8aa2902e132"
|
| 13 |
+
},
|
| 14 |
+
"byte_exact_across_processes": true,
|
| 15 |
+
"median_seconds": 0.6741054314188659,
|
| 16 |
+
"repeat_max_abs": 0.0
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"id": 1,
|
| 20 |
+
"npy_file_hashes": {
|
| 21 |
+
"restart-diagnostic-v2": "cce231bfffb186e7f0c4377bd8a3388918091461788a87a518fa6367c2c1c99a",
|
| 22 |
+
"lossless-deploy-v1-baseline": "cce231bfffb186e7f0c4377bd8a3388918091461788a87a518fa6367c2c1c99a",
|
| 23 |
+
"lossless-deploy-v1-all": "cce231bfffb186e7f0c4377bd8a3388918091461788a87a518fa6367c2c1c99a",
|
| 24 |
+
"lossless-selected-pinned-v1": "cce231bfffb186e7f0c4377bd8a3388918091461788a87a518fa6367c2c1c99a"
|
| 25 |
+
},
|
| 26 |
+
"byte_exact_across_processes": true,
|
| 27 |
+
"median_seconds": 0.6803386386018246,
|
| 28 |
+
"repeat_max_abs": 0.0
|
| 29 |
+
}
|
| 30 |
+
]
|
| 31 |
+
}
|
data/summary.json
ADDED
|
@@ -0,0 +1,420 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"title": "FLUX.3 Action · RTX 5090",
|
| 3 |
+
"date": "2026-09-28",
|
| 4 |
+
"hardware": "NVIDIA GeForce RTX 5090 / SM120 / single GPU",
|
| 5 |
+
"runtime": {
|
| 6 |
+
"torch": "2.12.1+cu130",
|
| 7 |
+
"triton": "3.7.1",
|
| 8 |
+
"sageattention": "2.2.0"
|
| 9 |
+
},
|
| 10 |
+
"timing_scope": "warm predict_action_chunk including image/VAE conditioning and all four video/action denoising steps; excludes checkpoint load, Qwen text encoding, first compilation and warmups",
|
| 11 |
+
"statistic": "median",
|
| 12 |
+
"warmup": 5,
|
| 13 |
+
"repeats_per_path_per_input": 30,
|
| 14 |
+
"abba_groups": 15,
|
| 15 |
+
"exact_requests": 120,
|
| 16 |
+
"model_revisions": {
|
| 17 |
+
"droid": {
|
| 18 |
+
"repo_id": "black-forest-labs/flux-3-action-droid",
|
| 19 |
+
"revision": "3d0887bdc7acee1686b19afac267125d519ff4f1"
|
| 20 |
+
},
|
| 21 |
+
"encoders": {
|
| 22 |
+
"repo_id": "black-forest-labs/flux-3-action-base",
|
| 23 |
+
"revision": "62878e2925e59b7a89ec14463ce89932624c490d"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"config": {
|
| 27 |
+
"sampler": "cosmos_unipc",
|
| 28 |
+
"num_inference_steps": 4,
|
| 29 |
+
"sampler_shift": 5.0,
|
| 30 |
+
"guidance_scale": 4.0,
|
| 31 |
+
"guidance_scale_action": 1.0,
|
| 32 |
+
"inference_seed": 0,
|
| 33 |
+
"chunk_size": 32,
|
| 34 |
+
"action_dim": 8,
|
| 35 |
+
"fps": 15.0,
|
| 36 |
+
"canvas_hw": [
|
| 37 |
+
544,
|
| 38 |
+
736
|
| 39 |
+
]
|
| 40 |
+
},
|
| 41 |
+
"cases": [
|
| 42 |
+
{
|
| 43 |
+
"id": 0,
|
| 44 |
+
"task": "Pour the contents of the yellow cup into the pink bowl",
|
| 45 |
+
"observation_sha256": "722f9211bfaae0526eecda317cff6ba015ddfebe887bbf92450221b3838ba07f",
|
| 46 |
+
"original_ms": 1396.405591396615,
|
| 47 |
+
"sage_baseline_ms": 722.625227062963,
|
| 48 |
+
"final_ms": 684.6034820191562,
|
| 49 |
+
"total_speedup": 2.039729022817826,
|
| 50 |
+
"latency_reduction_pct": 50.97387992163149,
|
| 51 |
+
"lossless_speedup": 1.0555383459804588,
|
| 52 |
+
"lossless_reduction_pct": 5.261613298271117,
|
| 53 |
+
"quality": {
|
| 54 |
+
"joint_mae_rad": 0.009817952103081293,
|
| 55 |
+
"joint_max_abs_rad": 0.04699385166168213,
|
| 56 |
+
"gripper_mae": 0.002278873696923256,
|
| 57 |
+
"gripper_max_abs": 0.007245779037475586
|
| 58 |
+
},
|
| 59 |
+
"recorded_mae_degradation_rad": -0.008592513851389025,
|
| 60 |
+
"all_quality_pass": true,
|
| 61 |
+
"exact": true
|
| 62 |
+
},
|
| 63 |
+
{
|
| 64 |
+
"id": 1,
|
| 65 |
+
"task": "Pour the contents of the cup into the bowl",
|
| 66 |
+
"observation_sha256": "aa63d0eeb61347dbfb2808c6dd832c8d00f4533759231edab6943fc4895007e7",
|
| 67 |
+
"original_ms": 1408.6075149243698,
|
| 68 |
+
"sage_baseline_ms": 724.1225234465674,
|
| 69 |
+
"final_ms": 685.8274585101753,
|
| 70 |
+
"total_speedup": 2.0538803126726526,
|
| 71 |
+
"latency_reduction_pct": 51.31167118989859,
|
| 72 |
+
"lossless_speedup": 1.055837754031576,
|
| 73 |
+
"lossless_reduction_pct": 5.2884786339915335,
|
| 74 |
+
"quality": {
|
| 75 |
+
"joint_mae_rad": 0.015379066013598017,
|
| 76 |
+
"joint_max_abs_rad": 0.0453333854675293,
|
| 77 |
+
"gripper_mae": 0.002805577591061592,
|
| 78 |
+
"gripper_max_abs": 0.010859251022338867
|
| 79 |
+
},
|
| 80 |
+
"recorded_mae_degradation_rad": -0.007676871393674185,
|
| 81 |
+
"all_quality_pass": true,
|
| 82 |
+
"exact": true
|
| 83 |
+
}
|
| 84 |
+
],
|
| 85 |
+
"history": [
|
| 86 |
+
{
|
| 87 |
+
"id": "original-v1",
|
| 88 |
+
"label": "原始 BF16",
|
| 89 |
+
"detail": "原始 PyTorch 路径",
|
| 90 |
+
"kind": "baseline",
|
| 91 |
+
"cases": [
|
| 92 |
+
{
|
| 93 |
+
"id": 0,
|
| 94 |
+
"median_ms": 1396.405591396615,
|
| 95 |
+
"seconds": [
|
| 96 |
+
1.381904570851475,
|
| 97 |
+
1.3823811470065266,
|
| 98 |
+
1.3835190190002322,
|
| 99 |
+
1.384274504845962,
|
| 100 |
+
1.3872690789867193,
|
| 101 |
+
1.3898364559281617,
|
| 102 |
+
1.3898142939433455,
|
| 103 |
+
1.3900694691110402,
|
| 104 |
+
1.3914941870607436,
|
| 105 |
+
1.3923688249196857,
|
| 106 |
+
1.3926732998806983,
|
| 107 |
+
1.393239316996187,
|
| 108 |
+
1.39420221792534,
|
| 109 |
+
1.3945417830254883,
|
| 110 |
+
1.396204066928476,
|
| 111 |
+
1.3966071158647537,
|
| 112 |
+
1.3980501149781048,
|
| 113 |
+
1.3979450820479542,
|
| 114 |
+
1.4022394558414817,
|
| 115 |
+
1.3986742771230638,
|
| 116 |
+
1.399807906942442,
|
| 117 |
+
1.3996493748854846,
|
| 118 |
+
1.4003535558003932,
|
| 119 |
+
1.4010304759722203,
|
| 120 |
+
1.4015033501200378,
|
| 121 |
+
1.401030495064333,
|
| 122 |
+
1.4022455080412328,
|
| 123 |
+
1.4056538008153439,
|
| 124 |
+
1.4028159650042653,
|
| 125 |
+
1.4028324319515377
|
| 126 |
+
]
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"id": 1,
|
| 130 |
+
"median_ms": 1408.6075149243698,
|
| 131 |
+
"seconds": [
|
| 132 |
+
1.405564164975658,
|
| 133 |
+
1.407197569962591,
|
| 134 |
+
1.4047191909048706,
|
| 135 |
+
1.4090528008528054,
|
| 136 |
+
1.4029856929555535,
|
| 137 |
+
1.405674556037411,
|
| 138 |
+
1.4063881929032505,
|
| 139 |
+
1.4073772400151938,
|
| 140 |
+
1.4071643080096692,
|
| 141 |
+
1.4072683060076088,
|
| 142 |
+
1.4071268800180405,
|
| 143 |
+
1.4094544500112534,
|
| 144 |
+
1.4084794430527836,
|
| 145 |
+
1.4084400490392,
|
| 146 |
+
1.4084894431289285,
|
| 147 |
+
1.4089460279792547,
|
| 148 |
+
1.40849255095236,
|
| 149 |
+
1.4126053720247,
|
| 150 |
+
1.4111325331032276,
|
| 151 |
+
1.4123897759709507,
|
| 152 |
+
1.407148095080629,
|
| 153 |
+
1.4098139212001115,
|
| 154 |
+
1.4112632770556957,
|
| 155 |
+
1.409819349180907,
|
| 156 |
+
1.4094535470940173,
|
| 157 |
+
1.4090065830387175,
|
| 158 |
+
1.409109738888219,
|
| 159 |
+
1.4087432380765676,
|
| 160 |
+
1.4087224788963795,
|
| 161 |
+
1.4097991108428687
|
| 162 |
+
]
|
| 163 |
+
}
|
| 164 |
+
]
|
| 165 |
+
},
|
| 166 |
+
{
|
| 167 |
+
"id": "optimized-v1",
|
| 168 |
+
"label": "编译与执行优化",
|
| 169 |
+
"detail": "编译 / 共享 CFG / 融合 UniPC",
|
| 170 |
+
"kind": "execution",
|
| 171 |
+
"cases": [
|
| 172 |
+
{
|
| 173 |
+
"id": 0,
|
| 174 |
+
"median_ms": 1105.726829962805,
|
| 175 |
+
"seconds": [
|
| 176 |
+
1.0939354179427028,
|
| 177 |
+
1.0950800881255418,
|
| 178 |
+
1.095570659963414,
|
| 179 |
+
1.0971358560491353,
|
| 180 |
+
1.1001360081136227,
|
| 181 |
+
1.1005526389926672,
|
| 182 |
+
1.101168611086905,
|
| 183 |
+
1.1015601688995957,
|
| 184 |
+
1.1027813260443509,
|
| 185 |
+
1.1028800609055907,
|
| 186 |
+
1.104188428958878,
|
| 187 |
+
1.1057327119633555,
|
| 188 |
+
1.1049868501722813,
|
| 189 |
+
1.1052685719914734,
|
| 190 |
+
1.1054474129341543,
|
| 191 |
+
1.1057209479622543,
|
| 192 |
+
1.1067480009514838,
|
| 193 |
+
1.1067145089618862,
|
| 194 |
+
1.106929527129978,
|
| 195 |
+
1.1069671148434281,
|
| 196 |
+
1.1073070678394288,
|
| 197 |
+
1.108028369024396,
|
| 198 |
+
1.1088999500498176,
|
| 199 |
+
1.109519376885146,
|
| 200 |
+
1.109954441897571,
|
| 201 |
+
1.1100162561051548,
|
| 202 |
+
1.109944449039176,
|
| 203 |
+
1.1108431718312204,
|
| 204 |
+
1.1105548560153693,
|
| 205 |
+
1.1105069699697196
|
| 206 |
+
]
|
| 207 |
+
},
|
| 208 |
+
{
|
| 209 |
+
"id": 1,
|
| 210 |
+
"median_ms": 1115.74458447285,
|
| 211 |
+
"seconds": [
|
| 212 |
+
1.112592165125534,
|
| 213 |
+
1.1125846428330988,
|
| 214 |
+
1.113525175023824,
|
| 215 |
+
1.1139120161533356,
|
| 216 |
+
1.1142586760688573,
|
| 217 |
+
1.1139136960264295,
|
| 218 |
+
1.1139425560832024,
|
| 219 |
+
1.113907593069598,
|
| 220 |
+
1.114756850991398,
|
| 221 |
+
1.114386186003685,
|
| 222 |
+
1.1148598240688443,
|
| 223 |
+
1.114664763910696,
|
| 224 |
+
1.1149549309629947,
|
| 225 |
+
1.1150471579749137,
|
| 226 |
+
1.115875778021291,
|
| 227 |
+
1.1167280869558454,
|
| 228 |
+
1.1158945939969271,
|
| 229 |
+
1.1162209569010884,
|
| 230 |
+
1.116134142037481,
|
| 231 |
+
1.1156974020414054,
|
| 232 |
+
1.1157917669042945,
|
| 233 |
+
1.1158420711290091,
|
| 234 |
+
1.1168441488407552,
|
| 235 |
+
1.1167204279918224,
|
| 236 |
+
1.116568208904937,
|
| 237 |
+
1.116884137969464,
|
| 238 |
+
1.1174702809657902,
|
| 239 |
+
1.1172106221783906,
|
| 240 |
+
1.1169800360221416,
|
| 241 |
+
1.1172712589614093
|
| 242 |
+
]
|
| 243 |
+
}
|
| 244 |
+
]
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"id": "rowwise-fp8-qkbf16-v3",
|
| 248 |
+
"label": "混合精度投影",
|
| 249 |
+
"detail": "保留 BF16 Q/K;其他选定投影 FP8",
|
| 250 |
+
"kind": "precision",
|
| 251 |
+
"cases": [
|
| 252 |
+
{
|
| 253 |
+
"id": 0,
|
| 254 |
+
"median_ms": 777.765735052526,
|
| 255 |
+
"seconds": [
|
| 256 |
+
0.77187519101426,
|
| 257 |
+
0.7719290389213711,
|
| 258 |
+
0.7720805930439383,
|
| 259 |
+
0.772506375098601,
|
| 260 |
+
0.7726934109814465,
|
| 261 |
+
0.7733639311045408,
|
| 262 |
+
0.7783755280543119,
|
| 263 |
+
0.7772313428577036,
|
| 264 |
+
0.7740706850308925,
|
| 265 |
+
0.7745594850275666,
|
| 266 |
+
0.7735607258509845,
|
| 267 |
+
0.7744390738662332,
|
| 268 |
+
0.7762669958174229,
|
| 269 |
+
0.7767264801077545,
|
| 270 |
+
0.7775059519335628,
|
| 271 |
+
0.7782417458947748,
|
| 272 |
+
0.77767852996476,
|
| 273 |
+
0.777852940140292,
|
| 274 |
+
0.7778786199633032,
|
| 275 |
+
0.7795840729959309,
|
| 276 |
+
0.7801161350216717,
|
| 277 |
+
0.7802730789408088,
|
| 278 |
+
0.7787462549749762,
|
| 279 |
+
0.7800344449933618,
|
| 280 |
+
0.779274526052177,
|
| 281 |
+
0.7795446920208633,
|
| 282 |
+
0.7796726578380913,
|
| 283 |
+
0.7794401370920241,
|
| 284 |
+
0.7796120920684189,
|
| 285 |
+
0.7798830349929631
|
| 286 |
+
]
|
| 287 |
+
},
|
| 288 |
+
{
|
| 289 |
+
"id": 1,
|
| 290 |
+
"median_ms": 784.4128310680389,
|
| 291 |
+
"seconds": [
|
| 292 |
+
0.7819512649439275,
|
| 293 |
+
0.7858534760307521,
|
| 294 |
+
0.7826038890052587,
|
| 295 |
+
0.7843325608409941,
|
| 296 |
+
0.7836677909363061,
|
| 297 |
+
0.7824699589982629,
|
| 298 |
+
0.783658463973552,
|
| 299 |
+
0.7829139940440655,
|
| 300 |
+
0.7832127250730991,
|
| 301 |
+
0.7833697120659053,
|
| 302 |
+
0.7866980000399053,
|
| 303 |
+
0.7831063650082797,
|
| 304 |
+
0.7833628219086677,
|
| 305 |
+
0.7835651049390435,
|
| 306 |
+
0.7846796528901905,
|
| 307 |
+
0.7841983931139112,
|
| 308 |
+
0.7844528339337558,
|
| 309 |
+
0.7843951319810003,
|
| 310 |
+
0.7842397268395871,
|
| 311 |
+
0.7844305301550776,
|
| 312 |
+
0.7853629479650408,
|
| 313 |
+
0.7863788141403347,
|
| 314 |
+
0.7865908748935908,
|
| 315 |
+
0.7854677538853139,
|
| 316 |
+
0.7849521010648459,
|
| 317 |
+
0.7856644811108708,
|
| 318 |
+
0.7855948850046843,
|
| 319 |
+
0.7851674810517579,
|
| 320 |
+
0.7856167980935425,
|
| 321 |
+
0.7849965011700988
|
| 322 |
+
]
|
| 323 |
+
}
|
| 324 |
+
]
|
| 325 |
+
},
|
| 326 |
+
{
|
| 327 |
+
"id": "sage2-smooth-thread-v3-v8",
|
| 328 |
+
"label": "SageAttention2",
|
| 329 |
+
"detail": "INT8 QK / FP8 PV / K、V smooth",
|
| 330 |
+
"kind": "precision",
|
| 331 |
+
"cases": [
|
| 332 |
+
{
|
| 333 |
+
"id": 0,
|
| 334 |
+
"median_ms": 711.7815556703135,
|
| 335 |
+
"seconds": [
|
| 336 |
+
0.7070603989996016,
|
| 337 |
+
0.7084723520092666,
|
| 338 |
+
0.7090139030478895,
|
| 339 |
+
0.7103253770619631,
|
| 340 |
+
0.7089668491389602,
|
| 341 |
+
0.7082902421243489,
|
| 342 |
+
0.709116626996547,
|
| 343 |
+
0.708626707084477,
|
| 344 |
+
0.7087468160316348,
|
| 345 |
+
0.7092719411011785,
|
| 346 |
+
0.7096243631094694,
|
| 347 |
+
0.7107974591199309,
|
| 348 |
+
0.711419414030388,
|
| 349 |
+
0.7116676061414182,
|
| 350 |
+
0.711255727801472,
|
| 351 |
+
0.7157650021836162,
|
| 352 |
+
0.7118955051992089,
|
| 353 |
+
0.7131657260470092,
|
| 354 |
+
0.7133188520092517,
|
| 355 |
+
0.7130064801312983,
|
| 356 |
+
0.7137848499696702,
|
| 357 |
+
0.7135631800629199,
|
| 358 |
+
0.713997723069042,
|
| 359 |
+
0.7139290149789304,
|
| 360 |
+
0.714752787956968,
|
| 361 |
+
0.7143818931654096,
|
| 362 |
+
0.7146923071704805,
|
| 363 |
+
0.7146690050140023,
|
| 364 |
+
0.7152265170589089,
|
| 365 |
+
0.717653329949826
|
| 366 |
+
]
|
| 367 |
+
},
|
| 368 |
+
{
|
| 369 |
+
"id": 1,
|
| 370 |
+
"median_ms": 718.0130195338279,
|
| 371 |
+
"seconds": [
|
| 372 |
+
0.715362663147971,
|
| 373 |
+
0.7150260568596423,
|
| 374 |
+
0.7157730159815401,
|
| 375 |
+
0.7159747669938952,
|
| 376 |
+
0.7159235149156302,
|
| 377 |
+
0.71656369487755,
|
| 378 |
+
0.7166073801927269,
|
| 379 |
+
0.7165130679495633,
|
| 380 |
+
0.7167868439573795,
|
| 381 |
+
0.7174572390504181,
|
| 382 |
+
0.7176454800646752,
|
| 383 |
+
0.7179852838162333,
|
| 384 |
+
0.7185234068892896,
|
| 385 |
+
0.7180336250457913,
|
| 386 |
+
0.7182956060860306,
|
| 387 |
+
0.7177435311023146,
|
| 388 |
+
0.7184870031196624,
|
| 389 |
+
0.7185444550123066,
|
| 390 |
+
0.7183321320917457,
|
| 391 |
+
0.718570914119482,
|
| 392 |
+
0.7184261330403388,
|
| 393 |
+
0.7179924140218645,
|
| 394 |
+
0.7179150430019945,
|
| 395 |
+
0.7181572718545794,
|
| 396 |
+
0.718563802074641,
|
| 397 |
+
0.71898004389368,
|
| 398 |
+
0.7186842069495469,
|
| 399 |
+
0.7187076800037175,
|
| 400 |
+
0.7191525478847325,
|
| 401 |
+
0.7190727861598134
|
| 402 |
+
]
|
| 403 |
+
}
|
| 404 |
+
]
|
| 405 |
+
}
|
| 406 |
+
],
|
| 407 |
+
"thresholds": {
|
| 408 |
+
"joint_mae_rad": 0.02,
|
| 409 |
+
"joint_max_abs_rad": 0.05,
|
| 410 |
+
"gripper_max_abs": 0.05,
|
| 411 |
+
"recorded_joint_mae_degradation_rad": 0.02
|
| 412 |
+
},
|
| 413 |
+
"limitations": [
|
| 414 |
+
"Overall speedup compares historical original BF16 with final ABBA median on the same GPU and workload. Historical stages ran in independent processes and are not isolated ablations.",
|
| 415 |
+
"Only the last optimization batch is lossless relative to the pinned mixed-precision Sage2 baseline; the full route is not bit-identical to original BF16.",
|
| 416 |
+
"Quality gate covers two fixed offline observations; no robot rollout, success rate or generalization claim.",
|
| 417 |
+
"Launcher pinning is specific to the validated generated code, environment and workload; failed restart attempts remain disclosed in the report.",
|
| 418 |
+
"This static website summarizes completed RTX 5090 experiments; it does not run inference or claim B200 VC-Attn results."
|
| 419 |
+
]
|
| 420 |
+
}
|
icon.svg
ADDED
|
|
index.html
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="zh-CN">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
| 6 |
+
<meta name="theme-color" content="#080d12">
|
| 7 |
+
<meta name="description" content="FLUX.3 Action 在单张 RTX 5090 上的优化实测:约 2.05× 加速,SageAttention2、无损融合、质量 gate 与可下载证据。">
|
| 8 |
+
<title>FLUX.3 Action / RTX 5090 · 加速实测</title>
|
| 9 |
+
<link rel="icon" href="icon.svg" type="image/svg+xml">
|
| 10 |
+
<link rel="stylesheet" href="styles.css">
|
| 11 |
+
<script src="app.js" defer></script>
|
| 12 |
+
</head>
|
| 13 |
+
<body>
|
| 14 |
+
<a class="skip" href="#performance">跳到性能数据</a>
|
| 15 |
+
<nav class="nav" aria-label="主导航"><div class="wrap nav-inner">
|
| 16 |
+
<a class="brand" href="#top"><span class="brand-icon" aria-hidden="true">↗</span> FLUX<span class="brand-light"> / ACTION</span></a>
|
| 17 |
+
<div class="nav-links"><a href="#performance">性能</a><a href="#engineering">优化</a><a href="#quality">质量</a><a href="#evidence">证据 <span aria-hidden="true">↗</span></a></div>
|
| 18 |
+
<span class="nav-date">RESEARCH NOTE <b>26.09.28</b></span>
|
| 19 |
+
</div></nav>
|
| 20 |
+
<main id="top">
|
| 21 |
+
<header class="hero wrap">
|
| 22 |
+
<div class="hero-copy">
|
| 23 |
+
<div class="eyebrow"><i></i> SINGLE GPU · NVIDIA RTX 5090</div>
|
| 24 |
+
<h1>FLUX.3 Action<span>把等待减半。</span></h1>
|
| 25 |
+
<p class="hero-lead">从编译与混合精度,到注意力内核与数据搬运。<br class="desktop">在相同四步推理工作负载下,将动作预测压到 <strong>约 685 ms</strong>。</p>
|
| 26 |
+
<div class="hero-actions"><a class="button primary" href="#performance">探索实测结果 <span>↓</span></a><a class="button ghost" href="data/flux3-5090-public-evidence.zip" download>下载测量数据 <span>↗</span></a></div>
|
| 27 |
+
<div class="hero-tags"><span>FLUX.3 Action DROID</span><span>4 NFE · seed 0</span><span>质量 gate 通过</span></div>
|
| 28 |
+
</div>
|
| 29 |
+
<div class="hero-visual" aria-label="两个输入较原始 BF16 加速 2.04 到 2.05 倍">
|
| 30 |
+
<div class="visual-top"><span class="mono">WARM INFERENCE</span><span class="small-dot">已验证</span></div>
|
| 31 |
+
<div class="speed-number">2.05<span>×</span></div>
|
| 32 |
+
<p class="visual-sub">相对原始 BF16 · 两个输入 2.04–2.05×</p>
|
| 33 |
+
<div class="hero-rail"><div class="rail-label"><span>ORIGINAL</span><b>1,402.5 <small>ms</small></b></div><div class="rail-track"><div class="rail-original"></div></div></div>
|
| 34 |
+
<div class="hero-rail"><div class="rail-label"><span>OPTIMIZED</span><b class="mint">685.2 <small>ms</small></b></div><div class="rail-track"><div class="rail-final"></div></div></div>
|
| 35 |
+
<div class="visual-foot"><span>两个输入的 median 均值</span><span>延迟 <b>−51.1%</b></span></div>
|
| 36 |
+
</div>
|
| 37 |
+
</header>
|
| 38 |
+
<div class="wrap metrics">
|
| 39 |
+
<article><span class="metric-label">最终请求延迟</span><div class="metric-value">684.6–685.8 <small>ms</small></div><p>完整 warm action chunk</p></article>
|
| 40 |
+
<article><span class="metric-label">本轮无损优化</span><div class="metric-value mint">−5.3<small>%</small></div><p>相对固定 Sage2 基线的额外延迟下降</p></article>
|
| 41 |
+
<article><span class="metric-label">ABBA 输出逐位一致</span><div class="metric-value">120 <small>/ 120</small></div><p>同进程交替测量,全部请求匹配</p></article>
|
| 42 |
+
<article><span class="metric-label">原质量 gate</span><div class="metric-value">2 <small>/ 2 PASS</small></div><p>两个固定离线观测,阈值保持不变</p></article>
|
| 43 |
+
</div>
|
| 44 |
+
|
| 45 |
+
<section class="wrap section" id="performance">
|
| 46 |
+
<div class="section-heading"><div><div class="eyebrow muted">01 / PERFORMANCE</div><h2>每一段加速,都有实测落点。</h2><p>相同 GPU、checkpoint、输入、seed 和四步配置;统计量统一使用中位数。</p></div>
|
| 47 |
+
<div class="case-picker" role="group" aria-label="选择观测输入"><button type="button" data-case="0" aria-pressed="true">输入 01</button><button type="button" data-case="1" aria-pressed="false">输入 02</button></div></div>
|
| 48 |
+
<p class="case-caption"><span class="mono">OBSERVATION <span data-case-number>01</span></span><span id="case-task">将黄色杯中的内容物倒入粉色碗中</span></p>
|
| 49 |
+
<div class="performance-grid">
|
| 50 |
+
<article class="panel waterfall"><div class="panel-top"><h3>从原版到最终路径</h3><span class="mono">MEDIAN / ms · 越短越快</span></div><div id="stage-bars"></div><div class="chart-axis"><span>0</span><span>500</span><span>1,000</span><span>1,500 ms</span></div>
|
| 51 |
+
<p class="footnote">阶段 01–04 为历史独立进程结果;阶段 05 使用最终 ABBA 中位数。这里呈现优化路线,阶段差值不作为严格单项消融。</p>
|
| 52 |
+
</article>
|
| 53 |
+
<aside class="panel result-panel"><span class="eyebrow">SELECTED INPUT</span><div class="selected-speed"><span id="selected-speed">2.040</span><small>×</small></div><p>相对原始 BF16 的总加速</p><div class="divider"></div><dl class="key-values"><div><dt>原始 BF16</dt><dd id="selected-original">1,396.406 ms</dd></div><div><dt>最终路径</dt><dd class="mint" id="selected-final">684.603 ms</dd></div><div><dt>每次请求减少</dt><dd id="selected-saved">711.802 ms</dd></div><div><dt>延迟下降</dt><dd id="selected-reduction">50.97%</dd></div></dl><a class="text-link" href="data/summary.json" download>查看精确数值 <span>↗</span></a></aside>
|
| 54 |
+
</div>
|
| 55 |
+
<div class="abba-grid">
|
| 56 |
+
<article class="panel"><div class="panel-top"><h3>最后 5.3%,用交替测量确认</h3><span class="badge">ABBA · 15 组</span></div><div class="legend"><span><i class="blue-dot"></i>固定 Sage2 基线</span><span><i class="mint-dot"></i>全部无损优化</span></div><div id="abba-chart" class="abba-chart"></div><p class="footnote">每路径、每输入 5 次预热 + 30 次计时;A/B 模式切换在计时外。横轴是各路径的样本序号,纵轴显示实际延迟区间。</p></article>
|
| 57 |
+
<article class="panel abba-summary"><span class="eyebrow muted">PAIRED COMPARISON</span><h3><span id="abba-before">722.625</span><span class="muted-text"> → </span><span class="mint" id="abba-after">684.603</span><small> ms</small></h3><p>同一个进程、同一个模型,在热态请求间交替切换优化。</p><div class="mini-metrics"><div><b id="abba-drop">5.262%</b><span>额外延迟下降</span></div><div><b id="abba-speed">1.05554×</b><span>额外加速倍数</span></div></div><p class="exact-note">✓ 120 次输出全部逐位一致</p><p class="footnote">独立重启复测也通过。主结论保留 ABBA 数据,不以另一次运行的更低绝对时间替代。</p></article>
|
| 58 |
+
</div>
|
| 59 |
+
</section>
|
| 60 |
+
|
| 61 |
+
<section class="section engineering-section" id="engineering"><div class="wrap">
|
| 62 |
+
<div class="section-heading"><div><div class="eyebrow muted">02 / ENGINEERING</div><h2>先减少计算成本,再消除搬运。</h2><p>混合精度带来主要性能提升;最后一轮保持既有计算结果,继续压缩内存与调度开销。</p></div></div>
|
| 63 |
+
<div class="pipeline"><span>图像 / VAE conditioning</span><b>→</b><span>4 步视频 + 动作去噪</span><b>→</b><span class="pipeline-final">1 × 32 × 8 动作输出</span></div>
|
| 64 |
+
<div class="stack">
|
| 65 |
+
<div class="stack-row"><span class="step-no">01</span><div><h3>编译与执行路径</h3><span class="tag">执行优化</span></div><p>编译 DiT / VAE,合并 CFG 分支并共享 conditioning,融合四步 UniPC 更新,使用既有 CUDA Graph 热态路径。</p><div class="stack-stat">1.26×<small>历史阶段 / vs. 原版</small></div></div>
|
| 66 |
+
<div class="stack-row"><span class="step-no">02</span><div><h3>混合精度投影</h3><span class="tag amber">数值近似 · 经 gate</span></div><p>保持 Q/K 投影为 BF16,其他选定投影使用 row-wise FP8。保留四步求解、guidance 和原模型权重来源。</p><div class="stack-stat">1.79–1.80×<small>历史累计 / vs. 原版</small></div></div>
|
| 67 |
+
<div class="stack-row"><span class="step-no">03</span><div><h3>SageAttention2</h3><span class="tag amber">数值近似 · 经 gate</span></div><p>per-thread INT8 QK、FP8 PV、FP32 累加;保留 K smooth 和 V smooth。采用 NHD 布局,覆盖 5 个 video early 与 28 个 joint block。</p><div class="stack-stat">1.96×<small>历史累计 / vs. 原版</small></div></div>
|
| 68 |
+
<div class="stack-row last"><span class="step-no">04</span><div><h3>融合、布局与缓存</h3><span class="tag green">无新增近似 · bit exact</span></div><p>融合中心化与量化、直接写目标布局、引用 V 投影输出,并缓存固定工作。将这套 Sage2 基线的延迟再降低约 5.3%。</p><div class="stack-stat mint">2.04–2.05×<small>最终累计 / vs. 原版</small></div></div>
|
| 69 |
+
</div>
|
| 70 |
+
<div class="notice"><span class="notice-label">“无损”的准确范围</span><p>最后一轮优化相对<strong>已固定的混合精度 + Sage2 基线</strong>输出逐位相同。整个优化路线包含量化近似,不宣称与原始 BF16 逐位相同。</p></div>
|
| 71 |
+
<div class="detail-heading"><h3>最后一轮,具体做了什么</h3><span>打开卡片查看实现细节</span></div>
|
| 72 |
+
<div class="details-grid">
|
| 73 |
+
<details open><summary><span class="detail-index">A</span><span>K 中心化 × INT8 quant</span><i>+</i></summary><div class="detail-body"><p>在量化核中完成 K 减均值,并显式保留原来的 BF16 舍入。Q quant、scale 与 INT8 规则保持一致,消除 K 中间张量。</p><div class="code-line">K → center + BF16 round + quant → INT8</div><div class="component"><span>主形状 K quant</span><b>104.65 → <em>59.02</em> μs</b></div></div></details>
|
| 74 |
+
<details open><summary><span class="detail-index">B</span><span>Norm / RoPE 直接写 NHD</span><i>+</i></summary><div class="detail-body"><p>仅调整生成核最后的存储类型和位置,直接输出 BF16 / NHD。保留原算术及实际归约配置,省去 Q/K 独立转换与拷贝。</p><div class="code-line">Norm / RoPE → BF16 · NHD → attention</div><div class="component"><span>作用范围</span><b>5 early + 28 joint blocks</b></div></div></details>
|
| 75 |
+
<details open><summary><span class="detail-index">C</span><span>V alias + tiled transpose</span><i>+</i></summary><div class="detail-body"><p>直接引用 V+MLP projection 的 V 切片,省去 V 物化;以 64×64、4 warps 的 Triton tile 完成转置、padding 和 permutation。V mean / scale / quant 仍用原核,保留 V smooth。</p><div class="component"><span>V quant 整段,含搬运</span><b>78.93 → <em>37.22</em> μs</b></div></div></details>
|
| 76 |
+
<details open><summary><span class="detail-index">D</span><span>固定工作缓存</span><i>+</i></summary><div class="detail-body"><p>缓存 timestep modulation、四步求解器 CPU 系数、同 seed 的噪声和位置 IDs。按依赖张量、seed、形状、设备及配置匹配;每个输入的观测推理仍照常执行。</p><div class="component"><span>输出检查</span><b class="mint">逐位一致</b></div></div></details>
|
| 77 |
+
</div><p class="footnote">组件时间来自对应真实形状测试,用于解释机会;不能直接相加或当作 E2E 加速倍数。</p>
|
| 78 |
+
</div></section>
|
| 79 |
+
|
| 80 |
+
<section class="section wrap" id="quality">
|
| 81 |
+
<div class="section-heading"><div><div class="eyebrow muted">03 / QUALITY & REPRODUCIBILITY</div><h2>速度之外,保留原来的判断标准。</h2><p>最终路径与原始 BF16 输出对照;下面的数值随“输入 01 / 02”选择联动。</p></div><span class="status-pill"><i></i> 2 / 2 原 gate 通过</span></div>
|
| 82 |
+
<div class="quality-grid"><article class="panel gate-panel"><div class="panel-top"><h3>误差距离阈值还有多远</h3><span class="mono">INPUT <span data-case-number>01</span></span></div><div id="quality-bars"></div><p class="footnote">条形长度 = 误差 / 阈值,右端为 gate 上限。低于阈值仅表示本次离线数值筛查通过。</p></article><article class="panel quality-copy"><span class="eyebrow">SAME GATE. SAME WORKLOAD.</span><h3>两个输入通过。<br>阈值没有放宽。</h3><p>joint MAE ≤ 0.02 rad,joint max ≤ 0.05 rad,gripper max ≤ 0.05;相对 recorded action 的 joint MAE 退化 ≤ 0.02 rad。</p><div class="recorded"><span>当前输入 · recorded joint MAE 变化</span><b id="recorded-change">−0.00859 rad</b><small>负值表示本输入的 MAE 下降</small></div><p class="boundary">评测范围:2 个固定离线观测。没有进行机器人 rollout,不能据此推断任务成功率或泛化表现。</p></article></div>
|
| 83 |
+
<article class="panel reproducibility"><div class="repro-copy"><div class="eyebrow muted">RESTART CONSISTENCY</div><h3>固定实际 launcher,复现同一份输出。</h3><p>重启诊断发现:权重、conditioning 与第一次 DiT 输入相同,但 3 个 LayerNorm 核的 R0_BLOCK 被 autotune 在 512 / 1024 之间切换,第一次 DiT 输出开始分歧。</p><p>冻结通过原 gate 的 <strong>46 个实际 hot launcher 配置</strong>,并绑定生成代码 SHA。固定基线、全部优化和最终独立进程复测的输出文件哈希一致。</p><div class="repro-tags"><span>420 参数张量已比对</span><span>2 个输出跨进程一致</span><span>重复运行最大差异 0</span></div></div><div class="repro-proof"><span class="mono">OUTPUT SHA256 / 四份记录一致</span><div><span>INPUT 01</span><code>b94ec2cdfe33…2902e132</code><b>✓</b></div><div><span>INPUT 02</span><code>cce231bfffb1…1c99a</code><b>✓</b></div><a class="text-link" href="data/restart-verification.json" download>下载完整哈希与复测结果 ↗</a><p>仅对本轮已验证的代码、环境和工作负载成立。</p></div></article>
|
| 84 |
+
<details class="audit"><summary><span>实验边界与保留的失败记录</span><i>+</i></summary><div class="audit-grid"><div><h4>重启失败如实保留</h4><p>早期 fresh runner 的 case 0 joint max 为 0.053043 rad;诊断 v1 为 0.071199 rad,均超过 0.05。最终冻结通过 gate 的具体配置后完成复现验证。这不是“所有 autotune 配置都能过 gate”的证明。</p></div><div><h4>没有收益的方向停止集成</h4><p>主要 GEMM 形状的同精度 autotune / padding 没有收益;改变 bits 且更慢的 FP8 attention-out 被拒绝。early BF16 小核理论收益上限约 0.23 ms / request,未继续移植。</p></div><div><h4>已有优化不重复计算</h4><p>CUDA Graph、共享 CFG、静态编译路径和融合 solver 已在前期基线中。最后一轮没有再将它们计算为新增收益,也没有减少推理步数。</p></div><div><h4>5090 与 B200 分开看</h4><p>本页只汇总完成验证的单卡 RTX 5090 路线。参考项目的 GB200 数据及本任务的 B200 VC-Attn 研究不并入这组结果;最终 5090 路径使用 SageAttention2。</p></div></div></details>
|
| 85 |
+
</section>
|
| 86 |
+
|
| 87 |
+
<section class="section evidence-section" id="evidence"><div class="wrap">
|
| 88 |
+
<div class="section-heading"><div><div class="eyebrow muted">04 / METHODS & EVIDENCE</div><h2>结论可以点开,数据可以重算。</h2><p>报告使用已完成的测量记录。下载包保留数值、配置与来源哈希,便于独立核查。</p></div><a class="button primary" href="data/flux3-5090-public-evidence.zip" download>下载公开证据包 <span>↓</span></a></div>
|
| 89 |
+
<div class="methods-grid"><div class="panel"><h3>计时边界</h3><div class="timing-in"><span>计入</span><p>完整 warm <code>predict_action_chunk</code>:图像 / VAE conditioning + 四步视频 / 动作去噪,每次请求同步 GPU。</p></div><div class="timing-out"><span>不计入</span><p>权重加载、Qwen 文本编码、首次编译 / 图捕获及 warmup。这里报告热态请求延迟。</p></div><p class="footnote">原版与历史阶段使用同一任务 harness。额外无损收益来自同进程 ABBA;总收益相对历史原始 BF16。</p></div><div class="panel"><h3>固定配置</h3><dl class="config-grid"><dt>硬件</dt><dd>1 × RTX 5090 / SM120</dd><dt>求解器</dt><dd>Cosmos UniPC · 4 NFE · shift 5</dd><dt>Guidance</dt><dd>video 4 / action 1</dd><dt>输入与输出</dt><dd>2 固定观测 / 1 × 32 × 8</dd><dt>随机种子</dt><dd>0</dd><dt>运行环境</dt><dd>Torch 2.12.1+cu130<br>Triton 3.7.1 / Sage 2.2.0</dd><dt>统计</dt><dd>5 warmup + 30 timed / path / input</dd></dl></div></div>
|
| 90 |
+
<div class="download-grid"><a href="data/summary.json" download><span class="file-icon">{ }</span><span><b>结果总览</b><small>精确比例 · 配置 · checkpoint</small></span><span>↓</span></a><a href="data/abba.json" download><span class="file-icon">↔</span><span><b>原始 ABBA 测量</b><small>120 次请求 · 完整时间序列</small></span><span>↓</span></a><a href="data/quality.json" download><span class="file-icon">✓</span><span><b>质量 gate</b><small>原阈值 · 每输入误差</small></span><span>↓</span></a><a href="data/provenance.json" download><span class="file-icon">#</span><span><b>来源与哈希</b><small>原始 artifact SHA256</small></span><span>↓</span></a></div>
|
| 91 |
+
<details class="source-details"><summary><span>模型版本与参考来源</span><i>+</i></summary><div><p><a href="https://huggingface.co/black-forest-labs/flux-3-action-droid" target="_blank" rel="noreferrer">black-forest-labs/flux-3-action-droid ↗</a><code>3d0887bdc7acee1686b19afac267125d519ff4f1</code></p><p><a href="https://huggingface.co/black-forest-labs/flux-3-action-base" target="_blank" rel="noreferrer">black-forest-labs/flux-3-action-base ↗</a><code>62878e2925e59b7a89ec14463ce89932624c490d</code></p><p>参考实现:<a href="https://github.com/lyttttt3333/flux-action-gb200-optimized/tree/823db016f814d466be0b140434d71909181bcff0" target="_blank" rel="noreferrer">flux-action-gb200-optimized @ 823db016 ↗</a></p><p>视觉参考:<a href="https://transactions-layout-photographs-paperbacks.trycloudflare.com/" target="_blank" rel="noreferrer">GB200 加速与评测报告 ↗</a>。本页所有 5090 数值来自本任务测量,未复用参考页的仿真与成功率结果。</p></div></details>
|
| 92 |
+
<p id="data-error" role="alert" hidden>交互数据暂时无法加载。静态结论仍可阅读,也可通过上方链接下载原始数据。</p>
|
| 93 |
+
<noscript><p class="notice">当前浏览器未启用 JavaScript。页面正文与数据下载可正常使用,交互图表需启用 JavaScript。</p></noscript>
|
| 94 |
+
</div></section>
|
| 95 |
+
</main>
|
| 96 |
+
<footer class="wrap"><a class="brand" href="#top"><span class="brand-icon" aria-hidden="true">↗</span> FLUX<span class="brand-light"> / ACTION</span></a><p>RTX 5090 · 实验报告 <span>2026.09.28</span></p><a href="#top">返回顶部 ↑</a></footer>
|
| 97 |
+
</body>
|
| 98 |
+
</html>
|
style.css
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
body {
|
| 2 |
+
padding: 2rem;
|
| 3 |
+
font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
|
| 4 |
+
}
|
| 5 |
+
|
| 6 |
+
h1 {
|
| 7 |
+
font-size: 16px;
|
| 8 |
+
margin-top: 0;
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
p {
|
| 12 |
+
color: rgb(107, 114, 128);
|
| 13 |
+
font-size: 15px;
|
| 14 |
+
margin-bottom: 10px;
|
| 15 |
+
margin-top: 5px;
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
.card {
|
| 19 |
+
max-width: 620px;
|
| 20 |
+
margin: 0 auto;
|
| 21 |
+
padding: 16px;
|
| 22 |
+
border: 1px solid lightgray;
|
| 23 |
+
border-radius: 16px;
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
.card p:last-child {
|
| 27 |
+
margin-bottom: 0;
|
| 28 |
+
}
|
styles.css
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
:root{--bg:#080d12;--panel:#101820;--panel2:#141e28;--line:#26323d;--text:#edf4f6;--muted:#91a1af;--mint:#78efc0;--blue:#76aaff;--amber:#edc082;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
|
| 2 |
+
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:5px}::selection{background:#78efc0;color:#080d12}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.mono{font-family:var(--mono);font-size:10px;letter-spacing:.06em}.mint{color:var(--mint)!important}.muted-text{color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--mint);color:#080d12;padding:12px}.skip:focus{top:12px}.nav{height:76px;position:sticky;top:0;z-index:20;background:#080d12ee;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff0d}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}.brand{display:flex;align-items:center;gap:9px;font-weight:750;font-size:16px;letter-spacing:.025em;white-space:nowrap}.brand-icon{background:var(--mint);color:#0c1613;width:29px;height:29px;display:inline-grid;place-items:center;font-size:24px;line-height:1;border-radius:7px;margin-right:3px}.brand-light{font-weight:400;color:#adbac6}.nav-links{display:flex;gap:32px;font-size:13px;color:#bbc7d0}.nav-links a:hover,footer a:hover{color:var(--mint)}.nav-date{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:#718492;display:flex;gap:14px}.nav-date b{color:#a8b7c4;font-weight:400}.hero{padding:94px 0 70px;display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:62px;position:relative}.hero::before{content:"";position:absolute;z-index:-1;inset:-80px -30px;background:radial-gradient(ellipse at 85% 40%,#42d6a013,transparent 50%),radial-gradient(ellipse at 0% 0%,#628cfb0d,transparent 60%);pointer-events:none}.eyebrow{font-family:var(--mono);font-size:10px;line-height:1.5;letter-spacing:.15em;font-weight:500;color:var(--mint);display:flex;align-items:center;gap:8px}.eyebrow.muted{color:#7f97a7}.eyebrow i,.small-dot::before,.status-pill i{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--mint)}h1{font-size:clamp(40px,4.65vw,66px);line-height:1.13;letter-spacing:-.052em;margin:22px 0 25px;font-weight:720;white-space:nowrap}h1 span{display:block;margin-top:12px;letter-spacing:-.045em;color:var(--mint)}.hero-lead{font-size:15px;line-height:1.95;color:#a9b7c1;margin:0}.hero-lead strong{font-weight:500;color:#d5e3e6}.hero-actions{display:flex;gap:13px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border-radius:6px;padding:12px 18px;font-size:12px;line-height:1.8;border:1px solid var(--line);font-weight:600;transition:background .18s,transform .18s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--mint);color:#0b2219;border-color:var(--mint)}.button.primary:hover{background:#9df4d4}.button.ghost:hover{background:var(--panel)}.button span{font-size:18px;font-weight:400;line-height:1}.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;font-size:10px;color:#7f929f}.hero-tags span{display:flex;align-items:center;gap:10px}.hero-tags span+span::before{content:"";height:3px;width:3px;background:#43525c;border-radius:100%}.hero-visual{border:1px solid #2c4541;border-radius:16px;background:radial-gradient(ellipse at 50% 0%,#57dba31b,transparent 65%),linear-gradient(160deg,#14211ff2,#0d151ced);padding:26px 30px 23px;position:relative;overflow:hidden}.hero-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.visual-top{display:flex;justify-content:space-between;align-items:center;color:#799b91;position:relative}.small-dot{font-size:10px;color:#b0d6c8;display:flex;align-items:center;gap:6px}.small-dot::before{content:"";width:4px;height:4px}.speed-number{font-size:clamp(92px,10.5vw,146px);letter-spacing:-.09em;line-height:1.15;font-weight:600;margin-top:14px;color:#b1f8da;font-variant-numeric:tabular-nums;position:relative}.speed-number span{font-size:.42em;font-weight:300;margin-left:12px;color:var(--mint)}.visual-sub{font-size:11px;color:#94aea5;margin:0 0 25px;position:relative}.hero-rail{margin-top:15px;position:relative}.rail-label{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:#81949f;letter-spacing:.08em;align-items:baseline}.rail-label b{font-size:13px;font-weight:500;letter-spacing:0;color:#b4c4ce}.rail-label small{font-size:9px;color:#849e93}.rail-track{height:7px;margin-top:7px;background:#ffffff06;border-radius:2px;overflow:hidden}.rail-original{height:100%;width:100%;background:#50667a}.rail-final{height:100%;width:48.86%;background:linear-gradient(90deg,#48b694,var(--mint))}.visual-foot{display:flex;justify-content:space-between;border-top:1px solid #ffffff0d;margin-top:24px;padding-top:15px;font-size:10px;color:#6f8e87}.visual-foot b{font-family:var(--mono);font-size:13px;color:var(--mint);font-weight:500}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#0e161d;border-radius:9px;overflow:hidden}.metrics article{padding:24px 26px}.metrics article+article{border-left:1px solid var(--line)}.metric-label{font-size:11px;color:#8ea0ae}.metric-value{font-size:28px;line-height:1.3;letter-spacing:-.05em;font-weight:600;margin-top:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-value small{font-size:13px;font-weight:400;letter-spacing:0;color:#8da4ad}.metrics article:first-child .metric-value{font-size:23px;line-height:1.6}.metrics p{font-size:10px;color:#6f8492;margin:9px 0 0}.section{padding-top:92px;padding-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.section-heading h2{font-size:29px;letter-spacing:-.035em;line-height:1.4;margin:10px 0 12px;font-weight:600}.section-heading p{margin:0;color:#91a3b0;font-size:13px;max-width:780px}.case-picker{display:flex;background:#111c24;border:1px solid var(--line);border-radius:6px;padding:4px;gap:3px;flex-shrink:0}.case-picker button{background:transparent;color:var(--muted);border:0;border-radius:3px;padding:7px 15px;font-size:11px;cursor:pointer}.case-picker button[aria-pressed=true]{background:var(--mint);color:#10281e;font-weight:650}.case-picker button:hover:not([aria-pressed=true]){background:#1d303a}.case-caption{display:flex;gap:15px;align-items:center;margin:0 0 17px;font-size:11px;color:#95a8b7}.case-caption .mono{color:#648978;border:1px solid #254636;background:#0f2019;padding:3px 8px;border-radius:3px;font-size:9px}.panel{background:linear-gradient(145deg,#121c25,#0f171f);border:1px solid var(--line);border-radius:10px;padding:26px;min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-top .mono{color:#647e8e;font-size:9px}h3{font-size:15px;line-height:1.5;letter-spacing:-.015em;margin:0;font-weight:600}.performance-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(260px,1fr);gap:18px}.stage-row{display:grid;grid-template-columns:24px 154px minmax(0,1fr) 73px;gap:12px;align-items:center;margin:23px 0}.stage-index{font-family:var(--mono);font-size:10px;color:#526d7b}.stage-label b{font-size:12px;font-weight:500;display:block}.stage-label small{display:block;color:#6e8797;font-size:9px;line-height:1.5;margin-top:3px}.stage-track{height:18px;background:#ffffff03;border-radius:3px;overflow:hidden}.stage-fill{height:100%;background:#597992;border-radius:3px;transition:width .4s ease}.stage-row:nth-child(2) .stage-fill{background:#66879d}.stage-row:nth-child(3) .stage-fill{background:#77a6b2}.stage-row:nth-child(4) .stage-fill{background:#62bfae}.stage-row.final .stage-fill{background:linear-gradient(90deg,#48be98,var(--mint))}.stage-row.final b,.stage-row.final .stage-value{color:var(--mint)}.stage-value{font-family:var(--mono);font-size:12px;text-align:right;color:#bbd0dd}.chart-axis{display:flex;justify-content:space-between;margin:14px 0 18px 202px;padding-right:0;font-family:var(--mono);font-size:9px;color:#577080;max-width:calc(100% - 287px);position:relative}.footnote{font-size:10px;line-height:1.8;color:#78909f;margin:16px 0 0}.result-panel{background:radial-gradient(ellipse at 90% 0%,#58dfaa0c,transparent 80%),#101920}.result-panel .eyebrow{font-size:9px;color:#799587}.selected-speed{font-size:64px;font-weight:500;line-height:1.2;letter-spacing:-.065em;margin:17px 0 3px;color:#c2f6df}.selected-speed small{font-size:32px;font-weight:300;margin-left:6px}.result-panel>p{font-size:11px;margin:0;color:#89a298}.divider{height:1px;background:var(--line);margin:23px 0 20px}.key-values{margin:0}.key-values div{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:14px 0}.key-values dt{color:#8b9ea9}.key-values dd{margin:0;font-family:var(--mono);color:#cad6dd}.text-link{display:flex;justify-content:space-between;align-items:center;color:var(--mint);font-size:11px;margin-top:23px}.text-link:hover{text-decoration:underline}.abba-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:18px;margin-top:18px}.badge,.status-pill{color:#b4d9c9;border:1px solid #305243;background:#16291f;font-size:9px;border-radius:4px;padding:4px 8px;white-space:nowrap}.legend{display:flex;gap:22px;font-size:10px;color:#8aa0b0;margin:-6px 0 6px}.legend span{display:flex;gap:7px;align-items:center}.legend i{width:6px;height:6px;border-radius:2px}.blue-dot{background:var(--blue)}.mint-dot{background:var(--mint)}.abba-chart svg{width:100%;height:auto;display:block;overflow:visible}.abba-summary>h3{font:20px/1.6 var(--mono);letter-spacing:-.06em;white-space:nowrap;margin-top:21px}.abba-summary>h3 small{font-size:11px;color:#768c99}.abba-summary>p{font-size:11px;color:#829aa8;margin-top:12px}.mini-metrics{display:flex;gap:36px;margin:22px 0 17px}.mini-metrics b{display:block;font:22px/1.4 var(--mono);color:var(--mint);letter-spacing:-.05em}.mini-metrics span{font-size:10px;color:#668577}.abba-summary .exact-note{color:#b6d9c7;font-size:11px;padding-top:15px;border-top:1px solid var(--line);margin:0}.engineering-section{background:linear-gradient(#101b201a,#101b2066);padding-bottom:65px;margin-top:20px}.pipeline{display:flex;align-items:center;gap:15px;font-size:11px;color:#8ba1b1;margin-bottom:29px;flex-wrap:wrap}.pipeline span{border:1px solid var(--line);background:#111c24;padding:9px 13px;border-radius:4px}.pipeline b{font-weight:400;color:#4a6574}.pipeline .pipeline-final{color:var(--mint);border-color:#2a4c3b;background:#102018}.stack{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#101920}.stack-row{display:grid;grid-template-columns:32px 195px 1fr 135px;gap:25px;padding:25px 27px;align-items:center}.stack-row+.stack-row{border-top:1px solid var(--line)}.step-no{font-family:var(--mono);font-size:12px;color:#738d9e}.stack-row.last{background:#65d8a504}.stack-row.last .step-no{color:var(--mint)}.stack-row h3{font-size:14px}.tag{font-size:9px;color:#91a9bf;border:1px solid #304558;border-radius:4px;padding:2px 6px;display:inline-block;margin-top:8px}.tag.amber{color:#c6a779;border-color:#4a402e;background:#30271922}.tag.green{color:#83cda6;border-color:#2b4f39;background:#142c1d77}.stack-row p{font-size:12px;color:#8a9daa;line-height:1.85;margin:0}.stack-stat{font-family:var(--mono);font-size:20px;line-height:1.4;text-align:right;color:#c8d9de;white-space:nowrap;letter-spacing:-.05em}.stack-stat small{display:block;font-family:inherit;font-size:9px;letter-spacing:0;color:#6e8998;margin-top:6px}.notice{margin-top:20px;padding:16px 19px;display:flex;gap:23px;align-items:flex-start;border-left:2px solid #b79869;background:#2c251d40;border-radius:0 6px 6px 0}.notice-label{font-size:11px;color:#d7ba86;white-space:nowrap}.notice p{margin:0;font-size:11px;color:#acaca4}.notice strong{color:#cdc9b6;font-weight:500}.detail-heading{display:flex;justify-content:space-between;align-items:center;margin:40px 0 17px}.detail-heading>span{color:#647d8d;font-size:10px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}details{background:#101a22;border:1px solid var(--line);border-radius:8px;overflow:hidden}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:20px 22px;font-size:13px;font-weight:500}summary::-webkit-details-marker{display:none}summary>i{font:20px/1 var(--mono);color:#6c8696;margin-left:auto;font-style:normal;font-weight:300;transition:transform .2s}details[open]>summary>i{transform:rotate(45deg)}summary:hover{background:#ffffff02}.detail-index{font:12px/1.5 var(--mono);color:var(--mint);border:1px solid #2d5945;border-radius:4px;width:25px;height:25px;text-align:center;padding-top:3px}.detail-body{padding:0 22px 21px}.detail-body p{font-size:12px;line-height:1.85;color:#8fa4b1;margin:0 0 15px}.code-line{font:10px/1.8 var(--mono);background:#0b131a;border:1px solid #243440;border-radius:4px;padding:10px 12px;color:#8bb6a8;margin-bottom:17px;overflow:auto}.component{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;font-size:10px;color:#708998}.component b{color:#b0c3cb;font-family:var(--mono);font-size:11px;font-weight:400}.component em{color:var(--mint);font-style:normal}.status-pill{font-size:11px;padding:8px 12px;display:flex;gap:9px;align-items:center;margin-bottom:4px}.quality-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}.gate-item{margin:25px 0}.gate-info{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:11px}.gate-info span{color:#9aafbd}.gate-info b{font-family:var(--mono);font-size:12px;color:#d8e7eb;font-weight:400}.gate-track{height:7px;background:#25343e;border-radius:2px;margin-top:11px;position:relative}.gate-track::after{content:"";position:absolute;right:0;top:-3px;height:13px;width:1px;background:#658975}.gate-fill{height:100%;background:linear-gradient(90deg,#32876a,#78d9a8);border-radius:2px;transition:width .4s ease}.gate-foot{display:flex;justify-content:space-between;margin-top:5px;font:9px/1.6 var(--mono);color:#5f7b6d}.quality-copy .eyebrow{font-size:9px}.quality-copy h3{font-size:27px;line-height:1.5;letter-spacing:-.035em;margin:17px 0}.quality-copy>p{font-size:11px;color:#8da5b4}.recorded{padding:14px 0;margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.recorded span,.recorded small{display:block;font-size:10px;color:#6d8999}.recorded b{font:20px/1.8 var(--mono);color:var(--mint);font-weight:400;letter-spacing:-.05em}.quality-copy .boundary{font-size:10px;color:#b9aa8d;margin-bottom:0}.reproducibility{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;margin-top:18px}.repro-copy h3{font-size:19px;margin:10px 0 14px}.repro-copy p{font-size:11px;color:#8ea4b2;line-height:1.9;margin:10px 0}.repro-copy strong{color:#c8d6de;font-weight:500}.repro-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.repro-tags span{font-size:9px;padding:3px 7px;border:1px solid #294539;color:#7cac93;border-radius:3px}.repro-proof{align-self:center;border:1px solid #263c35;border-radius:6px;padding:22px;background:#0a1513}.repro-proof>.mono{font-size:9px;color:#659181}.repro-proof>div{display:flex;align-items:center;gap:10px;margin:20px 0;font-family:var(--mono);font-size:9px;color:#6f8c83}.repro-proof code{font-size:10px;color:#a2c6b5;white-space:nowrap}.repro-proof b{margin-left:auto;color:var(--mint)}.repro-proof .text-link{font-size:10px;padding-top:14px;border-top:1px solid #223c30}.repro-proof p{font-size:9px;color:#628475;margin-bottom:0}.audit{margin-top:18px;background:#11181c}.audit summary,.source-details summary{font-size:12px;color:#aab8c0}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;padding:0 24px 24px}.audit-grid h4{font-size:11px;color:#c6b28b;margin:0 0 6px;font-weight:500}.audit-grid p{font-size:11px;color:#8398a7;margin:0;line-height:1.85}.evidence-section{padding-bottom:62px}.methods-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.timing-in,.timing-out{display:grid;grid-template-columns:48px 1fr;gap:16px;margin:20px 0}.timing-in>span,.timing-out>span{font-size:11px;color:var(--mint)}.timing-out>span{color:#a2adba}.timing-in p,.timing-out p{font-size:12px;color:#8da3b2;margin:0}code{font-family:var(--mono);font-size:.9em;overflow-wrap:anywhere}.config-grid{display:grid;grid-template-columns:100px 1fr;gap:9px;margin:18px 0 0;font-size:11px}.config-grid dt{color:#6e8999}.config-grid dd{margin:0;color:#b4c6d2}.download-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.download-grid>a{display:flex;align-items:center;gap:13px;padding:19px 16px;border:1px solid var(--line);border-radius:6px;background:#101a22;transition:border-color .2s}.download-grid>a:hover{border-color:#558a70}.file-icon{font-family:var(--mono);font-size:19px;color:#7bc9a2;font-weight:300}.download-grid b{font-size:11px;font-weight:500;display:block}.download-grid small{font-size:9px;color:#6c8798;display:block;margin-top:3px}.download-grid>a>span:last-child{margin-left:auto;color:#637f90}.source-details{background:transparent}.source-details>div{padding:0 23px 18px;font-size:11px;color:#879fab}.source-details>div p{margin:12px 0}.source-details code{display:block;color:#6b897c;margin-top:3px}.source-details a{color:#a8d3bf}.source-details a:hover{text-decoration:underline}#data-error{padding:15px;color:var(--amber);border:1px solid #816036;font-size:13px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:36px}footer .brand{font-size:12px}footer .brand-icon{width:24px;height:24px;font-size:19px}footer p,footer>a:last-child{font-size:10px;color:#677f8e}footer p span{margin-left:15px;font-family:var(--mono)}
|
| 3 |
+
@media(min-width:1400px){.hero{padding-top:100px;padding-bottom:82px}}
|
| 4 |
+
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.hero{gap:28px;padding-top:70px}.hero-visual{padding:23px}.nav-date{display:none}.metrics article{padding:23px 18px}.metrics article:first-child .metric-value{font-size:19px}.metric-value{font-size:25px}.stage-row{grid-template-columns:20px 120px minmax(0,1fr) 62px;gap:8px}.stage-label b{font-size:11px}.stage-label small{font-size:8px}.stage-value{font-size:10px}.chart-axis{margin-left:156px;max-width:calc(100% - 227px)}.performance-grid{grid-template-columns:1.85fr 1fr}.panel{padding:22px}.stack-row{grid-template-columns:24px 170px 1fr 110px;gap:18px;padding:23px}.stack-stat{font-size:18px}.reproducibility{gap:23px}.repro-proof{padding:17px}.download-grid{grid-template-columns:1fr 1fr}.abba-summary>h3{font-size:17px}.mini-metrics{gap:25px}.hero-actions{gap:9px}.hero-actions .button{gap:14px;padding:10px 13px;font-size:11px}}
|
| 5 |
+
@media(max-width:800px){.hero{grid-template-columns:1fr 1fr;gap:22px}.hero-lead{font-size:13px}.desktop{display:none}.hero-actions{flex-wrap:wrap}h1{font-size:38px}.speed-number{font-size:99px}.hero-tags{font-size:8px;gap:7px}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.metrics article:nth-child(4){border-top:1px solid var(--line)}.metrics article:first-child .metric-value{font-size:24px;line-height:1.3}.metrics p{font-size:10px}.section{padding-top:65px}.section-heading h2{font-size:25px}.performance-grid,.abba-grid,.quality-grid{grid-template-columns:1fr}.result-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-items:start}.result-panel>.eyebrow{grid-column:1}.selected-speed{grid-column:1;font-size:50px;margin:10px 0 0}.result-panel>p{grid-column:1}.result-panel .divider{display:none}.key-values{grid-column:2;grid-row:1/5}.key-values div{margin:10px 0}.result-panel .text-link{grid-column:1;margin:15px 0 0;justify-content:flex-start;gap:15px}.stage-row{grid-template-columns:24px 160px minmax(0,1fr) 74px;gap:12px}.stage-label b{font-size:12px}.stage-label small{font-size:9px}.stage-value{font-size:12px}.chart-axis{margin-left:208px;max-width:calc(100% - 294px)}.abba-summary>h3{font-size:23px}.stack-row{grid-template-columns:25px 170px 1fr;gap:18px}.stack-stat{grid-column:2;text-align:left;font-size:17px}.stack-row p{grid-column:3;grid-row:1/3}.notice{display:block}.notice p{margin-top:7px}.reproducibility{grid-template-columns:1fr}.methods-grid{grid-template-columns:1fr}.repro-proof>div{justify-content:flex-start}.repro-proof b{margin-left:0}.section-heading .button{padding:10px 13px;font-size:10px;gap:12px}.status-pill{font-size:10px}.panel-top .mono{font-size:8px}}
|
| 6 |
+
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.nav{height:62px}.brand{font-size:13px;gap:6px}.brand-icon{width:24px;height:24px;font-size:20px}.nav-links{gap:16px;font-size:11px}.nav-links a:last-child{display:none}.hero{display:block;padding-top:48px;padding-bottom:28px}.hero .eyebrow{font-size:9px}h1{font-size:clamp(37px,9.7vw,53px);margin:18px 0 21px}h1 span{margin-top:9px}.hero-lead{font-size:13px;line-height:1.9}.hero-actions{margin-top:24px;gap:10px}.hero-actions .button{font-size:11px;padding:11px 15px;gap:18px}.hero-tags{margin-top:22px;font-size:9px}.hero-visual{margin-top:32px;padding:21px 24px}.speed-number{font-size:118px;margin-top:8px}.visual-sub{font-size:10px;margin-bottom:18px}.visual-foot{margin-top:19px;padding-top:13px}.metrics article{padding:18px 14px}.metric-label{font-size:10px}.metric-value{font-size:23px}.metrics article:first-child .metric-value{font-size:18px;line-height:1.66}.metric-value small{font-size:11px}.metrics p{font-size:9px;line-height:1.6;max-width:150px}.metrics article:nth-child(4) .metric-value{line-height:1.4}.section{padding-top:51px}.section-heading{align-items:flex-start;gap:18px;flex-direction:column;margin-bottom:21px}.section-heading h2{font-size:24px;margin-top:9px;line-height:1.5}.section-heading p{font-size:12px;line-height:1.8}.eyebrow{font-size:9px}.case-picker{align-self:flex-start}.case-caption{flex-wrap:wrap;gap:8px;font-size:10px}.panel{padding:20px 17px}.panel-top{margin-bottom:18px;gap:9px;flex-wrap:wrap}.panel-top h3{font-size:13px}.stage-row{grid-template-columns:18px 105px minmax(0,1fr) 60px;gap:7px;margin:22px 0}.stage-label b{font-size:10px}.stage-label small{font-size:8px}.stage-index{font-size:8px}.stage-value{font-size:10px}.stage-track{height:16px}.chart-axis{margin-left:137px;max-width:calc(100% - 204px);font-size:7px}.chart-axis span:nth-child(2),.chart-axis span:nth-child(3){display:none}.footnote{font-size:9px}.selected-speed{font-size:43px;letter-spacing:-.06em}.selected-speed small{font-size:25px}.result-panel{column-gap:12px}.key-values div{font-size:9px}.result-panel>.eyebrow{font-size:8px}.result-panel>p{font-size:9px}.result-panel .text-link{font-size:9px;gap:9px}.abba-summary>h3{font-size:22px;letter-spacing:-.075em}.mini-metrics b{font-size:23px}.mini-metrics{gap:42px}.pipeline{font-size:10px;gap:9px}.pipeline span{padding:7px 9px}.pipeline b{font-size:10px}.stack-row{grid-template-columns:20px 1fr auto;gap:13px;padding:20px 16px}.stack-row h3{font-size:13px}.stack-row p{grid-column:2/4;grid-row:auto;font-size:11px}.stack-stat{grid-column:3;grid-row:1;text-align:right;font-size:15px;align-self:start}.stack-stat small{font-size:7px;max-width:91px;white-space:normal;line-height:1.7}.tag{font-size:8px}.step-no{align-self:start;margin-top:2px;font-size:10px}.notice{padding:14px 15px}.notice p{font-size:10px}.detail-heading{margin-top:30px}.detail-heading h3{font-size:13px}.detail-heading>span{font-size:8px}.details-grid{grid-template-columns:1fr;gap:12px}summary{padding:18px 17px;font-size:12px}.detail-body{padding:0 17px 18px}.detail-body p{font-size:11px}.component{font-size:9px}.component b{font-size:10px}.quality-copy h3{font-size:26px}.gate-info span{font-size:10px}.gate-info b{font-size:11px}.gate-foot{font-size:8px}.repro-copy h3{font-size:17px}.repro-copy p{font-size:11px}.reproducibility{gap:18px}.audit-grid{grid-template-columns:1fr;padding:0 18px 20px;gap:18px}.download-grid{gap:10px}.download-grid>a{padding:14px 11px;gap:8px}.file-icon{font-size:16px}.download-grid b{font-size:10px}.download-grid small{font-size:8px;line-height:1.6}.download-grid>a>span:last-child{font-size:12px}.timing-in,.timing-out{grid-template-columns:35px 1fr;gap:10px}.timing-in p,.timing-out p{font-size:11px}.config-grid{font-size:10px;grid-template-columns:82px 1fr;gap:10px}.source-details>div{padding:0 17px 17px;font-size:10px}.source-details code{font-size:9px}.evidence-section{padding-bottom:35px}footer{padding-top:23px;padding-bottom:30px;gap:13px;flex-wrap:wrap}footer .brand{font-size:11px}footer p{font-size:9px;margin:0}footer>a:last-child{font-size:9px}footer p span{margin-left:8px}.engineering-section{padding-bottom:36px;margin-top:4px}}
|
| 7 |
+
@media(max-width:600px){.hero::before{inset:-20px 0}}
|
| 8 |
+
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
|