Skip to content

build(deps): install flash-attn from prebuilt wheels - #98

Merged
luyuzhe111 merged 1 commit into
mainfrom
chore/flash-attn-prebuilt-wheels
Aug 5, 2026
Merged

build(deps): install flash-attn from prebuilt wheels#98
luyuzhe111 merged 1 commit into
mainfrom
chore/flash-attn-prebuilt-wheels

Conversation

@luyuzhe111

Copy link
Copy Markdown
Contributor

PyPI has no flash-attn wheels, so installing the verl-experimental extra compiled
it from the sdist: ~1h of nvcc, and it needed CUDA_HOME pointing at a CUDA 13
toolkit to match torch 2.11's cu130 build.

Astral's GPU index publishes prebuilt wheels keyed by
(cuda, torch).

Notes

  • The extras keep a bare flash-attn==2.8.3 pin: each wheel declares
    torch ==2.11.*, so the variant follows the resolved torch and a torch bump needs
    no edit here.
  • Both index entries are explicit so nothing else resolves from them — the astral
    index also carries vllm, which would otherwise silently shift off PyPI (same
    version string, different build).
  • cu130 needs driver >= 580.65.06 and compute capability >= 7.5 (CUDA 13 dropped
    Pascal and Volta). Documented in the backend README.
  • uv.lock carries only the flash-attn delta; it is not otherwise refreshed.

Validation

Clean venv on 8xB200, uv sync --extra verl-experimental with CUDA_HOME unset,
then examples/math_agent/fsdp_fft_sync_grpo.sh against a live ACR agent.

before after
install CUDA_HOME=... uv sync uv sync
time ~1h of nvcc 1m49s
CUDA toolkit required none

GSM8K val reward 0.572 → 0.927 by step 30, matching the README's figure for this
config.

PyPI has no flash-attn wheels, so installing the verl-experimental extra
compiled it from the sdist: ~1h of nvcc, and it needed CUDA_HOME pointing at a
CUDA 13 toolkit to match torch 2.11's cu130 build.

Astral's GPU index publishes prebuilt wheels keyed by (cuda, torch). The extras
keep a bare `flash-attn==2.8.3` pin: each wheel declares `torch ==2.11.*`, so
the variant follows the resolved torch and a torch bump needs no edit here.
Both index entries are `explicit` so nothing else resolves from them -- the
astral index also carries vllm, which would otherwise silently shift off PyPI.

Install drops from ~1h to under two minutes and needs no CUDA toolkit.

Validated on 8xB200: clean venv, `uv sync --extra verl-experimental` with
CUDA_HOME unset, then examples/math_agent/fsdp_fft_sync_grpo.sh. GSM8K val
reward 0.572 -> 0.927 by step 30, matching the README's figure for this config.
@luyuzhe111
luyuzhe111 merged commit 0823550 into main Aug 5, 2026
7 checks passed
@luyuzhe111
luyuzhe111 deleted the chore/flash-attn-prebuilt-wheels branch August 5, 2026 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants