<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[linux+rocm无法开启动态VRAM]]></title><description><![CDATA[<p dir="auto">遇到问题<br />
使用的机智罗的工作流，都是7900XTX的卡，他是windows11，我是linux，据说使用动态VRAM能省时间<br />
60-MiniMax-H3 文生视频测速工作流<br />
hermes也处理了半天，最终还是关闭动态VRAM才能使用<br />
<a href="https://github.com/Comfy-Org/comfy-aimdo%E6%B3%A8%E6%98%8E%E4%BA%86Nvidia" rel="nofollow ugc">https://github.com/Comfy-Org/comfy-aimdo注明了Nvidia</a> GPUs only<br />
社区也找了comfy-aimdo-rocm的，测试了也不行<br />
论坛有没有linux+rocm的遇到这个问题</p>
<pre><code># 动态 VRAM 问题总结

更新时间：2026-08-10

## 环境

- GPU：AMD Radeon RX 7900 XTX，gfx1100，约 24 GiB VRAM
- OS：Linux 6.8.0-136-generic
- Python：3.10.12
- ComfyUI：0.31.0
- PyTorch：2.11.0+rocm7.2
- ROCm/HIP：7.2.26015
- comfy-aimdo：0.4.13
- comfy-kitchen：0.2.28
- XB_ToolBox：已安装并可加载

## 问题概述

当前环境开启动态显存时，ComfyUI 可以正常启动，但大型视频工作流执行到模型加载或 VAE 解码阶段会报：

`MemoryError: VBAR allocation failed`

日志对应：

`comfy_aimdo.model_vbar.ModelVBAR` → `Could not reserve Virtual Address space for VBAR`

已在以下工作流中复现：

- MiniMax H3：文本编码器/主模型加载阶段失败

## 判断

这不是普通 GPU VRAM OOM：报错时仍有可用 VRAM，系统 RAM 和 Swap 也没有耗尽。问题位于 AMD ROCm 下 `comfy-aimdo` 动态 VBAR 虚拟地址分配路径，与工作流的分块数量不是直接因果关系；降低 VAE tile 可能改变负载，但不能根治。

## 当前可用配置

已验证的稳定回退方案：

- 启动参数：`--disable-dynamic-vram`
- XB_ToolBox 静态 Block Swap：使用正数分块，例如 `50`

当前 ComfyUI 已恢复为静态显存模式。动态 VRAM 仅能作为实验配置使用，不能认为在本机大型视频工作流上稳定可用。

</code></pre>
]]></description><link>https://lcz.me/topic/1074/linux-rocm无法开启动态vram</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 03:26:51 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/1074.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Aug 2026 05:36:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to linux+rocm无法开启动态VRAM on Mon, 10 Aug 2026 07:20:14 GMT]]></title><description><![CDATA[<p dir="auto">论坛里 Linux + ROCm 的 7900XTX 用户不少，这个问题基本就是 comfy-aimdo 的现状，不是你的配置问题。先给结论：官方只支持 NVIDIA（GitHub 上明写 Nvidia GPUs only），ROCm 全靠社区移植，动态 VRAM 在 Linux 上目前就是实验性质。</p>
<p dir="auto"><strong>你报错的原因</strong>：VBAR（Virtual Base Address Register）只是预留 GPU 虚拟地址空间，本身零显存成本。<code>Could not reserve Virtual Address space for VBAR</code> 就是 HIP 版虚拟地址预留调用（hipMemAddressReserve）失败，发生在模型加载/VAE 解码阶段。和你判断的一致——不是显存 OOM，是 ROCm 下 VBAR 预留路径的问题。</p>
<p dir="auto"><strong>社区移植现状</strong>（两个来源都有坑）：</p>
<ol>
<li>asagi4 的 PR（hipify-clang 转换）至今是草稿没合并，作者自己说「该释放内存时不释放，还会 pytorch OOM」。</li>
<li>spheenik 的 fork（<a href="http://github.com/spheenik/comfy-aimdo" rel="nofollow ugc">github.com/spheenik/comfy-aimdo</a> 的 hip-rocm-support 分支）在 RX 9070 gfx1201 + ROCm 7.2 上验证可用，但只测过这一张卡。gfx1100（RDNA3）有人实测反馈：只有标准 ComfyUI 节点能走 AIMDO，自定义节点一包 ModelVBAR 就失效；fp8/fp16 标准权重在 gfx1100 上还会直接搞崩 amdgpu 驱动——H3 的 33B FP8 正好撞在枪口上。另外 HIP runtime 有个已知 bug：hipMemUnmap + hipMemRelease 不调 hipMemAddressFree 就不释放显存（ROCm/ROCm#6021），修复 4 月初才合进 rocm-systems#4363，发行版 HIP 未必带——多轮 eviction 会越跑越吃内存。</li>
</ol>
<p dir="auto"><strong>建议</strong>：</p>
<ul>
<li>你现在的回退方案（--disable-dynamic-vram + XB_ToolBox 静态 block swap）就是 24G 跑 H3 FP8 在 Linux 上的正确姿势，继续用，别折腾动态了。</li>
<li>真想试动态：用 spheenik 的 fork 自己编译 <a href="http://aimdo.so" rel="nofollow ugc">aimdo.so</a>，启动日志必须出现「comfy-aimdo inited for GPU: ...」和「DynamicVRAM support detected and enabled」两行——缺了就是移植没生效（有人手动拷 .so 结果没生效踩过这个坑）；只跑标准节点；先 ulimit -v unlimited 并确认 /proc/sys/vm/overcommit_memory = 1，排除虚拟地址空间限制。</li>
<li>作者在 Windows 11 上不踩坑，是因为 Windows 的 7900XTX 走的是 DirectML/ROCm-Windows 预览路径，AIMDO 的 CUDA VMM 路径那边根本没激活，他的「动态显存省时间」经验跨不了平台。</li>
</ul>
]]></description><link>https://lcz.me/post/11837</link><guid isPermaLink="true">https://lcz.me/post/11837</guid><dc:creator><![CDATA[Xiaote]]></dc:creator><pubDate>Mon, 10 Aug 2026 07:20:14 GMT</pubDate></item></channel></rss>