Files
hao-ai-lab-FastVideo/docs/contributing/developer_env/docker.md
T
SolitaryThinker fba50356b1 [infra]: skip the FA4 cute overlay in the GB10 image
FA4 cute supports SM 9/10/11 only, and the pinned revision forces
nvidia-cutlass-dsl==4.6.0.dev0 over the 4.8.x that flashinfer 0.7.2
needs, so import flashinfer fails in the image. GB10 FP4 attention runs
on fastvideo-kernel. Add INSTALL_FA4_CUTE (default 1), set it to 0 for
the CUDA 13 arm64 leg, still remove the wheel's stale cute files, and
check that flashinfer imports when the overlay is skipped.
2026-10-19 08:13:04 +00:00

2.4 KiB

🐳 Using the FastVideo Docker Image

If you prefer a containerized development environment or want to avoid managing dependencies manually, you can use our prebuilt Docker image:

Images: ghcr.io/hao-ai-lab/fastvideo/fastvideo-dev:py3.12-latest

The published FastVideo tags are multi-platform Linux images for amd64 and arm64; Docker automatically pulls the matching architecture. The py3.12-latest and global latest tags select CUDA 12.6.3 with the cu126 PyTorch backend. py3.12-cuda12.6.3-latest is the explicit alias for that same image; use py3.12-cuda13.0.0-latest for CUDA 13 with cu130.

On ARM64, the CUDA 13 image targets DGX Spark (sm_121a), while the CUDA 12.6 image targets GH200-class hardware (sm_90a). These published-tag defaults are distinct from an unparameterized local docker build: docker/Dockerfile itself still defaults to CUDA 13 and cu130.

DGX Spark users must therefore select py3.12-cuda13.0.0-latest; the default CUDA 12.6 ARM64 image does not contain an sm_121 FastVideo kernel.

Starting the container

docker run --gpus all -it ghcr.io/hao-ai-lab/fastvideo/fastvideo-dev:py3.12-latest

This will:

  • Start the container with GPU access
  • Drop you into a shell with the FastVideo virtual environment activated

Building locally

The same Dockerfile builds both architectures and defaults to CUDA 13. On a native ARM64 host, build the CUDA 13 DGX Spark image with:

docker build --platform linux/arm64 -f docker/Dockerfile \
  --build-arg TORCH_CUDA_ARCH_LIST=12.1a --build-arg INSTALL_FA4_CUTE=0 \
  -t fastvideo-dev:spark .

This uses the prebuilt Linux ARM64 FlashAttention wheel. FastVideo's in-tree CUDA kernel is still compiled for sm_121a as part of the image build, including the FP4 attention kernels that FASTVIDEO_H3_VSA_FP4=1 uses.

INSTALL_FA4_CUTE=0 (set for the published DGX Spark image) leaves out the FA4 flash_attn.cute overlay: FA4 supports SM 9/10/11 only, and its pinned nvidia-cutlass-dsl would break FlashInfer, which the NVFP4 paths need. FA2 is still installed.

Using the container

# The FastVideo virtual environment should already be active
# FastVideo package installed in editable mode

# Pull the latest changes from remote
cd /FastVideo
git pull

# Run linters and tests
pre-commit run --all-files
pytest tests/