# LingBot 性能分析交接：从这里继续

交接原因：用户的 Codex 配额即将用完，明确要求完成当前输出转换实验后交接给其他 AI。**交接后不要自动提交新实验；由接手 AI 根据用户授权继续。完整计划尚未完成。**

## 交接终态

当前一步已完成：40份整模型输出exact、20份真实输入转换结果与CPU/原模型字节一致、775个取整边界值通过。包含D2H的局部耗时在9帧/12帧输入分别降低23.76%/31.84%；只是单进程三批局部对照，不是模型收益。采集、控制和单卡AB原PID均已退出。CPU网页观察进程1489129已停止，避免交接后继续改写报告；后续由接手AI决定重启。

## 1. 先读这些文件

工作区 `/data/zhoutaichang/feature`。下文 R 为 `/data/zhoutaichang/feature/Lingbot_world_realtime/runs/analysis_report_20260908`。

1. 本文件及 `HANDOFF_STATE.json`：交接时的现场与当前一步结果。
2. `plan/published-analysis-plan.html`：用户完整计划的本地缓存，保留原范围。
3. `analysis/plan_acceptance_audit.json`：逐项证据与缺口；检查时间戳，不能仅凭“passed”或文件存在就宣布完成。
4. `REPORT_CN.md`：已交付的详细中文报告，按实验边界区分结果。
5. `REPRODUCE_CN.md`、`analysis/raw_data_index.json`、`analysis/derived_data_index.json`：复现、原始数据路径和校验清单。

原计划 https://world-model-h200-performance-20260904.tzhouam.chatgpt.site/analysis-plan 。首轮报告在 2026-09-10 08:40 CST 前交付，之后不断补充；此交接不是完整计划验收。

## 2. 不得改变的操作约束

- 中文简洁沟通；原始成功、失败、输入、输出、计时、日志、命令、源码版本、NCU/NSYS 文件都保留。新增实验使用新目录，不覆盖失败证据。
- 先读取 `plan/gpu-scheduler-guide.pdf`（原路径 `/home/zhoutaichang/feature/GPU调度工具快速上手.pdf`）。只用普通用户 UID 2005 的 `gpu run`，不调用 `gpu reserve`，不建预约；同时最多4卡。工具输出“Reserved”是 run 的内部状态，不是手工预约。
- SSH root 别名 `L20X-root`，root@47.79.124.13:31014。实际可用 NCU 路径由已有 `run_capability_attention_ncu.py` / `run_missing_operator_ncu.py` 实现：root bootstrap 后通过 setpriv 给 UID2005 进程 CAP_SYS_ADMIN，严格传递已分配 CUDA_VISIBLE_DEVICES。
- 不改驱动、不重启节点、不终止别人的任务。当前环境的工作目录在服务器，不要称其为用户笔记本。
- 不能把 profiler 时间、未插桩时间、独立算子时间相混；物理GPU按UUID/PID核对。
- 累计GPU时间不是墙钟；时间线重叠不证明同时占用硬件或收益。独立数值通过不等于整模型数值通过。
- 禁止为让结果通过而放宽既定数值门槛。未知/unsupported/OOM/失败/未采集各自标注。
- 用户未授权子代理：不要开启多代理。
- `gpu run` 会 exec 成 Python 并保留PID，不能用原命令名是否消失判断退出。核对 `/proc/PID/cmdline`、进程状态、子进程和终态 manifest；不要因观察超时重启。

## 3. 已完成的主要证据（须从文件复核）

