]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
sycl : add flash-attn support for head size 512 (#21654)
authorAkarshan Biswas <redacted>
Thu, 9 Apr 2026 06:36:48 +0000 (12:06 +0530)
committerGitHub <redacted>
Thu, 9 Apr 2026 06:36:48 +0000 (09:36 +0300)
commitb54cb2e3d0260af45d178565d063396c275af8f7
tree48acb209a94503bf6332c6fef0f8348899c3b9f4
parent8a65a7a8ee70061ba180b6634157a8323f293087
sycl : add flash-attn support for head size 512 (#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