Repository navigation
Releases: xmarre/ComfyUI-Sol-H3
Release list
ComfyUI Sol-H3 v0.1.11
Production Sol/VDN/Flow interop
This is the coordinated release of Sol #41, VDN-H3-Plus v1.5.10, Flow-Aligned Regenerate v0.3.14 and Continuum-Plus v3.4.9. It preserves all 550/550 trained VDN linear evaluations in the two-chunk Sol workload while using the selected SM120 Sol sparse/dense attention operator. It does not suppress VDN to replicate Core MSA/BSA performance.
- Grouped fused K/V production for the VDN softmax provider, reusing the unchanged BF16 summary contract and avoiding duplicate K/V gathers.
- Bounded/streamed attention activation ownership and reduced redundant materialization, with exact Q lifetime checks and retained producer capabilities through the updated Flow continuation wrapper.
- Owner SM120 grouped-producer acceptance: 6/6 bitwise component parity cases; isolated producer medians improved about 24%. This is not an end-to-end 24% sampling speedup claim.
- Owner Sol runs 02177 and 02181 both performed all 550 learned VDN calls and logged 8,800 grouped K/V fused invocations. Their sampler walls differ, but references and geometry differ too, so do not attribute the entire wall change to this patch.
Coordinated release versions
| Component | Release | Included PRs |
|---|---|---|
| Sol-H3 | v0.1.11 | Sol #41 |
| VDN-H3-Plus | v1.5.10 | VDN #41–#44 |
| Flow-Aligned Regenerate | v0.3.14 | Flow #102/#103/#105/#107/#108 |
| H3 Continuum-Plus | v3.4.9 | Continuum #44/#46/#47 |
Keyless changes are explicitly excluded. Native Windows still uses fallback paths, not the Linux/WSL2 SM120 custom kernels.
ComfyUI Sol-H3 v0.1.10
Companion release for Flow-Aligned Regenerate v0.3.11 and VDN-H3-Plus v1.5.9.
Flow v0.3.11 runs partitioned continuation with the selected ComfyUI attention
backend; Sol-H3 is optional there. When Sol attention is selected, Flow's
default progressive_uniform_source continuation presents equal-grid partitions,
which Sol routes and records in Spectrum history as before. The packaged
kernel and its provenance are unchanged.
Domain-uniform Flow stream history
Spectrum backend history recognizes Flow's opt-in target-band
target_band_context=domain_uniform_v1 block replacement.
PARTITIONED_DOMAIN_STREAM_API = 1 advertises the capability to paired Flow.
The replacement evaluates two uniform-grid hidden streams per block. Each stream
must carry a canonical equal-grid partition contract, a layout signature ending
with its domain-stream leaf, a matching stream leaf, and a dense-query head
inside its temporal extent. The identity records the policy, native layout and
both streams' digests, row counts and signatures. Any inconsistency leaves the
replacement unrecognized, so history stays opaque rather than reusing another
identity. Existing classifiers, receipts and request routing are unchanged.
Dense partitioned sink measure
Dense partitioned requests may extend a key-measure range from row 0 through
the packed non-video sink and into video keys. PARTITIONED_SINK_MEASURE_API = 1
advertises this to paired Flow/VDN. Partial sink overlap and sink-covering sparse
requests remain rejected. The range remains part of validation and completion
identity; receipt ownership remains request/evaluation scoped.
Flow v0.3.11 and VDN-H3-Plus v1.5.9 use this for the opt-in
target_query_sink_measure comparison. Existing Sol requests retain their
weighting and dispatch. This capability reuses the weighted dense kernel and
does not establish rendered boundary quality or GPU performance.
Coordinated release set
Update the coordinated components together. Every release links this same
version set and identifies its implementation PRs.
| Component | Release | Included PRs |
|---|---|---|
| Flow-Aligned Regenerate | v0.3.11 | #97 |
| Sol-H3 | v0.1.10 | #40 |
| VDN-H3-Plus | v1.5.9 | #39, #40 |
| H3 Continuum-Plus | v3.4.6 | unchanged |
| Latent Upscaler-Plus | v0.2.2 | unchanged |
Spectrum MiniMax H3 v0.2.28
is the unchanged companion. Separate Keyless, audio-training and rejected
decoded-geometry experiments are outside this release set.
The tested Core adapter repair is
ComfyUI #16783.
For INT8 fused MLP runtime adapters, retain that ComfyUI Patcher PR overlay until
the repair is available upstream. The independent Core #16720 optimization is
not included in this release set.
ComfyUI Sol-H3 v0.1.9
Recognize Flow's target-grid native partition carrier in Spectrum backend history.
Spectrum history
- Partitioned history identifies Flow's exact-prefix replacement when the native
(pre-partition) sequence is the uniform target grid, declared by
native_carrier_grid="target"with a matching integer
native_carrier_rows_per_frame. The partition remains
[target-grid head | source-grid tail]. - Without this, Flow's opt-in target-band continuation would leave the history
policy opaque and Spectrum would execute every scheduled forecast as an actual
model call. - Contracts without the field keep the reduced-grid carrier checks. Inconsistent
carrier or row declarations remain opaque. sol_h3.partitioned_history.PARTITIONED_NATIVE_CARRIER_GRIDSlists the
recognized carriers for preflight capability checks.
The packaged kernel, routing, attention measures and provenance are unchanged.
Coordinated release set
Update the coordinated components together. Every release links this same
version set and identifies its implementation PRs.
| Component | Release | Included PRs |
|---|---|---|
| Flow-Aligned Regenerate | v0.3.10 | #96 |
| Sol-H3 | v0.1.9 | #39 |
| VDN-H3-Plus | v1.5.8 | #38 |
| H3 Continuum-Plus | v3.4.6 | #39, #40 |
| Latent Upscaler-Plus | v0.2.2 | unchanged |
Spectrum MiniMax H3 v0.2.28
is the unchanged companion. Separate Keyless, audio-training and rejected
decoded-geometry experiments are outside this release set.
The tested Core adapter repair is
ComfyUI #16783.
For INT8 fused MLP runtime adapters, retain that ComfyUI Patcher PR overlay until
the repair is available upstream. The independent Core #16720 optimization is
not included in this release set.
ComfyUI Sol-H3 v0.1.8
Preserve completed continuation history and reuse independently checked attention
work without changing the packaged kernel or its provenance.
Attention and request lifetime
- Qualify equal-grid exact-prefix history using geometry, measure, semantic
identity and actual completion receipts, restoring compatible Spectrum
forecasting. - Validate packaged source once per native partitioned request. Changed verifier
or source identity, nested requests and subsequent requests validate separately;
failed validation clears trust. - Reuse the packaged dynamic tensor ABI across rectangular partitioned subcalls,
retaining device, architecture, bias/map specialization, dtype/rank and
broadcast-stride identity. Rebind current tensor and scalar arguments at launch. - Execute independently checked weighted dense attention through the existing
all-selected union. Unit-measure dense calls retain Core SDPA. - Preserve SM120/SM121 support, grouped domains, physical key measure, numerical
history boundaries and hard arithmetic/CUDA failure propagation.
The coordinated same-grid profile has reported audiovisual acceptance. Existing
source and arithmetic tests cover request ownership and dispatch; they do not
establish a general generated-quality or speed claim.
Coordinated release set
Update the coordinated components together. Every release links this same
version set and identifies its implementation PRs.
| Component | Release | Included PRs |
|---|---|---|
| Flow-Aligned Regenerate | v0.3.9 | #89, #93 |
| Sol-H3 | v0.1.8 | #37 |
| VDN-H3-Plus | v1.5.7 | #33, #34, #35, #36, #37 |
| H3 Continuum-Plus | v3.4.5 | #37, #38 |
| Latent Upscaler-Plus | v0.2.2 | #16 |
Spectrum MiniMax H3 v0.2.28
is the unchanged companion. Separate Keyless, audio-training and rejected
decoded-geometry experiments are outside this release set.
The tested Core adapter repair is
ComfyUI #16783.
It remains an upstream review item, with upstream workflow approval and merge
controlled by Comfy-Org maintainers. For INT8 fused MLP runtime adapters,
retain that ComfyUI Patcher PR overlay until the repair is available upstream.
The independent Core #16720 optimization is not included in this release set.
ComfyUI Sol-H3 v0.1.7
v0.1.7 releases the SM121 / NVIDIA GB10 support implemented by PR #38 and requested by issue #10.
SM121 execution support
Compute capability (12, 1) now selects the existing packaged Sana cute_sm120 CuTe backend, matching the SM120-family implementation path without falsifying the device capability reported by PyTorch. The production gates are opened consistently in the SOL loader, ordinary runtime shape checks, partitioned execution, and rectangular K/V sizing.
The change remains inside the existing vendored-source contract: the backend mapping is packaged as a reviewed Sana patch, the manifest/provenance identities are updated, and source verification continues to fail closed rather than accepting an untracked runtime substitution.
Validation
PR #38 supplied direct GB10 execution evidence:
- a BF16
1×64×4×128load_kernelcall selectedcute_sm120and returned finite output; - a 64×64 / five-frame Comfy prompt recorded
sol_backend=cute_sm120andsparse_calls=100.
The implementation head also passed the repository CPU/provenance/interoperability workflow before merge, including the public API contract for (12, 1) -> cute_sm120. The merged main commit passed the same hosted workflow before this release metadata commit.
This establishes functional SM121 admission and real-GB10 execution. It does not establish an independent maintainer GB10 benchmark, a universal speed claim, or exact SM120/SM121 performance parity.
Scope and compatibility
- Supported custom-kernel execution targets are Linux/WSL2 on SM120 and SM121.
- Native Windows behavior is unchanged: SOL and Exact Runtime continue to fail closed to their native/inherited paths.
- Existing SM120 behavior and the
cute_sm120kernel contract are unchanged. - The still-open Sol #35 diagnostic and Sol #37 continuation-performance overlay are not part of v0.1.7; they remain separate maintainer overlays rebased on this release line.
ComfyUI Sol-H3 v0.1.6
Coordinated production release with ComfyUI-VDN-H3-Plus v1.5.6, MiniMax H3 Flow-Aligned Regenerate v0.3.6, and H3 Continuum v3.4.4. Spectrum MiniMax H3 v0.2.28 remains the unchanged Spectrum companion.
Production consolidation PRs: Sol-H3 #32, VDN-H3-Plus #32, Flow #73, and Continuum #34. The validated source lines consolidated by those PRs are Sol #15, VDN #30, Flow #70 and Continuum #33.
Exact-prefix partitioned SOL execution
v0.1.6 completes Sol-H3's production side of the newer exact-prefix progressive stack. The partitioned route accepts the heterogeneous prefix/suffix execution contract produced by Flow and VDN while preserving the existing mapped-neighbor provider-v4 ownership model and the real packaged Sana Sol-Attn SM120 CuTe backend.
The production contract keeps VDN's restricted K/V support, mapped physical query positions, learned softmax gate, output projection and learned linear complement intact. It does not reconstruct full K/V, expand Q to a square domain, or move VDN-owned semantics into Sol. Unsupported or stale contracts continue to fail closed to the supplied native path rather than silently changing attention arithmetic.
The release also keeps backend-history ownership explicit so Spectrum can distinguish real numerical-route transitions from stable partitioned execution. No additional H3 transformer NFE is introduced by the partitioned SOL routing itself.
Coordinated stack
The paired releases finish the surrounding path:
- VDN-H3-Plus v1.5.6 carries the heterogeneous exact-prefix VDN contract and adds sampler-admission VRAM eviction for retained-buffer runs without changing VDN arithmetic.
- Flow v0.3.6 promotes the hardware-validated fast source-uniform exact-prefix continuation path with the 16-tick sampler-owned audio overlap and no duplicate shadow low/probe lifetimes.
- H3 Continuum v3.4.4 adds exact carried-audio phase transport, structural terminal lead-out/padding, and a dedicated fresh post-prefix prompt bridge so prior speech and terminal control prose do not leak into newly generated audio.
Production validation
Sol #15's exact head passed the CPU-contract workflow before release consolidation. The coordinated components were then exercised on RTX PRO 6000 Blackwell / SM120 hardware through the same development stack.
Flow run 00575 validated the production #70 path at three continuation sampler lifetimes / two history boundaries with six source-uniform transformer calls, zero exact-partitioned duplicate calls, repaired boundary audio and decoded-media parity with the accepted width-16 run. VDN's final sampler-admission fix restored healthy high-stage allocator behavior without changing arithmetic. Continuum's final prompt/audio-boundary fix was confirmed by two clean 00603/00604 renders: no reference-image restage, no chunk-2 speech/gibberish bleed, and no vocalized terminal-control prose.
Important scope note: the later 00603/00604 Continuum confirmation runs also carried a separate Flow diagnostic overlay. That diagnostic remains unreleased. Flow v0.3.6 is the independently hardware-validated #70 production path.
Release scope
This release intentionally does not merge or promote the Keyless research PR family, historical selector/arithmetic diagnostics, duplicated shadow-path experiments, or other superseded A/B branches. Those branches remain evidence only. v0.1.6 is the consolidated production tree from Sol #15 plus release metadata.
ComfyUI Sol-H3 v0.1.5
Coordinated production release with ComfyUI-VDN-H3-Plus v1.5.5 and MiniMax H3 Flow-Aligned Regenerate v0.3.5.
Implementation PRs: Sol-H3 #14, VDN-H3-Plus #18, and Flow #33 + #48.
Motivation: the first-high artifact
The real production stack could produce a reproducible first-high visual corruption/artifact when VDN retained grouped local attention was routed through Sol-H3 sparse attention after the progressive low-to-high handoff.
The controlled same-input investigation isolated the failure without changing the sampler entry state:
- replay R reproduced the broken first-high output;
- native W-window was clean while preserving VDN's restricted local K/V support and learned linear complement;
- W-full-support was also clean;
- global and anchor attention remained native.
This ruled out both “VDN needs full K/V support” and “the VDN learned complement must be removed” as necessary fixes. The remaining causal boundary was the Sol-local sparse route.
VDN local attention is not an ordinary square sequence. For each grouped call it gathers requested Q rows separately and constructs the restricted K/V domain as [global_rows, permitted_window_rows]. A requested query's physical row in that gathered K/V domain therefore differs, in general, from its local Q ordinal.
The old Sol exact-neighbor selector still used the ordinary aligned-coordinate rule:
abs(q_block - kv_block) <= 1
That is correct for aligned/square attention but not for these grouped rectangular calls. In the preserved failing group-10 geometry, the requested queries physically map into K positions 9245..10268 while their local Q block ordinals are only 0..15. Sol was therefore protecting the wrong local K neighborhood exactly.
Diagnostic M proved the correction on the same input: preserve the existing sparse approximation and VDN restricted support, but add exact neighbors around every query's mapped physical K/V position. The diagnostic implementation itself used temporary selector instrumentation and descriptor-value specialization, so it was evidence rather than the production design.
Resolution: mapped-neighbor provider v4
v0.1.5 turns that evidence into the real production kernel path.
The paired VDN-H3-Plus v1.5.5 provider-v4 contract now transports an immutable, owner-bound affine mapping from each requested Q row to its exact position in the already-gathered restricted K/V domain. Sol validates the full mapping and ownership contract, compiles it into bounded [start_block, end_block) K64 intervals per Q64 tile, keeps descriptor data request-local, and sends the small descriptor to the packaged SM120 CuTe kernel as runtime metadata.
Inside the kernel the correction is additive:
new_exact = old_exact OR mapped_neighbor
The existing route is otherwise preserved: threshold routing, sinks, the ordinary ordinal-neighbor selector, Q/K/V values and row order, restricted K/V support, scale/tau, KC/VC preprocessing, VDN's learned softmax gate/output projection/complement, global and anchor calls, and dense-warmup policy.
The production implementation deliberately does not carry forward the diagnostic shortcuts: no square-Q expansion, no full-K/V reconstruction, no QxK mask, no selector monkeypatch, no per-map JIT specialization, and no per-local-call GPU-to-CPU synchronization. Unsupported, stale or ambiguous maps use VDN's supplied native restricted-domain callback; arithmetic, CUDA and OOM failures remain real failures rather than being hidden as capability fallback.
This is the production fix for the captured artifact: VDN transports the physical coordinate it owns, and Sol preserves that physical neighborhood exactly inside the actual sparse SM120 kernel.
Coordinated Flow / Continuum path
The companion Flow v0.3.5 release makes Progressive Handoff (Target Input) the standard target-input/Continuum path and retires Mixed-Grid from the production acceptance matrix. Exact protected continuation stays on the target grid; the validated four-audio-tick guided overlap is used during sampling while caller-owned exact video/audio values are restored at output.
The validated production stack for this coordinated release is:
MiniMax H3 Flow-Aligned Regenerate v0.3.5
ComfyUI-Sol-H3 v0.1.5
ComfyUI-VDN-H3-Plus v1.5.5
The retired Mixed-Grid weighted companion work is not a release prerequisite, and VDN PR #8's separate audio-fidelity/training experiment is not part of this coordinated release.
Production validation
The production route passed all release gates on real RTX PRO 6000 / SM120 hardware.
Same-input mapped correctness
- route mismatch count:
0; - preserved E/M accounting:
88393original +585mapped =88978effective block pairs; - frozen-route arithmetic gate:
rel_l2=0.0016882352,max_abs=0.0614815; - changing descriptor values created no new CuTe specialization keys.
Matched historical-M performance
Five-repeat matched median:
production mapped: 1.109472036 ms
historical M: 1.105535984 ms
ratio: 1.0035603114x
median delta: +0.356031%
acceptance budget: <= +5%
result: clear_pass
Controlled first-high replay
The production replay preserved the exact captured first-high inputs and produced:
1 logical / 1 actual / 0 forecast;- zero learned-upscaler calls;
- exactly 700 completed Sol receipts: 528 mapped local, 22 dense warmup, 50 native global, 100 native anchor;
- exact mapped topology/geometry with no mapped-local or kernel-unavailable fallback;
- clean raw, pre-guidance and final decoded first-high media.
Representative two-chunk trajectory
Run 00494 completed:
17 logical calls
13 actual H3 NFE
4 Spectrum forecasts
low: 4 actual / 1 forecast
probe: 1 actual / 0 forecast
high: 2 actual / 1 forecast
later: 6 actual / 2 forecast
Mapped local calls were 1,584 low, 1,056 high and 3,120 later. Requested Q rows always equalled kernel Q rows, square expansion remained zero, and all Mixed-Grid/weighted-Mixed-Grid counters were zero.
The 14-second decoded output showed no first-high corruption, frame shift, zoom-out, top-edge reveal, flash, grid artifact or physical AV seam; the chunk boundary was perceptually seamless.
00494 evidence hashes:
- runtime log:
699c17b6d85d186039b9179c4b99edb596e88fdda37d3f8814917c50b6905ca8; - metrics JSON:
c25a90af61d83c1430c3f29b9e99de7b0adb22f60d714e2d1392a269e6f0802e; - final MP4:
1ffb5ebff47417f2f9354d3ae7cdfa32b6b6e292cd661efb9ddc2fd818d66ab2.
Review hardening
The final review additionally fixed two retained compatibility edge cases:
- empty weighted exact-K ranges now clamp
sink_startto the current K-row count; - preprocessing cache identity now incorporates bounded semantics of code-reachable globals/helpers instead of using code-only identity when mutable
LOAD_GLOBALstate is visible; unsupported mutable state receives deliberately volatile identity.
These review fixes are covered by the exact-head hosted CI lanes and do not change the mapped-neighbor production arithmetic validated above.
ComfyUI Sol-H3 v0.1.4
Coordinated companion release for MiniMax-H3 Flow-Aligned Regenerate v0.3.3. This release adds the real-SM120 K/V attention-measure path that fixes the smaller whole-frame shrink/top-edge reveal observed at some Mixed-Grid Continuum exact-prefix joins.
Flow Mixed-Grid attention measure
Flow's mixed sequence keeps the protected prefix on the target spatial grid while the generated suffix remains on the lower source grid. In the validated production geometry, each protected-prefix frame contributes 28 x 38 = 1064 K/V rows while each source-grid suffix frame contributes 20 x 27 = 540 rows. Ordinary softmax therefore overweights the protected-prefix frame by about 1.97037x in discrete K/V measure even though RoPE coordinates are continuous.
Sol-H3 now consumes Flow's independent h3_flow_mixed_grid_attention_measure_v1 contract after validating the existing VDN API-2 mixed sequence. It:
- preserves every Q row;
- preserves every non-video K/V row;
- preserves every generated source-grid suffix K/V row exactly and in order;
- applies explicit full-domain preprocessing such as Untwisting RoPE before reduction;
- stratifies only protected-prefix K/V to the source-grid spatial measure using native MiniMax-H3 area-normalized
_frame_gridcoordinates; - sends the resulting rectangular Q/KV tensors through the same packaged Sana SM120 CuTe kernel;
- fails closed on malformed or inconsistent measure metadata.
Validated production accounting:
Q: 56029 -> 56029
K/V: 56029 -> 49741
removed protected-prefix K/V rows: 6288 per call
VDN API 2 and its learned external-mode gate remain unchanged.
Spectrum history/receipt integration
The audited route sol_external_mixed_measure is included in Sol-H3's backend-history receipt contract. Flow's replacement identity also includes whether the attention-measure path is active, so measure-on/off executions cannot silently share incompatible forecasting history. Unknown receipt routes and malformed state still fail closed.
Matched run 00324 restored the expected schedule while keeping the measure path active:
18 logical calls
13 actual transformer NFE
5 Spectrum forecasts
low: 7 actual / 3 forecast
high: 4 actual / 2 forecast
probe: 2 actual
The real measure path executed 192 times with Q 56029, K/V 49741, no compatibility fallback and no numerical-backend transition.
Decoded-media acceptance
The previously visible whole-frame shrink/top-edge reveal is absent in the matched decoded-media validation. The old problematic join remains approximately unit-scale in both the dense_evaluations=0 validation output and the separate dense_evaluations=1 quality follow-up, with no delayed framing pulse introduced by the K/V normalization.
v0.1.4 does not change the SOL trajectory-warmup policy established by v0.1.3. dense_evaluations=1 remains the conservative default and dense_evaluations=0 remains the explicit maximum-speed mode. The framing correction is independent of that choice.
Compatibility
- Linux/WSL SM120 remains the validated CuTe SOL execution target.
- Native-Windows fail-closed behavior is unchanged.
- Existing rectangular SOL, VDN provider, Spectrum, Untwist and Diff-Aid ownership semantics are preserved.
- No extra H3 transformer NFE is introduced by the attention-measure operation itself.
ComfyUI Sol-H3 v0.1.3
Patch release restoring the conservative one-evaluation dense SOL warmup after a controlled same-seed video comparison exposed a startup trajectory discontinuity when SOL approximation was enabled from the first sigma-1.0 denoiser evaluation.
Default restored
Sol-H3 SOL Attention (Experimental) now defaults to:
dense_evaluations = 1
dense_layers = 2
dense_evaluations=1 keeps the first complete denoiser evaluation on inherited dense attention before switching to SOL. dense_layers=2 remains a separate per-evaluation leading-layer policy and does not add a transformer NFE.
dense_evaluations=0 remains supported as an explicit maximum-speed mode. This release changes the default because of a demonstrated quality risk; it does not remove the SOL-first path.
Startup quality evidence
A subsequent controlled same-seed video comparison established a concrete failure mode for dense_evaluations=0:
- SOL from the first denoiser evaluation produced an abrupt opening pose/orientation change with heavy early motion smearing before settling into the opposite heading.
- One initial dense evaluation preserved a continuous opening turn in the corresponding comparison.
This demonstrates that SOL-first execution can destabilize the initial trajectory when approximate attention acts from sigma 1.0. The available pair does not establish the frequency of the artifact across seeds, prompts, references, resolutions or model variants, so the release does not claim that every dense_evaluations=0 run is affected.
Spectrum and NFE trade-off
The v0.1.2 scheduling analysis remains correct. A one-evaluation dense warmup creates a real numerical-backend transition:
first actual evaluation: dense
next numerical route: SOL
Spectrum correctly invalidates incompatible forecasting history across that dense -> sol boundary. The first would-be forecast can therefore become an additional actual transformer NFE to establish a SOL-side anchor.
The previous controlled hot evidence remains the measured performance trade-off:
| Run | SOL | dense_evaluations |
Logical | Actual | Forecast | H3 sampler | End-to-end |
|---|---|---|---|---|---|---|---|
metrics_00321 |
on | 1 | 40 | 26 | 14 | 353.36 s | 400.94 s |
metrics_00322 |
off | — | 40 | 25 | 15 | 374.84 s | 420.81 s |
metrics_00323 |
on | 0 | 40 | 25 | 15 | 332.56 s | 380.57 s |
dense_evaluations=0 avoids the initial backend-history transition and restored 25 actual / 15 forecast topology parity with the no-SOL control in that test. Relative to the otherwise-matched dense_evaluations=1 SOL run, it removed one actual NFE and measured 20.80 s (5.9%) lower H3 sampler wall time and 20.37 s (5.1%) lower end-to-end wall time. Arithmetic-gate/calibration time also varied, so the structural result is the removed NFE; the entire wall-time delta must not be assigned to that NFE alone.
Do not weaken Spectrum's history/receipt safety to recover the NFE while retaining a dense-to-SOL transition. The extra actual call is the correct safety consequence of changing numerical attention backends mid-trajectory.
Migration
Existing saved workflows keep their serialized dense_evaluations value. Workflows created or saved under v0.1.2 can therefore remain at 0 after upgrading until the node value is changed explicitly.
Recommended policy:
dense_evaluations = 1 # default: conservative startup trajectory
dense_evaluations = 0 # opt-in: maximum-speed SOL-first path
# may save one Spectrum actual NFE
# may cause visible startup discontinuity
Documentation and tests
- Restored
Config(backend="sol")and the ComfyUI node default todense_evaluations=1. - Added regression coverage for the restored default, the SOL-first opt-in and Flow continuation semantics.
- Reworked
docs/DENSE_EVALUATIONS.mdaround the speed/quality trade-off and saved-workflow migration behavior. - Updated README and changelog to keep the v0.1.2 timing result as historical performance evidence rather than a quality-equivalence claim.
ComfyUI Sol-H3 v0.1.2
Patch release changing the default SOL trajectory policy so new workflows start SOL on the first real denoiser evaluation instead of burning a full dense evaluation before switching numerical backends.
Default change
Sol-H3 SOL Attention (Experimental) now defaults to:
dense_evaluations = 0
dense_layers = 2
The previous dense_evaluations=1 default created an initial dense -> sol numerical-backend transition. Spectrum correctly invalidates forecasting history across that transition, so the first would-be forecast became an additional actual transformer NFE solely to establish a SOL-side anchor.
v0.1.2 does not weaken Spectrum's history/receipt safety. It removes that unnecessary transition from the default policy. Existing saved workflows retain their serialized dense_evaluations value, and dense_evaluations=1 remains available as an explicit conservative trajectory warmup.
dense_layers=2 is unchanged. It keeps the first two H3 blocks dense inside each otherwise-SOL denoiser evaluation and does not add a full transformer NFE.
Controlled hot evidence
Same seed, references, resolution, prompt, sampler, sampling settings and workflow structure; VDN disabled in all three runs:
| Run | SOL | dense_evaluations |
Logical | Actual | Forecast | H3 sampler | End-to-end |
|---|---|---|---|---|---|---|---|
metrics_00321 |
on | 1 | 40 | 26 | 14 | 353.36 s | 400.94 s |
metrics_00322 |
off | — | 40 | 25 | 15 | 374.84 s | 420.81 s |
metrics_00323 |
on | 0 | 40 | 25 | 15 | 332.56 s | 380.57 s |
The new default therefore restores exact NFE/forecast topology parity with the no-SOL control:
40 logical
25 actual NFE
15 Spectrum forecasts
low: 15 actual / 9 forecast
high: 8 actual / 6 forecast
probe: 2 actual / 0 forecast
metrics_00323 starts backend history directly in phase=sol and reports numerical_backend_transitions=0.
Against the topology-matched no-SOL control, the tested SOL run is 42.28 s (11.3%) faster in H3 sampler wall time and 40.24 s (9.6%) faster end-to-end. This is a controlled measurement for this MiniMax-H3/RTX PRO 6000 deployment instance, not a universal Sol-Attn percentage.
Against the previous dense_evaluations=1 SOL run, sampler wall falls by 20.80 s (5.9%) and end-to-end wall by 20.37 s (5.1%). Arithmetic-gate/calibration time also varied between hot runs, so the defensible structural gain is the restored forecast replacing one full actual NFE; the entire wall-time delta should not be assigned to that NFE alone.
Quality boundary
The same-seed dense_evaluations=0 output is visibly different from the dense_evaluations=1 output, which is expected when approximate SOL attention affects the trajectory from sigma 1.0. Manual inspection did not establish either video as better or worse.
That supports making zero the operational default for the tested stack, but it is not statistical perceptual-equivalence evidence. Users who want the previous conservative policy can set dense_evaluations=1 explicitly.
Documentation and tests
- Added
docs/DENSE_EVALUATIONS.mdwith the backend-history rationale, timing evidence, quality boundary, migration behavior and thedense_evaluations/dense_layersdistinction. - Updated the README and changelog to distinguish historical v0.1.0/v0.1.1 warmup behavior from the v0.1.2 default.
- Added regression coverage verifying that new SOL configs and the ComfyUI node default to
dense_evaluations=0, while explicit one-evaluation warmup and Flow continuation handling remain supported.
Telemetry caveat
The existing dense_warmup telemetry field counts attention calls kept dense by either dense_evaluations or dense_layers. It can therefore remain nonzero with dense_evaluations=0. Use the configured dense_evaluations, backend-history phase, numerical_backend_transitions, and actual/forecast topology to diagnose whole-evaluation warmup behavior.