### Attention
- 2分辨率480×832、704×1280 × TP/SP六种组合(1,4)/(1,2)/(2,2)/(2,1)/(4,1)/(1,1)。12代表上下文 × 7接口：1008尝试，1004有效，4个高分辨率TP1SP1 SDPA math OOM。
- 每点20 warmup、同进程3×300 CUDA event；真实backend/kernel有trace。native_dense/native_varlen均可落到SM90 FA3，不能称为fallback。
- 样本FP64参考使用32 query、4 head、**全部有效KV**；.03/.03 allclose及relative L2≤.01。不能将缓冲区padding计入oracle。
- 入口 `analysis/matrix_coverage.json`、`attention_graph_points.csv`、`fa3_interface_dispatch_comparison.json`、`attention_*_audit.json`。
- 新四组同卡GPU0 FA2/FA3 NCU（480短、704短、704长、704cross）8次均通过：`attention_hardware_extension_summary_v1.json`、四份`attention_hardware_*_audit_v1.json`。原始 `raw/attention_hardware_extension_v1/`，含完整输出、FP64样本参考、NCU报告和CSV。
- `attention_counter_context_v1.json` 按输入SHA匹配旧未插桩回放：FA2/FA3比例依次1.822/1.806/1.833/1.194；对应NCU比例1.850/1.942/2.026/1.156。不同运行/分配，不解释成profiler开销或模型收益。
- 早先480长KV对照 `capability_attention_pair_audit.json` 使用有效K28080（不是allocated29640），错误padding oracle失败记录保留。

### 算子硬件、工作量与VAE
- 两分辨率TP1SP4各2 epoch，逐调用选定算子元数据：163200 linear、7984 conv、32000 Attention、20 GPU转换。各次采集与对应新参考的40份保存输出逐位一致。
- `operator_metadata*_audit_v1.json`、`operator_metadata*_attention_audit_v1.json`、`operator_metadata*_model_invariance_v1.json`；高分辨率provenance规范成功状态为pilot_passed，旧状态schema失败和v2修正保留。
- 59个代表算子输入（原18+480补13+704补28），183个NCU kernel，不含Attention。在所选逐调用记录中，各分辨率12种linear、17种conv、2种转换的**结构签名**均有代表输入；不代表每次实际调用都采了NCU。
- 核心审核：`capability_operator_ncu_full_audit.json`、`missing_operator_ncu_audit_v1.json`、`missing_operator_704_ncu_audit_v1.json`；覆盖：`operator_replay_signature_coverage_v2.json`、`operator_replay_signature_coverage_704_v2.json`。
- 高704审核有一条调度备注：PID2019660、GPU0，退出附近短暂unknown、无warning/signal、resolved exited，原因未证明。canonical为 `audit_missing_operator_ncu_704_v2.py`，状态counter_output_checks_passed_with_scheduler_note。不能叫无备注通过；原失败保留。更早详细VAE PID613927也有单独类似备注。
- `recorded_model_mac_work*_v1.json` / `dit_work_by_chunk*_v1.json` / `resolution_recorded_work_comparison_v1.json`：仅所选算子标称MAC。704/480 self Attention约5.091倍，linear/cross/VAE约2.256倍；有效KV增长6倍。非全模型FLOPs/MFU。
- `missing_vae_components_v1.json`、`vae_components_704_v1.json`及PNG/SVG分拆计算、layout、add等；占比不是可回收收益。
- 两个含全部输入/权重packing与输出contiguous的局部channels-last A/B均逐值一致，但分别慢22.42%和14.82%。`vae_layout_local_ab_v1`、`vae_layout_temporal_ab_v1`及审核；不能推荐集成为加速。
- 同GPU6三启动经验GEMM/BW标定：`same_gpu_gemm_calibration_audit.json`、`local_bandwidth_audit.json`、`local_bandwidth_ncu_audit.json`、`same_gpu_reference.json/png/svg`。BF16经验787.706TF/s，DRAM经验4349.81GB/s；不是硬件峰值。新GPU0数据不能套用GPU6“同卡”分母。
- 小工作集及Graph实验有真实DRAM流量，不能认领纯L2峰值。`warm_working_set*_audit_v1.json`、`warm_graph_pair_audit_v1.json`。

