Add resumable generation checkpoints - #2
Open
ArthurOstapenko wants to merge 5 commits into
Open
Conversation
ArthurOstapenko
marked this pull request as ready for review
August 10, 2026 23:35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why
A short completed run cannot be extended: its schedule has already reached sigma zero. Progressive checkpoints instead pause the intended final schedule, so users can inspect composition and motion before deciding whether to continue the remaining DiT forwards.
Design
The checkpoint keeps the unfinished F32 video/audio sampler state. Draft decoding operates on a separate sigma-zero projection, so inspecting a draft never mutates the state used for continuation.
Checkpoint writes use a temporary mode-0600 file,
fsync, and atomic rename. The format checks its header and payload, rejects truncated or corrupted files, and validates the prompt, model directory, seed, denoising schedule, internal render shape, references, and semantic quality settings before resume.Progressive v1 is limited to
--reuse 1 --core-reuse 1; accelerated reuse paths carry history that is not stored in the checkpoint.On resume,
--checkpoint-after-stepremains absolute within the original schedule, while--checkpoint-after-secondsmeasures denoising time in the current invocation. Reusable decode-only VAE latent artifacts are out of scope here and can be added separately.Example
Validation
h3,h3_tests,h3_semantic_vae_testandh3_real_video_vae_test, with no compiler warnings./h3_tests: 1846 checks, including the Metal probe