26 Commits
Author SHA1 Message Date
Masashi YoshimuraandGeorgi Gerganov cabd684e45 ggml-webgpu: add support for f16 repeat (llama/26307) 2026-08-04 13:37:47 +03:00
Masashi YoshimuraandGeorgi Gerganov f97417517f ggml-webgpu: improve flash_attn_vec for quantized KV at long contexts (llama/25956)
* improve fa of quantized kv cache

* Fix some bugs and some comments.

* fix v type check and some comments

* Fix build error caused by rebasing

* editorconfig checking pass
2026-08-04 13:37:47 +03:00
Masashi YoshimuraandGeorgi Gerganov 4b914096e8 ggml-webgpu: tune subgroup split (d_split) in flash_attn_vec (llama/25418) 2026-07-10 13:06:42 +03:00
Masashi YoshimuraandGeorgi Gerganov b313fd3ce8 ggml-webgpu: add support for NVFP4 (llama/25143) 2026-07-10 13:06:42 +03:00
Masashi YoshimuraandGeorgi Gerganov 2955e84ec3 ggml-webgpu: improve MTP inference by using mat-vec path for small batches (llama/24811)
* ggml-webgpu: improve small batches decoding

* Add barrier to the NUM_COLS loop in mul-mat-vec
2026-06-26 16:03:57 +03:00
Masashi YoshimuraandGeorgi Gerganov 75b90fb0ea ggml-webgpu: add adapter toggles for F16 on Vulkan + NVIDIA 2026-06-26 16:03:57 +03:00
Masashi YoshimuraandGeorgi Gerganov 3e0b917514 ggml-webgpu: improve i-quants mul_mat performance and speed up prefill (llama/24530)
* Improve prefill speeds for i-quants

* Fix #if defined() usage in preprocessor guards.
2026-06-19 12:53:43 +03:00
Masashi YoshimuraandGeorgi Gerganov aa42b48312 ggml-webgpu: Improve prefill speeds for k-quants + refactor matmul for Q4/Q5/Q8 and k-quants (llama/24225)
* ggml-webgpu: Improve prefill speeds + refactor matmul for quants

* Fixes for editroconfig checker
2026-06-15 10:33:53 +03:00
Masashi YoshimuraandGeorgi Gerganov db2a39507c revert to using global_invocation_id for cpy shader (llama/23955) 2026-06-08 14:36:36 +03:00
Masashi YoshimuraandGeorgi Gerganov a52bd385d6 ggml-webgpu: Fix how to dispatch WG to some ops (llama/23750) 2026-05-29 09:47:30 +03:00
Masashi YoshimuraandGeorgi Gerganov 00a5110b19 ggml-webgpu: Add MMVQ path for Q4/Q8/Q2_K/Q4_K and clean up legacy MUL_MAT pipeline (llama/23594)
* ggml-webgpu: Add MMVQ path for Q4/Q8/Q2_K/Q4_K

* Fix to editorconfig checking pass

* Remove mul-mat-legacy pipeline

* Fix to use vendor name as is and add dot_product/vendor to shader_lib_ctx
2026-05-29 09:47:30 +03:00
Masashi YoshimuraandGeorgi Gerganov 1cbbd0b6d0 flush the gpu profile timestamp before the queryset is overflowed (llama/22995) 2026-05-14 21:26:48 +03:00
Masashi YoshimuraandGeorgi Gerganov e8a7cd314f ggml-webgpu: Enables running gpt-oss-20b (llama/22906)
* Enable to run gpt-oss-20b and refactor mulmat-q

* disable test-backend-ops in ubuntu-24-webgpu
2026-05-14 21:26:48 +03:00
9623c1203b ggml-webgpu: Fix vectorized handling in mul-mat and mul-mat-id (llama/22578)
* Fix vectorized condition of mul-mat-fast pipeline and add vectorized variant to mul-mat-id

