Spaces:
Running on Zero
Running on Zero
Commit History
2 days ago
-
Read the kernel cache anonymously from the now-public dataset Running
Verified signature1f01791 -
Read the kernel cache with FASTH3_KERNEL_CACHE_TOKEN when set
Verified signatureThe org Space's HF_TOKEN cannot read the private multimodalart cache repo.78f528e -
Tile-64 attention and a persistent kernel cache
Verified signatureSwitch the fine sparse attention from the rtx-4090 profile's bf16 tile-128 emulator to FastVideo's Triton tile-64 block-sparse kernel (~1.3x per DiT step). Its autotune is keyed on sequence length, so every new canvas, length or reference mix re-benchmarked 12 configs (10-45 s on the first step); num_stages=5/num_warps=4 won at every measured length, so pin it. Point every JIT cache (flashinfer, Triton, inductor, CUDA, torch NVRTC) at /tmp/fasth3-kernels and restore a prebuilt archive from multimodalart/fasth3-omni-kernel-cache at startup, keyed on the torch/triton/flashinfer/fastvideo/fastvideo-kernel versions. ninja's deps log keeps nanosecond mtimes the archive can't, so restored flashinfer modules looked stale; skip the build when the module's .so exists. The first call after a boot no longer spends ~170 s compiling. GPU duration estimate follows the new timings and charges extra images and videos.798a242 -
Show per-step generation progress
Verified signatureReport progress from the GPU worker: stage starts and each denoising step via stage forward wrappers and a transformer pre-hook. The pipeline creates its stages lazily, so run post_init before hooking; FastVideo runs the forward on its own thread, so carry the Gradio context into the callback.898fc04
3 days ago
-
Build the FastVideo engine once at startup (ZeroGPU-native)
Verified signatureThe generator is now constructed at module scope on ZeroGPU's emulated CUDA: every weight FastVideo puts on "cuda" is captured and packed, the same as a diffusers .to("cuda") at startup, and each @spaces.GPU call only runs generate. The startup warmup and the per-call build are gone. FastVideo's in-process worker needed six shims to initialize without a GPU (fasth3_engine.zerogpu_main_process_shims): set_device/mem_get_info, the torch.cuda platform instead of the NVML probe, a one-rank gloo process group with the one-rank barrier skipped, safetensors read on CPU then moved with .to(), the integrated-GPU cuInit probe pinned to a discrete card, and the NVFP4 encoder's flashinfer check deferred to the first GPU call. The last two each performed a failed cuInit in the parent that every forked GPU worker inherited. Measured on a factory-rebooted copy (1344x768, 124 frames): first call after boot 359 s (kernel JIT, cached on disk), every later call 181 s end to end. GPU duration: 420 s for…b5ae9a7 -
FastH3-Omni: Gradio 6 reference composer UI (#1)
- UI from multimodalart/FastH3-Omni: ordered image/audio/video references, upsample, FastVideo colors (e4d7fcb9045865d78f197f136a45a61de58a4884) - Gradio 6 composer: tagged references, H3 builder + free-write, upsample; rename to FastH3-Omni (c91c3f56e47c29835c7e582568c5306dceb79ff5)099efca -
FP8 OmniRef variant for ZeroGPU benchmark
Verified signatureb8f2c17