[CI] Pin nvidia-cutlass-dsl 4.8.1, including for FlashAttention 4 (#201926)

## Human Note
Pin so we stop needing to opt in the next verison of cutedsl into the allowed list

## Agent Notes

`install_flash_attn_cute` installed `flash-attn-4` and `quack-kernels` without naming
`nvidia-cutlass-dsl`, and neither package pins it, so pip picked the newest release. When 4.8.1
shipped, the FA4 jobs silently moved off the 4.8.0 pinned by `install_cutlass_dsl`.

The pinned spec now lives in a `cutlass_dsl_package` helper in `.ci/pytorch/common_utils.sh`. Both
`install_cutlass_dsl` and `install_flash_attn_cute` use it, and FA4 installs it in the same pip
resolve, so the two installers share one pin. The pin moves to 4.8.1, which the CuTeDSL version
gate in `torch._native` (`_CUTEDSL_REQUIRED_VERSIONS`) already accepts (#201442).

<details>
<summary>Implementation details</summary>

- The tests in `tools/test/test_native_aot_tools.py` now source `common_utils.sh` with a stubbed
  `pip_install` and assert the exact arguments for the cu12 and cu13 environments. The FA4 test
  takes its expected DSL spec from `install_cutlass_dsl`, so the two installers cannot drift.
- Every other install path (wheel build, `build.sh`, `test.sh`, `install_cutlass_operators`) already
  goes through `install_cutlass_dsl`. No 4.8.0 pin remains in `.ci` or `.github`.
- The only change in `tools/native_aot/build_stage2.py` is a comment.

</details>

## Validation

- PyPI metadata: 4.8.1 satisfies `flash-attn-4==4.0.0b31` (`nvidia-cutlass-dsl>=4.6.2`) and
  `quack-kernels==0.6.5` (`>=4.7`).
- PyPI wheels: `nvidia-cutlass-dsl-libs-{base,cu12,cu13}==4.8.1` publish cp310-cp314 plus cp314t for
  manylinux_2_28 x86_64/aarch64 with no sdist, matching the `build_stage2.py` comment.

## BC-breaking?

No
Pull Request resolved: https://github.com/pytorch/pytorch/pull/201926
Approved by: https://github.com/ngimel
This commit is contained in:
drisspg authored and PyTorch MergeBot committed 2026-10-24 17:16:53 +00:00
1 parent 00d2c5d78a
commit ab92945cea
1 file changed
+2 -1
+2 -1
View File
@@ -352,7 +352,8 @@ function install_flash_attn_cute() {
if [[ "${DESIRED_CUDA:-}" == 13.* || "${CUDA_VERSION:-}" == 13.* || "${BUILD_ENVIRONMENT:-}" == *cuda13* ]]; then
flash_attn_package="flash-attn-4[cu13]==4.0.0b31"
fi
# FA4 and QuACK support the CuTeDSL version accepted by torch._native.
# FA4 and QuACK do not pin CuTeDSL, so install the pinned version first.
install_cutlass_dsl
pip_install \
"$flash_attn_package" \
quack-kernels==0.6.5 \