Sol-Attn Block Probe
Find the blocks that hate being sparsified
- model
- MODEL
Sol-Attn Block Probe is the debugging companion to Patch Sol-Attn from the same pack - and honestly, it's the node you should run before you trust any of Sol-Attn's speedup. Patch Sol-Attn sparsifies every transformer block the same way by default, but blocks aren't equally fragile. Some barely notice being approximated; others (especially the first and last ones) let their error ride all the way to the output. The probe tells you which is which, measured on your model and your prompt, instead of you guessing.
It's a diagnostic node, not a daily driver. You wire it in, let one generation run, read the console, and take it back out.
How it works
You place it after Patch Sol-Attn in the chain: Load Model → Patch Sol-Attn → Sol-Attn Block Probe → KSampler. During sampling, every self-attention call is computed twice - once through the sparse path, once dense - and the probe records each block's relative error between the two. It always returns the dense result, which is a deliberate design choice: if it returned the sparse one, early error would compound and inflate every later block's number, and the probe would be measuring noise. When sampling finishes, it logs the blocks sorted worst-first to your console.
That log is the payoff. You copy the top entries into Patch Sol-Attn's dense_blocks field (syntax like 0-2,-1; negative indices count from the end) so those blocks stay exact while everything else gets sparsified. Same idea as tau_profile if you'd rather tune per-block - the probe feeds both.
Inputs and outputs
This is the simplest node in the pack: one MODEL input, one MODEL output. Nothing to configure. Which is the whole point - it's a measurement instrument, not a knob.
Installing it
Same pack as Patch Sol-Attn, so you get both at once. ComfyUI Manager, search "ComfyUI-SolAttn_triton", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-SolAttn_triton
No model files to download, but the pack needs Triton - on Linux that ships with torch; on Windows you're in the familiar SageAttention territory of tracking down a triton-windows wheel.
The gotchas
- It has to follow Patch Sol-Attn. Connected to a plain model, it errors out with a clear message: it needs the attention override to measure. Patch first, probe second.
- It roughly doubles attention cost. Every call runs both sparse and dense, so the run is slower, not faster. That's the price of measurement, and it's why you remove the probe once you've got the numbers.
- The log appears when sampling ends, via a cleanup callback, and it's lines like
[sol_attn] block sensitivity to sparsification (worst first). If you don't see them, check you actually ran a generation and that verbose output isn't hiding under other logs. - If your model has no
.blockslist to index, every error lands under a single "block None" entry - the probe warns you, but the ranking isn't useful then.
For a first-time user this is the honest workflow: probe once, feed the top few blocks into dense_blocks, then delete the probe and let the sparse path run for real. Twenty minutes of setup for a speedup that actually survives contact with your content - worth it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |