Fast and memory-efficient exact attention
docker pull Dao-AILab/flash-attention:latest
docker run -d --name flash-attention --restart always dao-ailab/flash-attention:latest
podman run -d --name flash-attention --restart always dao-ailab/flash-attention:latest
skopeo inspect docker://docker.io/dao-ailab/flash-attention:latest
oras pull dao-ailab/flash-attention:latest
FROM ubuntu:24.04
ENV PATH=/usr/local/cuda/bin:/root/.local/bin:$PATH
ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
ENV DEBIAN_FRONTEND=noninteractive
# System dependencies
RUN apt-get update -y && apt-get install -y \
python3 python3.12 python3.12-dev python3.12-venv \
curl git ca-certificates gcc && \
rm -rf /var/lib/apt/lists/*
# Install uv
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
# Install torch from the published cu130 nightly package page and let pip resolve
# the matching nightly Triton wheel from PyTorch's nightly triton page.
RUN uv pip install --system --break-system-packages --no-cache --pre \
"torch>=2.12.0.dev0,<2.13.0" \
--find-links https://download.pytorch.org/whl/nightly/cu130/torch \
--find-links https://download.pytorch.org/whl/nightly/triton
# FA4 dependencies โ derived from pyproject.toml to keep a single source of truth.
# torch stays pinned from the direct wheel install above.
# The package itself (version 0.0.0 via setuptools-scm fallback) is overwritten at
# step time by the editable install from the mounted repo.
COPY flash_attn/cute/ /tmp/fa4/
# Keep pre-releases enabled so future development-build dependency floors remain resolvable.
RUN uv pip install --system --break-system-packages --no-cache --prerelease=allow "/tmp/fa4[cu13,dev]"
CMD ["/bin/bash"]