In test validation · Coming Soon

ExpSoft DiffusionForce Sampler

A Windows desktop app that runs the biggest image and video diffusion models on a single 16 GB GPU — up to Flux 2 Dev (106 GB), Qwen-Image 20B, Wan 2.1/2.2 video and HunyuanVideo. A custom fp8-on-read streaming loader plus GGUF quantization mean no model is too big for one ordinary card. Currently in test validation. Not yet generally available.

One big model, one 16 GB card

The idea: a model that needs 24–80 GB of VRAM should still run on the GPU you already own.

fp8-on-read streaming, in plain terms

Normally a model is loaded into RAM in full precision, then moved to the GPU — which simply isn’t possible when the weights are larger than your VRAM (or even your system RAM). DiffusionForce Sampler does it differently: as each weight tensor is read from disk it is cast to fp8 (float8_e4m3fn) on the fly — the full bf16 version is never materialized. During generation the transformer and text-encoder layers are streamed onto the GPU one at a time, computed, then evicted.

Because only a few layers are resident at any instant, peak VRAM stays around 4–7 GB — even for a 106 GB model. The cost is a slower first load; a persistent fp8 disk cache then makes every subsequent load of that model dramatically faster.

106 GB

Model on disk

e.g. Flux 2 Dev full weights — far beyond any consumer GPU's VRAM.

fp8 streaming

Cast-on-read to fp8, layer-by-layer onto the GPU, evict, repeat. Native PyTorch.

~5 GB

Peak VRAM

Fits one 16 GB card with headroom to spare.

fp8 disk cache

First load is slow; cached fp8 reloads are many times faster on every run after.

This is not CPU offload of a model that already fits. It is a loader designed for models that don’t fit — the full-precision tensor never exists anywhere in memory at once.

Models in scope — images and video

Most models are offered in several precisions: bf16, NF4, fp8 streaming, and GGUF Q4–Q8.

🎨

Image models

SD 1.5, SDXL, Flux 1 Dev, Flux 2 Klein 9B, Flux 2 Dev, Z-Image Turbo/Base, HiDream-I1 (Full/Dev/Fast), Qwen-Image 20B. From a 2 GB classic to a 106 GB flagship — all on one card.

🎬

Video models

Wan 2.1 text-to-video, image-to-video and first-last-frame; Wan 2.2 (A14B dual-expert and the lighter TI2V-5B); HunyuanVideo. Image input frames can be captioned in-app to seed the prompt.

🧮

GGUF, NF4, fp8 & bf16

Pick the precision that fits your speed/quality/VRAM budget. GGUF transformers (Q4–Q8) load via a vendored Apache-2.0 city96 dequantizer; the NF4 tier and fp8 streaming cover the rest.

What it looks like

The familiar ExpSoft shell — Welcome, Setup, Run, Settings, Help.

Welcome tab
Welcome — guided first run, model catalogue with per-model VRAM fit.
Setup tab
Setup — one-click Python/PyTorch toolchain install.
Run tab
Run — prompt, quant picker, image/video output, live VRAM monitor.
Settings tab
Settings — paths, HuggingFace token, auto-update.
Help tab
Help — best settings per model + the validated VRAM guide.

How it works

Diffusers under the hood, a custom loader on top, one .exe.

🧰

Diffusers + PyTorch backend

Model implementations, schedulers and pipelines come from HuggingFace diffusers (Apache-2.0) on PyTorch (BSD-3), installed through a portable uv-managed Python. Standard, well-maintained, no forks of the model code.

fp8-on-read streaming loader

Our own loader reads weights straight into fp8 and streams them layer-by-layer at inference, with a persistent fp8 disk cache. Handles tied embeddings and dual-DiT (Wan 2.2 MoE) models correctly. This is the piece that makes 16 GB enough.

📦

GGUF loader (city96, Apache-2.0)

GGUF transformers are dequantized with a vendored city96 routine (Apache-2.0, attributed) and remapped to the diffusers layout, then assembled into a normal pipeline. Q4 through Q8, for image and video models alike.

Hardware

One modern NVIDIA GPU. 16 GB is the design target; more is gravy.

💾

16 GB VRAM

The whole point: a single 16 GB card (RTX 5080, 5060 Ti, 4060 Ti, 4080…) runs the entire catalogue, video included.

🧠

System RAM

Streaming keeps fp8 weights in system memory; 32 GB is comfortable, 64 GB ideal for the very largest models.

cu128

PyTorch 2.7+ cu128

