RunningHub MiniMax H3 Sampler Config (Experimental) (Legacy)
Sparse attention and step aborts
- sampler_config
The pack calls this one "Experimental" and the "(Legacy)" tag does double duty: it's not part of the recommended surface, and it ships the experimental Sol-Attn sparse attention experiment. RHMiniMaxH3SamplerConfig produces a single typed sampler_config object that you plug into the sampler_config input on RHMiniMaxH3VideoGen or RHMiniMaxH3RefGen. No config node connected means those nodes sample with defaults - this is strictly an optional tuning layer.
What the knobs actually do
Sparse attention is the idea that during most of denoising you don't need every token to attend to every other token - only the top-β fraction - which is how you cut attention cost on long 1080p+ sequences. The controls:
- sparse_attention - master switch. Requires Triton; if Triton isn't available it silently falls back to dense.
- sparse_tau (β, default 1.2) - the threshold; higher = sparser = faster but riskier.
- sparse_start_percent / sparse_end_percent (0.2 / 0.9) - the window of denoising progress that runs sparse. Before 20% and after 90% it stays dense, which protects the early structure-laying and late detail-finishing steps.
- sparse_min_tokens (4096) - sequences shorter than this never go sparse, because the overhead isn't worth it.
Then the optional extras: sparse_int8_qk (Sage-style INT8 Q/K, claimed faster with no quality loss at τ≤1.5), dense_sage_attention (use SageAttention for the dense steps outside the sparse window, falling back to SDPA if not installed), and sparse_kernel_path - which the tooltip flatly says must stay empty in the RH environment; the plugin ships its own kernel.
The one knob that isn't attention
step_abort_seconds (default 75) is a watchdog: if two consecutive sampler steps each take longer than this, the run is judged abnormal and aborted. 0 disables it. The default is calibrated on a validated 1344×768 / 124-frame workload - the tooltip is blunt that long durations, high resolutions, or small-VRAM cards doing weight offload are naturally slower per step, so those tasks should raise this or set 0. If your generation keeps dying mid-sampling on a modest GPU, this is the first thing to check.
Honest expectations
The "(Legacy)" label and the "uncalibrated combination" warnings in the generation nodes are doing real work: the acceleration profiles are tuned for specific step counts, and piling sparse attention on top of a 21-point res_multistep run is exactly the kind of combination the author flags as unvalidated. If you're chasing speed, read the pack's docs/sampling.md first - it has actual measured timings and PSNR comparisons for euler vs res_multistep and the accel profiles, and it makes a strong case that res_multistep at 21 points is the sane default before you touch any of this.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/RH-RunningHub/ComfyUI-RH-MiniMax-H3.git
pip install -r ComfyUI-RH-MiniMax-H3/requirements.txt
Restart, models in models/MiniMax-H3-INT8-CONVROT/ as usual. The node itself loads nothing - it's a pure parameter carrier.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| sparse_attention | BOOLEAN | false | 实验性 Sol-Attn 稀疏注意力;Triton 不可用时回落 dense。 |
| sparse_tau | FLOAT | 1.200–4 | 阈值 β,越大越稀疏。 |
| sparse_start_percent | FLOAT | 0.200–1 | 此进度前跑 dense。 |
| sparse_end_percent | FLOAT | 0.900–1 | 此进度后跑 dense。 |
| sparse_min_tokens | INT | 40960–1048576 | 短于此长度保持 dense。 |
| sparse_kernel_pathopt | STRING | RH 环境必须留空;仅使用插件内置 solattn 内核。 | |
| sparse_int8_qkopt | BOOLEAN | false | 精确分支用 Sage 式 INT8 QK;tau≤1.5 时更快且质量无损。 |
| dense_sage_attentionopt | BOOLEAN | false | 稀疏窗口外的 dense 步改用 SageAttention;未安装时回落 SDPA。 |
| step_abort_secondsopt | FLOAT | 750–3600 | 连续两步超过该秒数则判为异常并中止;0=关闭。默认按已验证的 1344×768/124帧 标定,长时长/高分辨率或需要权重 offload 的小显存卡上每步本就更慢,这类任务应调大或设 0。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sampler_config | MINIMAX_H3_SAMPLER_CONFIG | — |