]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
ggml-webgpu: enable FLASH_ATTN_EXT on browser without subgroup matrix (#22199)
authorZheyuan Chen <redacted>
Fri, 24 Apr 2026 17:39:09 +0000 (10:39 -0700)
committerGitHub <redacted>
Fri, 24 Apr 2026 17:39:09 +0000 (10:39 -0700)
commit13d36cf89178354d9aa6732e5930d89d64caf718
treebd870529e136a885ba06b5b664b3862793216053
parentf65bc34c688f9ab68c312b5ce0c0885cca94cf1d
ggml-webgpu: enable FLASH_ATTN_EXT on browser without subgroup matrix  (#22199)

* ggml-webgpu: add tile flash attention fallback

* ggml-webgpu: add new fields and discard usage of mnk for tile version

* ggml-webgpu: modify the vec path to discard the mnk parameter

* ggml-webgpu: enable flash attention vec and tile version for broswer

* ggml-webgpu: stagging KV for flash attention tile version

* formatting

* turn on subgroup uniformity check

* remove Q_TILE as it is always 1 for vec path

* make row_max and exp_sum to local register

* make different bindings with same underlying buffer to have the same usage flags

* move path selection into the shader library and have the host consume a single flash-attn decision object.

* turn off skip_validation and address buffer overlapping when nwg==1

* formatting

* merge binding when kv overlap
ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp
ggml/src/ggml-webgpu/ggml-webgpu.cpp
ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl
ggml/src/ggml-webgpu/wgsl-shaders/flash_attn_tile.wgsl [new file with mode: 0644]
ggml/src/ggml-webgpu/wgsl-shaders/flash_attn_vec_blk.wgsl
ggml/src/ggml-webgpu/wgsl-shaders/flash_attn_vec_split.wgsl