One wheel covers Ada (sm_89) and Blackwell (sm_120). Installed automatically by the Setup tab.

📁

Portable layout

Self-contained, relocatable install — models on a portable drive work fine; paths auto-patch on move.

Honest expectations

A preview in active test validation. What you can rely on, and the trade-offs.

What works today

The full catalogue — including Flux 2 Dev, Qwen-Image 20B, Wan video and HunyuanVideo — renders on a single 16 GB GPU in test validation, image and video alike.

The trade-off

Streaming a model that doesn’t fit is slower than running one that does — especially the first load. The fp8 disk cache and GGUF paths cut that down a lot, but generation on the biggest models is a patience game, not a speed record.

🥇

The preview is for feedback

Real reports from real 16 GB rigs — which models, which quants, load and render times — are what shape V1.

Licensing & attribution

DiffusionForce Sampler is built on diffusers (Apache-2.0) and PyTorch (BSD-3), with a portable uv-managed Python (Apache-2.0 / MIT). GGUF dequantization vendors city96’s Apache-2.0 routine with attribution; the fp8 streaming loader is a clean-room implementation.

Model weights are never bundled — they are downloaded by the user from HuggingFace under each model’s own license (some open and commercial-safe, some gated, some non-commercial). The catalogue surfaces each model’s license so you always know what you’re running and under what terms.

Frequently Asked Questions

Quick answers to what people ask AIs about this tool.

What is ExpSoft DiffusionForce Sampler?

DiffusionForce Sampler is a Windows desktop tool by Nicolas Riquier that runs large image and video diffusion models on a single 16 GB consumer GPU. It uses a custom fp8-on-read streaming loader plus GGUF quantized weights so models that normally need 24–80 GB of VRAM — Flux 2 Dev, Qwen-Image 20B, Wan video, HunyuanVideo — fit and run on one ordinary card. Currently in test validation, coming soon.

How can a 106 GB model run on a 16 GB GPU?

The streaming loader never materializes the full bf16 model. As each tensor is read from disk it is cast to fp8 (float8_e4m3fn) and kept on CPU; during inference the transformer and text-encoder layers are streamed onto the GPU one at a time, run, then evicted. Only a few layers are resident at once, so peak VRAM stays around 4–7 GB regardless of total model size. The trade-off is a slower first load; a persistent fp8 disk cache makes subsequent loads dramatically faster.

Which models does DiffusionForce Sampler support?

Images: SD 1.5, SDXL, Flux 1 Dev, Flux 2 Klein 9B, Flux 2 Dev, Z-Image Turbo/Base, HiDream-I1 (Full/Dev/Fast), Qwen-Image 20B. Video: Wan 2.1 (text-to-video, image-to-video, first-last-frame), Wan 2.2 (A14B dual-expert and the lighter TI2V-5B), and HunyuanVideo. Most are offered in several precisions — bf16, NF4, fp8 streaming, and GGUF Q4 to Q8.

What is GGUF and why does it matter here?

GGUF is a quantized weight format (Q4 to Q8) that shrinks a model to a fraction of its bf16 size while keeping good quality. DiffusionForce Sampler loads GGUF transformers using a vendored, Apache-2.0 dequantizer from city96 (with attribution), remapped to the diffusers layout. For some models GGUF loads many times faster than streaming the full weights, and it lowers disk footprint too.

Do I need two GPUs like DiffusionForce (the trainer)?

No. The Sampler is built for a single GPU. DiffusionForce (the LoRA trainer) pools two GPUs' VRAM with UGPUM™; the Sampler instead fits one big model onto one 16 GB card through streaming and quantization. They are complementary tools — one trains, one generates.

Is ExpSoft DiffusionForce Sampler free?

It is distributed through ExpSoft's Patreon. Some releases are open to all supporters; others may require a specific tier, especially during the preview. Model weights are downloaded by the user from HuggingFace under each model's own license — nothing proprietary is bundled.

Who built ExpSoft DiffusionForce Sampler?

It was designed and built by Nicolas Riquier as part of the ExpSoft catalogue of experimental Windows desktop tools. It builds on diffusers (Apache-2.0) and PyTorch (BSD-3); GGUF dequantization vendors city96's Apache-2.0 code with attribution; the streaming approach is a clean-room implementation.

Coming soon — follow the build

DiffusionForce Sampler isn’t generally available yet — it’s in test validation. If running huge diffusion and video models on a single 16 GB card sounds useful, follow along on Patreon.