# H3 R2V：GPU 0 第三轮优化实测

找到保持本次输出完全一致的提速方案：把两类大矩阵的 INT8 CUTLASS GEMM 按 8192 行拆分调用。

## 实测

| 任务 | 总耗时 s | 三次采样 s | 五次视频 VAE s | 画面/音轨 |
|---|---:|---:|---:|---|
| p3b_default_first | 387.969 | 271.125 | 99.503 | 一致 |
| p3b_default_hot | 373.165 | 259.751 | 99.473 | 一致 |
| p3_chunk_first | 367.469 | 248.551 | 100.059 | 一致 |
| p3_chunk_hot | 346.611 | 233.571 | 99.692 | 一致 |
| p3_seed2_default_first | 395.842 | 277.467 | 98.936 | 一致 |
| p3_seed2_chunked_first | 372.927 | 252.348 | 100.926 | 一致 |

- p3b_default_first → p3_chunk_first：省 20.500 秒，耗时减少 5.28%。
- p3b_default_hot → p3_chunk_hot：省 26.554 秒，耗时减少 7.12%。
- p3_seed2_default_first → p3_seed2_chunked_first：省 22.915 秒，耗时减少 5.79%。

first 表示新进程首次执行，操作系统文件缓存已热，并非冷盘启动；hot 表示同进程第二次执行。
每一对使用完全相同的节点缓存集合。所有任务以相同字节的新参考图文件名强制执行三次采样，
并记录了所有五次视频 VAE，不把结果缓存重存算作加速。第二组 seed 是新的配对实验，
只与自己的默认配置成片比较。
总耗时取客户端提交到获取完成记录的墙钟时间，含完成轮询开销；summary.json 同时保存
execution_start 到 execution_success 的事件耗时，避免把轮询差异当作计算收益。

## 改了什么

- 仅在无 bias、无 residual、M≥32768 且 (K,N) 为 (5376,21504) 或 (5376,28672) 时按行分块。
- 复用现有 Comfy Kitchen INT8 算子；激活量化仍先完整执行，量化方式、缩放和输出 dtype 不变。
- 分块只发生在 GEMM；权重和张量通过 DLPack 别名引用，临时引用限于单次调用。
- 原来的 8+8+8 步、采样器、模型、LoRA、Veda、精度、五张参考图、时长、832×480、362 帧、
  24fps、全部 VAE 往返和 H264 CRF19/AAC 均保留。未使用 Qwen 降采样补丁。
- GPU 0 RTX4090 24GB；独立进程监听 127.0.0.1:18188。原 8188、18201 的代码与启动方式未改。

## 验证范围

原 seed 的 first/hot，以及第二组 seed 的 first 配对：全部 362 帧的原生 YUV420P、时间戳及
完整 float32 PCM 音轨逐项相同。没有对未知 prompt、时长、分辨率或所有 seed 作保证。
完整帧和音轨的验证文件在各任务 media-validation.json；不是只抽帧或用相似度评分。
每种情况目前是一对，不能把小幅差异解释为高精度统计估计。

## 本轮其他尝试

- cuBLAS 替换：某些大矩阵更快，但数值有差异，未采用。
- CUTLASS 配置 0–13：数值一致；部分配置有局部收益，整体候选采用更快的按行分块。
- 注意力 4/8 warps × 1/2/3/4 stages（保持 key block=64）：数值一致，未见值得采用的收益。
- 未改变注意力稀疏选择规则、key block 数值粒度或 VAE 算法。
- 未安装或升级依赖；未修改 ComfyUI、Veda、Comfy Kitchen 的原文件。

## 文件和复现

- server_bootstrap.py：实验启动器，H3_KERNEL_MODE=chunked 启用分块，default 原路径。
- manage_server.py / run_pair.py / run_job.py：隔离启动、检查两个原队列、计时、参数不变量验证。
- bench_chunks.py / chunk-microbench.json：按行拆分的数值和计时测试。
- bench_cutlass.py / cutlass-microbench.json：代表性模型尺寸配置测试。
- bench_int8.py：初筛使用 7168 宽度的合成输入，不能直接作为真实模型尺寸提速结论。
- cutlass-exploratory-7168.json 的内部 benchmark API 返回量按整个循环记录，
  未与单次 default_ms 直接比较；正式 cutlass-microbench.json 统一使用 CUDA Event 单次均值。
- 所有视频及完整验证记录已保存在本地本目录；结果页面 index.html 可直接播放。

临时实验进程结束后，原服务仍按原配置运行。本轮优化已在临时服务验证，尚未接入原 8188。
