]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commit
ggml: Add initial WebGPU backend (llama/14521)
authorReese Levine <redacted>
Wed, 16 Jul 2025 15:18:51 +0000 (08:18 -0700)
committerGeorgi Gerganov <redacted>
Sat, 19 Jul 2025 21:23:50 +0000 (00:23 +0300)
commit17c541119518fb1b92a27bd26fa82606cb090178
treed7316910114ec284fd28c54a5f51de3c68fb879f
parentae1bb2c8ea1ccb96bf1293cee32a4193bab95726
ggml: Add initial WebGPU backend (llama/14521)

* Minimal setup of webgpu backend with dawn. Just prints out the adapter and segfaults

* Initialize webgpu device

* Making progress on setting up the backend

* Finish more boilerplate/utility functions

* Organize file and work on alloc buffer

* Add webgpu_context to prepare for actually running some shaders

* Work on memset and add shader loading

* Work on memset polyfill

* Implement set_tensor as webgpu WriteBuffer, remove host_buffer stubs since webgpu doesn't support it

* Implement get_tensor and buffer_clear

* Finish rest of setup

* Start work on compute graph

* Basic mat mul working

* Work on emscripten build

* Basic WebGPU backend instructions

* Use EMSCRIPTEN flag

* Work on passing ci, implement 4d tensor multiplication

* Pass thread safety test

* Implement permuting for mul_mat and cpy

* minor cleanups

* Address feedback

* Remove division by type size in cpy op

* Fix formatting and add github action workflows for vulkan and metal (m-series) webgpu backends

* Fix name

* Fix macos dawn prefix path
ggml/CMakeLists.txt
ggml/include/ggml-webgpu.h [new file with mode: 0644]
ggml/src/CMakeLists.txt
ggml/src/ggml-backend-reg.cpp