2.0 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_121), 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.1 \
-t fastvideo-dev:spark .
This uses the prebuilt Linux ARM64 FlashAttention wheel. FastVideo's in-tree
CUDA kernel is still compiled for sm_121 as part of the image build.
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/