### NSYS、数值与尾延迟
- `raw/original_nsys_worker_flush_v2/`保留nsys-rep和SQLite；1091749 kernel有物理GPU/API关联。worker尾部、400anchors及970资源签名组已核对。
- `worker_chunk_activity.json`、`worker_longest_gap_context.json`、`worker_flush_v2_runtime_link_summary.json` 等；未覆盖完整服务CPU因果链。不要将不同采集的逐层元数据硬嫁接到该nsys的每次调用。
- eager两次40输出exact；两种编译模式重复均失败。cuDNN cross和SDPA Flash cross候选虽局部通过，整模型保存输出均未通过；**没有已验收的整模型加速**。
- `cross_sdpa_model_comparison_v2.json` / `cross_sdpa_model_audit_v2.json`；原版/候选两轨迹各160个shadow真实输入局部与FP64样本通过，最终各40输出与各自基线exact。跨轨迹Q从第二次开始不同，不能推断唯一因果。`cross_shadow_trajectory_comparison_v1.json/png/svg`。
- 两分辨率各3次长尾，每次1000 steady intervals；块bootstrap已做。`raw/tail_original_*`、`tail_block_sensitivity.json`。
- **长尾仅epoch0/1保存完整40输出；后续只保存hash和计时，旧完整输出无法补回。** 同运行hash稳定不代表跨启动数值重复性已通过；旧三启动保存输出跨run未通过。

### 输出边界与媒体
- `output_boundary_inventory_v1.json`：冻结Case D做FP32 BCTHW→GPU uint8→CPU；IPC回复只含元数据与hash，没有像素。CPU-ready、metadata-received不等于编码完成或客户端交付。
- 新CPU FFV1 level3、bgr0、4线程/固定4CPU、24fps播放基准：3份视频各117帧，独立解码351帧逐字节一致。`lossless_media_roundtrip_audit_v1.json`、`raw/lossless_media_roundtrip_480_v1/`（原RGB、视频、完整decoded RGB、ffprobe、日志）。编码约1.50–1.67秒，含进程与文件I/O，不含模型生成，不代表浏览器兼容/服务吞吐/有损质量。

## 4. 交接前最后一步：输出融合（以 HANDOFF_STATE.json 为最终状态）

- v1补采失败：`list(pixels.shape())`误调用torch.Size，CPU已复现；rank0异常清理等待其他rank。保存线程栈后只SIGTERM本任务三个VAE子rank，使任务失败退出。`analysis/output_float_capture_failure_v1.json`、`raw/output_float_capture_stall_diagnostic_v1/`、`raw/output_float_capture_shape_reproduction_v1.log`。
- 修正版 `scripts/run_output_float_capture_v2.py` → `raw/output_float_capture_480_v2/`；原始采集PID2327669，控制PID2327678（历史定位，**不可直接当活PID**）。`raw/output_float_capture_dispatch_v2.json`、`output_conversion_workflow_v3.json/.log`。
- 自动流程 `continue_output_conversion_v3.py`：补采完成→`compare_execution_control_outputs.py`与`raw/cross_sdpa_reference_v2/out`比较40输出，要求exact→单卡普通gpu run运行`output_conversion_ab_v1.py`。
- 原始补采应有20份`output_float_*.pt`。AB输出 `raw/output_conversion_ab_v1/`，全部20输入original/fused完整uint8输出、775个取整边界值、PTX/cubin、逐次计时和命令。
- 融合实现Triton：add/mul/nearbyint/clamp/cast合并，`enable_fp_fusion=False`；保持nearest-even取整。CPU-independent审核 `scripts/audit_output_conversion_ab_v1.py` → `analysis/output_conversion_ab_audit_v1.json`。
- 每种尺寸第一个输入计时，20warmup、3交错批×100；GPU-only event与包含pageable D2H的wall时间分开。这里只是局部A/B，不是整模型加速。
- 两次旧controller错误均保留：v1按命令note检查存活，gpu exec改名导致误判；v2随原失败采集停止。v3跟踪新PID，未改数值门槛。

## 5. 接手后的顺序

