llama.cpp/ggml/src/ggml-webgpu/wgsl-shaders
Reese Levine d304f459d8
GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018)
* Add paramater buffer pool, batching of submissions, refactor command building/submission

* Add header for linux builds

* Free staged parameter buffers at once

* Format with clang-format

* Fix thread-safe implementation

* Use device implicit synchronization

* Update workflow to use custom release

* Remove testing branch workflow

* some f32 tests passing

* Disable set_rows until it's implemented

* f32 add all tests passing

* Begin work on set_rows

* Work on set rows

* Add error buffers for reporting unsupported SET_ROWS indices

* Remove extra comments

* Add templated addition, clean up code

* Get addition and multiplication working

* Implement rms_norm

* Add get_rows implementation

* Add new get_rows files

* Refactor use of wg size entry

* Fix compilation

* Try manually unrolled q4_0 quant

* Revert "Try manually unrolled q4_0 quant"

This reverts commit 77f8b96515.

* Move to constant max wg size

* Check for tensor size in supports_op

* Vectorize f32 and change default workgroup size

* Move f32 get_rows from < 4 to % 4 != 0

* fix linter errors

* Add in-place tests

---------

Co-authored-by: Neha Abbas <nehaabbas@ReeseLevines-MacBook-Pro.local>
2025-09-17 13:09:40 -07:00
..
add.tmpl.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
add_in_place.tmpl.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
binary_head.tmpl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
common_decls.tmpl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
cpy.wgsl ggml: Add initial WebGPU backend (#14521) 2025-07-16 18:18:51 +03:00
embed_wgsl.py GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
get_rows.tmpl.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
memset.wgsl ggml WebGPU: add support for quantization types (#15440) 2025-08-22 11:28:03 -07:00
mul.tmpl.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
mul_in_place.tmpl.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
mul_mat.tmpl.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
rms_norm.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
rms_norm_in_place.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00
set_rows.wgsl GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) 2025-09-17 13:09:40 -07:00