cang-ying/eererdan/experience/EED-EXPER-030.hdlp
Zhuyuan Operations f131882299 chore: 同步耳耳蛋经验记忆(ROCm7.14升级核验 / H3马赛克根因 / MEMO-013误判更正)
- eererdan/memory: MEMO-013 作废更正(7.14非Windows版号)、新增 MEMO-014/015/016
- eererdan/experience: EXPER-029/030 修正(H3本地部署+马赛克根因)
- memory/eed + skill(hldp-context-protect等) 同步
- 注: 新家 origin token 失效暂推旧家 old-origin 保底
2026-08-07 16:05:01 +08:00

110 lines
6.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# EED-EXPER-030 · ROCm 7.14 TheRock H3 重测马赛克未消失PyTorch 仍是 rocm7.2
> HLDP://cang-ying/eererdan/experience/EED-EXPER-030
> 耳耳蛋 ICE-GL-耳耳蛋 · PTS-VA-001-EED
> D158 · 2026-08-07 · 苍耳爸爸共同攻坚
> 国作登字-2026-A-00037559
---
HLDP://eererdan/experience/030
├── trigger: ROCm 7.2.4→7.14 升级完成后,按官方配置重测 MiniMax H3 马赛克
├── emergence:
│ ├── 旧: EED-EXPER-029 §7 推断"马赛克=ROCm7.2.4 太旧,升级新版本可解"
│ ├── 过程: 升 7.14.0-3(TheRock) → 干净装 → 排雷(blacklist/DKMS) → 官方 T2V 配置跑通但输出仍马赛克
│ └── △=从"升 ROCm 能解"→"ROCm runtime 升了不够PyTorch wheel 没跟上"
├── lock:
│ ├── ⊢ 本经验 = H3 马赛克在 ROCm 7.14 runtime + PyTorch rocm7.2 下的实测结论
│ └── ⊢ 当前 Linux 下无官方 PyTorch rocm7.14 wheelmosaic 仍无解
└── why: 避免下次再花力气只升 ROCm runtime忽略 PyTorch wheel 版本
---
## §0 · 一句话结论
**ROCm 7.14.0-3(TheRock) runtime 升级完成后MiniMax H3 int8_convrot FL2VA T2V 仍输出马赛克。根因是 PyTorch 仍为 2.13.0+rocm7.2hip 7.2.53211),量化 kernel 没换PyTorch 官方 stable/nightly 均没有 Linux rocm7.14 wheel。只升 ROCm runtime 不够。**
---
## §1 · 环境与配置
**机器**: AMD RX 7900 XTX (gfx1100, RDNA3) 24G / Ryzen 7 7800X3D / 32G RAM / Ubuntu 24.04.4 / Secure Boot enabled
**驱动/运行时**:
- kernel 7.0.0-28-generic内核自带 Canonical 签名 amdgpu
- ROCm 7.14.0-3包名 amdrocm7.14-gfx1100 / amdrocm-core7.14-gfx1100Runtime 1.21
- DKMS amdgpu 已移除,回退到内核自带签名模块(修复 Secure Boot 冲突)
- `ROCR_VISIBLE_DEVICES=0` 屏蔽 gfx1036 核显
**PyTorch/深度学习栈**:
- torch 2.13.0+rocm7.2hip 7.2.53211
- `torch.cuda.is_available()` = Truedevice = Radeon RX 7900 XTX
- comfy_kitchen backend: cuda available=True, disabled=TrueROCm 上走 PyTorch fallback
**ComfyUI**: v0.30.0venv python3.12
- 启动参数(官方动态显存方案):
`python main.py --listen 127.0.0.1 --port 8188 --disable-pinned-memory --enable-dynamic-vram --fast-disk --vram-headroom 3 --async-offload`
- 临时禁用 ComfyUI-Manager后台 cnr_utils fetch 线程 segfault 杀进程)
**模型Comfy-Org/MiniMax-H3 官方布局)**:
- DiT: `models/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors` (20G)
- TE: `models/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors` (15.7G)
- VAE: `models/vae/minimax_h3_video_vae_fp16.safetensors` + `minimax_h3_audio_vae_fp32.safetensors`
**工作流(官方 T2V去帧**:
- UNETLoader(DiT int8, default) + CLIPLoader(TE nvfp4, type=minimax) + 双 VAELoader
- MiniMaxH3ImageToVideo纯文本 T2V不带 first/last_frame
- ResolutionSelector 16:9 @ 0.4MP → 864×480
- PrimitiveFloat=3s → ComfyMathExpression → length=73 帧17k+5 合法帧数)
- KSamplerSelect(res_multistep) + BasicScheduler(simple, steps=20, denoise=1.0) + SamplerCustomAdvanced
- VAEDecode + VAEDecodeAudio → CreateVideo(fps=24) → SaveVideo
---
## §2 · 实验过程
1. ROCm 7.14 干净安装amdgpu-install --usecase=rocm首次 reboot 触发两层雷:
- `/etc/modprobe.d/blacklist-amdgpu.conf`7.31 埋下)→ amdgpu 不加载 → rocminfo RC=1
- DKMS amdgpuROCm 安装触发重建)未签名 → Secure Boot 拒绝 → `Key was rejected by service`
2. 修复:删除 blacklist 配置;`dkms remove` 未签名 DKMS 模块;`depmod -a` 回退到内核自带签名 amdgpu`update-initramfs -u` 持久化。重启后 rocminfo RC=07900XTX 识别正常。
3. ComfyUI 启动,首次 H3 prompt 误用 26G int8_convrot TE → Qwen3-VL text encoder 前向 `fast_pos_embed_interpolate` 触发 `std::bad_alloc` → segfault。
4. 修正 TE 为 15.7G nvfp4_awq官方配置去掉首/尾帧走纯 T2V重发 prompt → 执行成功,输出 `MiniMax_H3_reed_714_t2v_00001_.mp4`864×480, 73帧, 3.04s, h264+aac, 1.84MB)。
---
## §3 · 关键结果
- **执行链完整通过**model/TE/VAE 加载 → text encode → sampling → VAE decode → video create → save无 Python exception无 bad_alloc无 segfault。
- **输出仍是马赛克**ffmpeg 抽 0.5s/1.5s/2.5s 三帧,均为彩色棋盘格噪声,与 EED-EXPER-029 中描述的雪花一致。
- `torch.version.hip = 7.2.53211`,确认 PyTorch 仍绑定 ROCm 7.2。
- `pip index` 检查 PyTorch stable 与 nightly 索引Linux 均无 `+rocm7.14` wheelnightly 最新为 `2.14.0.dev20260806+rocm7.2`。
---
## §4 · 根因分析
- H3 的 int8_convrot / nvfp4 量化算子实际运行在 PyTorch 的 ROCm kernel 上comfy_kitchen 的 ROCm 优化后端在环境中被禁用,走的是 PyTorch fallback。
- 只升级 ROCm runtime/opt/rocm 7.14**不改变 PyTorch wheel 里编译好的 kernel**torch 2.13.0+rocm7.2 仍使用 ROCm 7.2 的量化实现。
- 因此 ROCm 7.14 runtime 无法修复马赛克;必须让 PyTorch 也使用 ROCm 7.14(或更高)编译的 kernel。
- 目前 Linux 上无官方 PyTorch ROCm 7.14 wheel也没有 nightly rocm7.14 wheel。Windows 社区案例提到的 `torch --index-url https://download.pytorch.org/whl/rocm7.14` 在 Linux 无分发。
---
## §5 · 结论与下一步
1. **结论**ROCm 7.14.0-3 TheRock 在 Linux 上安装成功、运行稳定,但**单靠它不能解决 7900XTX 的 H3 马赛克**。输出仍与 ROCm 7.2.4 时一致。
2. **要继续 H3 本地验证,必须换 PyTorch wheel**
- 选项 A从源码编译 PyTorch against ROCm 7.14(工作量大,数小时,可能失败,会影响 LTX/Wan/SDXL 等其他模型)。
- 选项 B等 PyTorch 官方发布 Linux rocm7.14 wheel。
- 选项 C尝试 AMD 私有/预览 wheel需查 AMD 仓库,可能不稳定)。
3. **低风险替代方案**
- 按 EED-EXPER-029 §5 的 Windows 指引测试PyTorch rocm7.14 wheel 在 Windows 上似乎可用)。
- 云端/NVIDIA 环境跑 H3 作对比。
4. **短期建议**H3 作为本地 7900XTX 主力生成仍不成熟;继续以 LTX2.3 为高清主力EED-EXPER-017、EED-MEMO-007/008
---
> ⊢ 耳耳蛋 ICE-GL-耳耳蛋 · PTS-VA-001-EED
> ⊢ D158 · 2026-08-07 · 国作登字-2026-A-00037559
> ⊢ 关联: EED-EXPER-029 · EED-MEMO-014 · EED-MEMO-015 · project_h3_local_24g_feasible.md