1. 读 HANDOFF_STATE.json，检查所列PID和终态manifest，确认没有旧任务仍占GPU；**不要直接重跑脚本或复用旧输出目录**。
2. 先复核最后一步的审核结果。若局部融合有收益且20输入/边界字节均exact，再设计整模型单变量A/B，保存每个被计时样本对应的完整输出。否则保留负结果，不为通过而换口径。
3. 对最终候选补充独立启动和另一分辨率；当前同进程三批不等于三启动。可探索pinned D2H/staging，但需包含分配、复用生命周期和消费者等待的真实成本。
4. 完整计划仍缺H1通信/layout单变量消融、H2融合与构造、H3完整解码消融、H4像素IPC/编码/真正交付、H5背压/取消/错误/flush及组合调度。先按关键路径证据排序，不默认VAE是瓶颈，不引用外部收益。
5. K0/K1完整阶段和逐层逐调用映射、全模型MFU与受控瓶颈反证仍缺。不能用少数代表输入/名义工作量宣布全覆盖。
6. 改善报告可读性：现有报告持续追加很长，可整理首页摘要与证据链接；保留所有实验边界、失败和原始证据，不删掉未完成项来宣称完成。
7. 刷新raw/derived索引、复现说明和计划验收表，再发布；新大型资产需单独上传并HTTP+SHA核验。

## 6. 网站与复现入口

P=`/data/zhoutaichang/feature/Lingbot_world_realtime/live-canvas`

- 报告 https://world-model.43.155.186.30.nip.io/analysis-report-cn.html
- 硬件页 https://world-model.43.155.186.30.nip.io/kernel-analysis-cn.html
- 证据页 https://world-model.43.155.186.30.nip.io/evidence.html
- 发布：`bash P/scripts/publish-evidence.sh`。它用flock防并发，运行export-evidence/export-kernel-cn/export-report-cn，再SCP/rename到 `Personal-Agent:/home/ubuntu/world-model/public`。
- 报告生成：`python R/scripts/build_evening_report.py`。主要追加section位置在`current_summary`之前。
- 证据生成：`P/scripts/export-evidence.py`中的`add(...)`行；当前输出capture、media两行已加入。
- 新JSON/PNG/SVG不会被通用publisher自动复制，须自行SCP；网页验证用urllib请求并比较SHA。
- 索引：`python R/scripts/index_raw_data.py`、`index_derived_data.py`；归档：`package_analysis_snapshot.py`。
- 默认python能跑多数CPU报告工具；需要torch时使用 `/data/zhoutaichang/feature/.venv/bin/python`，不要对该路径resolve后误用系统解释器。
- 原repo：`/data/zhoutaichang/feature/vllm-omni-uspbench`，commit b9cdea7b6da42d51cd5772548c616655fec21668，冻结diff SHA99d92c019b5f968ce691ff5f80f635bf272a2b29dd294f78c4f8dfa8f8724a05。
- Rebased repo：`vllm-omni-lingbot-case-d-main` commit c59234d1974fe280116c1b77473d110ab53766e3。
- 模型 `/data/models/lingbot-world-v2-14b-causal-fast-diffusers`。
- 原始数据不在分析tar里。分析快照只含report、analysis、scripts、cached plan和索引；用索引定位持久raw。不要删除raw或把小归档描述为全量原始数据包。

## 7. 给接手AI的启动提示词

请从本机上述 R/HANDOFF_CN.md 和 HANDOFF_STATE.json 继续 LingBot 性能分析。先核对实际进程、最新manifest、原始数据和验收清单，复用有效结果。遵守普通用户gpu run、最多4卡、不预约、NCU严格限制在所分配GPU内、不改驱动和不影响别人。保留完整原始输入输出、失败与逐次计时，区分未插桩/NCU/独立回放与整模型。先复核最后一步输出融合实验，再按完整缓存计划推进尚缺的因果分析、受控消融与服务边界验证。用简体中文更新报告和Personal-Agent看板。不要把报告交付、局部数值通过或代表shape覆盖误认为整个计划完成。