* Apply suggestion from @CISC

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
2026-05-02 15:02:42 +03:00
Masashi YoshimuraandGeorgi Gerganov b34a9f3d83 ggml-webgpu: Improve performance of mat-vec and mat-mat for MUL_MAT_ID (llama/22464)
* Add mat-vec fast path of MUL_MAT_ID.

* Add shared accumulation vec logic and the other types supports.

* Add i-quant mat-mat for MUL_MAT_ID and fix some parts

* Remove n_experts from shader_lib_context.
2026-05-01 13:07:35 +03:00
Masashi YoshimuraandGeorgi Gerganov 0fbe4c4ca7 ggml-webgpu: Add fused RMS_NORM + MUL (llama/21983)
* fused rms_norm_mul + mul

* Add GGML_WEBGPU_DISABLE_FUSION for being able to disable kernel fusion.

* Decouple num_fused_ops from webgpu_context; misc cleanup

* Fix eps handling and remove disable_fusion.

* Fix not to use c++20 initializers.
2026-04-30 11:29:16 +03:00
Masashi YoshimuraandGeorgi Gerganov 2e5eb6e951 ggml-webgpu: reset CPU/GPU profiling time when freeing context (llama/22050)
* Reset the CPU/GPU profiling time when freeing context.

* move GPU profiling time from global context to webgpu_context.
2026-04-30 11:29:15 +03:00
Masashi YoshimuraandGeorgi Gerganov 36b7bb3d95 Remove extra conditional check on debug mode. (llama/21798) 2026-04-30 11:29:07 +03:00
9cbc4b3acb ggml-webgpu: Add the support of MUL_MAT_ID (llama/21147)
* Add mul_mat_id support to WebGPU

* Apply suggestion from @reeselevine

---------

Co-authored-by: Reese Levine <reeselevine1@gmail.com>
2026-04-30 11:29:01 +03:00
Masashi YoshimuraandGeorgi Gerganov 3d004fbf0a ggml-webgpu: Update the RMS_NORM preprocessor and add L2_NORM (llama/20665)
* Update the preprocessor of RMS_NORM and add L2_NORM.

* Fix the name of rms_norm to row_norm.
2026-03-29 15:04:36 +03:00
Masashi YoshimuraandGeorgi Gerganov 12015a2174 ggml-webgpu: Add supports for DIAG and TRI (llama/20664)
* Add supports for DIAG and TRI.

* Remove extra ttype and add a comment for TRI op.
2026-03-29 15:04:36 +03:00
Masashi YoshimuraandGeorgi Gerganov 5267523829 ggml-webgpu: Add supports for GGML_OP_REPEAT (llama/20230)
* Add GGML_OP_REPEAT to webgpu backend.

* Add i16 support for GGML_OP_REPEAT.
2026-03-16 13:10:15 +02:00
Masashi YoshimuraandGeorgi Gerganov 8d78d40946 Add concat op to webgpu. (llama/20068) 2026-03-16 13:10:15 +02:00
Masashi YoshimuraandGeorgi Gerganov de686fafad ggml-webgpu: Support non-contiguous src0 and overlapping src0/src1 in binary ops (llama/19850)
* ggml-webgpu: Add binary op support for overlapping and non-contiguous.

* Add newline to binary.wgsl

* Append the test of binary op for src overlapping  to test_bin_bcast.

* Remove unnecessary newline.
2026-03-16 13:10:15 +02:00
Masashi YoshimuraandGeorgi Gerganov 0158795ebc ggml-webgpu: Add unary op (SQR, SQRT, SIN, COS) support. (llama/19700)
* ggml-webgpu: Add unary op (SQR, SQRT, SIN, COS) support.

* Fix to cast the src value to f32 before sin/cos computing.
2026-02-27 20:57:58 +02:00
Masashi YoshimuraandGeorgi Gerganov a71127dfd8 ggml-webgpu: Fix GGML_MEM_ALIGN to 8 for emscripten. (llama/18628)
* Fix GGML_MEM_ALIGN to 8 for emscripten.

* Add a comment explaining the need for GGML_MEM_ALIGN == 8 in 64-bit wasm with emscripten
2026-01-14 09:11:59 +02:00