transformers UT failure in XPU because SDPA check error "Backward or grad to be supported"
- Dominant language
- Python
- Stars
- 113
- Forks
- 128
- Avg merge
- 5d 9h
- Merged PRs (30d)
- 112
Description
### 🐛 Describe the bug
tests/models/musicgen/test_modeling_musicgen.py::MusicgenTest::test_sdpa_can_dispatch_on_flash
tests/models/musicgen_melody/test_modeling_musicgen_melody.py::MusicgenMelodyTest::test_sdpa_can_dispatch_on_flash
these two cases in transformers fail in check_no_grad in torch xpu impl https://github.com/pytorch/pytorch/blob/95cb42c45d17f532222611e8028c9307622cc3c9/aten/src/ATen/native/mkldnn/xpu/Attention.cpp#L42
I write a simple test for you to reproduce it
```
import torch
import torch.nn.functional as F
q = torch.randn([3,4,6,8], dtype=torch.float16, device="xpu", requires_grad=True)
k = torch.randn([3,4,6,8], dtype=torch.float16, device="xpu", requires_grad=True)
v = torch.randn([3,4,6,8], dtype=torch.float16, device="xpu", requires_grad=True)
with torch.nn.attention.sdpa_kernel([torch.nn.attention.SDPBackend.FLASH_ATTENTION]):
y = F.scaled_dot_product_attention(
q, k, v,
is_causal=True,
)
```
/usr/src/transformers/test2.py:9: UserWarning: OneDNN kernel not used because: (Triggered internally at /pytorch/aten/src/ATen/native/mkldnn/xpu/Attention.cpp:119.)
y = F.scaled_dot_product_attention(
/usr/src/transformers/test2.py:9: UserWarning: Backward or grad to be supported. (Triggered internally at /pytorch/aten/src/ATen/native/mkldnn/xpu/Attention.cpp:47.)
y = F.scaled_dot_product_attention(
Traceback (most recent call last):
File "/usr/src/transformers/test2.py", line 9, in
y = F.scaled_dot_product_attention(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: No available kernel. Aborting execution.
### Versions
[pip3] mypy-protobuf==3.6.0
[pip3] numpy==2.2.5
[pip3] pytorch-triton-xpu==3.3.1+gitb0e26b73
[pip3] torch==2.8.0.dev20250615+xpu
[pip3] torchvision==0.23.0.dev20250616+xpu
[conda] mkl 2025.1.0 pypi_0 pypi
[conda] numpy 2.2.5 pypi_0 pypi
[conda] onemkl-sycl-blas 2025.1.0 pypi_0 pypi
[conda] onemkl-sycl-dft 2025.1.0 pypi_0 pypi
[conda] onemkl-sycl-lapack 2025.1.0 pypi_0 pypi
[conda] onemkl-sycl-rng 2025.1.0 pypi_0 pypi
[conda] onemkl-sycl-sparse 2025.1.0 pypi_0 pypi
[conda] pytorch-triton-xpu 3.3.1+gitb0e26b73 pypi_0 pypi
[conda] torch 2.8.0.dev20250615+xpu pypi_0 pypi
[conda] torchvision 0.23.0.dev20250616+xpu pypi_0 pypi
Contributor guide
Assessment
This issue has not been assessed yet.