Nodes/ComfyUI Inspire Pack/HyperTile (Inspire)
ComfyUI Node Runs on cloud

HyperTile (Inspire)

A high-res speed and VRAM trick that tiles the attention layers

By ltdrdata·Created 3 years ago·Updated 9 months ago· 805
HyperTile (Inspire)
  • model
  • MODEL
tile_size256
swap_size2
max_depth0
scale_depthfalse
seed0

At high resolutions, the self-attention layers in a diffusion model get expensive fast - attention cost scales badly as the image grows, and that's a big chunk of why generating large is slow and VRAM-hungry. HyperTile is a trick to claw some of that back. It subdivides the attention computation into tiles when the resolution is high enough to benefit, cutting compute and memory with usually-minor quality impact. This node is a MODEL patcher: you run your model through it, and the patched model samples faster at large sizes.

It's the kind of optimization that's great when it lands and invisible when it doesn't. On big generations it can shave real time; at normal resolutions it does little, which is exactly why the pack files it under __for_testing - it's a situational speedup, not a default you leave on everything.

How it works

HyperTile hooks the model's attention and, above a size threshold, splits the attention operation into tiles so each chunk is cheaper to compute. To avoid the tiling leaving visible seams, it randomizes the tile boundaries between layers (that's what the swap and seed controls are for), so no single grid line prints itself into the output. The result is a standard MODEL you feed to your sampler like any other - the tiling happens inside, during sampling.

The inputs and outputs that matter

  • model - the model to patch. Output is the patched MODEL; wire it into your sampler.
  • tile_size (default 256) - the base tile dimension for the attention split. Bigger tiles mean less aggressive tiling (safer, less speedup); smaller means more aggressive.
  • swap_size (default 2) - how much the tile boundaries get shuffled between layers to hide seams.
  • max_depth (default 0) and scale_depth (default off) - how deep into the model's block hierarchy the tiling applies, and whether tile size scales with depth. Leave these at defaults unless you're deliberately experimenting.
  • seed - controls the boundary randomization, so results are reproducible run to run.

Honestly, tile_size is the only knob most people should touch; the rest are for fine-tuning if you see artifacts.

Installing it

Part of the Inspire Pack by Dr.Lt.Data, author of ComfyUI Manager and the Impact Pack - mainstream, well-kept tooling. Via ComfyUI Manager: search ComfyUI Inspire Pack, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack

then restart. No dependencies or downloads - it patches your existing model.

Common issues

No speedup at my resolution. HyperTile only kicks in when the resolution is high enough for attention to be the bottleneck. At 512-768 there's little to gain; the win shows up on large generations and upscales. If you're not generating big, you won't feel it.

Visible seams or grid artifacts. That's the tiling leaking through. Raise tile_size (less aggressive tiling) or adjust swap_size so boundaries shuffle more between layers. If it still artifacts on your model, this optimization may just not suit that architecture - it was born in the SD1.5 era and modern large models don't always play nice.

Where in the graph does it go? Right after your model loader, before the sampler - same slot as any model patcher. Chain it with other patches, but if quality drops, pull HyperTile first to isolate it.

Nodes won't load after install. Check the terminal log - the recurring Inspire Pack cause is a version mismatch. Update Inspire Pack and Impact Pack together and restart.

CategoryInspirePack/__for_testing

Inputs (6)

NameTypeDefaultDescription
modelMODEL
tile_sizeINT2561–2048
swap_sizeINT21–128
max_depthINT00–10
scale_depthBOOLEANfalse
seedINT00–18446744073709550000

Outputs (1)

NameTypeDescription
MODELMODEL