cang-ying/eererdan/experience/EED-EXPER-030.hdlp

110 lines
6.4 KiB
Plaintext
Raw Normal View History

# 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