KJNodes/torchcompilegenerated
TorchCompileModelAdvanced
该节点在技术实现上,允许用户选择不同的编译后端(如 inductor)和优化模式(如 max-autotune)。
Torch Compile Model Advanced
model
MODEL
backend
inductor
fullgraph
mode
default
dynamic
false
compile_transformer_blocks_only
dynamo_cache_size_limit
64
debug_compile_keys
disable_dynamic_vram
KJNodes
TorchCompileModelAdvanced 节点,该节点在技术实现上,允许用户选择不同的编译后端(如 inductor)和优化模式(如 max-autotune)。
TorchCompileModelAdvanced 是一个用于优化扩散模型推理性能的 ComfyUI 节点。它通过 PyTorch 的 torch.compile 功能,将模型的关键部分编译成更高效的格式,从而提升图像生成速度。该节点提供了比基础编译节点更精细的控制选项。
节点功能
该节点在技术实现上,允许用户选择不同的编译后端(如 inductor)和优化模式(如 max-autotune)。它通过设置 torch._dynamo.config.cache_size_limit 来控制编译缓存大小,并可以选择性地仅编译模型的 Transformer 模块,以平衡编译速度与优化效果。
节点参数说明 - TorchCompileModelAdvanced
连接输入 (Inputs)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
model | MODEL | 是 | - | - | 接收待优化的扩散模型,作为编译处理的输入对象。 |
控件参数 (Parameters)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
backend | COMBO | 是 | inductor | "inductor", "cudagraphs" | 选择 PyTorch 编译所使用的后端引擎。可选值为 inductor 或 cudagraphs。 |
mode | COMBO | 是 | default | "default", "max-autotune", "max-autotune-no-cudagraphs", "reduce-overhead" | 优化模式。可选值:default、max-autotune、max-autotune-no-cudagraphs、reduce-overhead。 |
dynamic | COMBO | 是 | false | "auto", "true", "false" | 启用动态形状追踪(true、false 或 auto)。 |
fullgraph | BOOLEAN | 是 | False | - | 启用全图形模式。 |
compile_transformer_blocks_only | BOOLEAN | 是 | True | - | 仅编译 Transformer 块,编译更快且不易出错。 |
dynamo_cache_size_limit | INT | 是 | 64 | 0 - 1024(步长: 1) | torch._dynamo.config.cache_size_limit。 |
debug_compile_keys | BOOLEAN | 是 | False | - | 打印用于 torch.compile 的编译键。 |
disable_dynamic_vram | BOOLEAN | 否 | False | - | 禁用动态 VRAM 管理以减少内存碎片。 |
输出
| 参数名称 | 数据类型 | 说明 |
|---|---|---|
| MODEL | MODEL | 输出经过编译优化后的模型,用于后续的图像生成步骤。 |
使用场景
在具体应用中,当用户构建一个追求生成速度的工作流时,可以将此节点连接在加载好的模型之后。通过调整其编译模式和动态形状追踪等参数,用户可以在不同硬件(如 NVIDIA GPU)上尝试获得最佳的推理性能,而无需修改模型本身。
注意事项
此节点标记为实验性功能,其行为可能随 PyTorch 版本更新而变化。不恰当的参数组合可能导致编译失败或运行错误,建议在关键工作流中使用前进行充分测试。
TorchCompileModelAdvanced 节点源码链接
TorchCompileModelAdvanced 节点来自 ComfyUI-KJNodes 节点包。
评论
使用 GitHub 登录后即可参与讨论。