Files
hao-ai-lab-FastVideo/docs/contributing/overview.md

86 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🛠️ Contributing to FastVideo
Thank you for your interest in contributing to FastVideo. We want the process
to be smooth and beginner‑friendly, whether you are adding a new pipeline,
improving performance, or fixing a bug.
## Quick prerequisites
- **OS**: Linux is the primary development target (WSL can work).
- **GPU**: NVIDIA GPU recommended for inference and training workflows.
- **CUDA**: Use a recent CUDA 12.x toolchain (see the installation guide for
the current recommendation).
For a full install checklist, see `docs/getting_started/installation/gpu.md`.
## Local development (UV + editable install)
If you previously used Conda for local setup, switch to uv for a faster and more stable development environment.
Install `uv`:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
# or
wget -qO- https://astral.sh/uv/install.sh | sh
```
Create and activate a uv environment (recommended):
```bash
uv venv --python 3.12 --seed
source .venv/bin/activate
```
Conda alternative (supported):
```bash
conda create -n fastvideo python=3.12 -y
conda activate fastvideo
```
Clone the repo:
```bash
git clone https://github.com/hao-ai-lab/FastVideo.git && cd FastVideo
```
Install FastVideo in editable mode and set up hooks:
```bash
UV_TORCH_BACKEND=cu126 uv pip install -e ".[dev]" # use cu130 on CUDA 13
# Optional: FlashAttention (builds native kernels)
uv pip install flash-attn --no-build-isolation -v
# Linting, formatting, static typing
pre-commit install --hook-type pre-commit --hook-type commit-msg
pre-commit run --all-files
# Unit tests
pytest tests/
```
If you are on a Hopper GPU, installing FlashAttention 3 can improve
performance (see `docs/inference/optimizations.md`).
## Docker development (optional)
If you prefer a containerized environment, use the dev image documented in
`docs/contributing/developer_env/docker.md`.
## Testing
See the [Testing Guide](testing.md) for how to add and run tests in FastVideo.
## Attention backend development
If you are adding a new attention kernel or backend, follow
[Attention Backend Development](attention_backend.md).
## Contributing with coding agents
For a step‑by‑step workflow on adding pipelines or components with coding
agents, see `docs/contributing/coding_agents.md`.