]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commit
sycl : add flash-attn support for head size 512 (llama/21654)
authorAkarshan Biswas <redacted>
Thu, 9 Apr 2026 06:36:48 +0000 (12:06 +0530)
committerGeorgi Gerganov <redacted>
Thu, 30 Apr 2026 08:29:04 +0000 (11:29 +0300)
commit4598eb080b513752b90663fe37b9c92ecbf9e5b1
tree2dd6c934044be5869d0720c82fe7082be47e18dd
parent1d555510dedb4656ad7dedb2279201dccd9f5858
sycl : add flash-attn support for head size 512 (llama/21654)

* sycl : add flash-attn support for head size 512

This patch extends the SYCL Flash Attention implementation to support head sizes (DKQ/DV) of 512.

Changes:
- Added DKQ/DV 512 cases to both tile and vector Flash Attention kernels.
- Updated kernel selection logic to allow vector kernels for head sizes up to 512 (previously 256).
- Removed unused/redundant AMD and RDNA-specific configuration functions in `fattn-tile.hpp`.
- Refactored `ggml_backend_sycl_buffer_init_tensor` to use a switch statement for clearer tensor extra buffer initialization.
- Added necessary template instances for the new 512 head size across various quantization types.

* remove defunct mxfp4 reorder from setting buffer type
42 files changed:
ggml/src/ggml-sycl/fattn-tile.cpp
ggml/src/ggml-sycl/fattn-tile.hpp
ggml/src/ggml-sycl/fattn-vec.hpp
ggml/src/ggml-sycl/fattn.cpp
ggml/src/ggml-sycl/ggml-sycl.cpp
ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq512-dv512.cpp [new file with mode: 0644]
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-f16.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q8_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-f16.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q8_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-f16.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q8_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-f16.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q8_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-f16.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q8_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-f16.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_0.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_1.cpp
ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q8_0.cpp