llama.cpp/ggml/src/ggml-vulkan
Ervin Áron Tasnádi a979ca22db
ggml: adds CONV_2D op and direct GEMM Vulkan implementation (#14316)
* ggml/ggml-vulkan/test-backend-ops: adds CONV_2D for Vulkan

* ggml-vulkan: adds f32 scalar shader to compute 2D convolution directly
with gemm (no need for im2col),

* test-backend-ops: adds test_case_ref to check the validity/performance of ops
against reference implementations having different graphs, adds tests

* * Performance fixes: minimized branch divergence, uses collectives to
  eliminate redundant calculation, macros removed.

* Kernel shared memory size check

* Updates test-backend-ops to support graphs for performance
  measurement.

* * Apple/Win32 compile errors fixed

* Subgroup size used to determine tile size -> fixes llvmpipe errors.

* Collectives disabled by default.

* Intel support is disabled as the performance is poor.

* Conv2d enabled for Intel with disabled collectives, disabled for Apple

* test-backend-ops modifications are reverted

* Trailing spaces and missing override fixed.

* Triggering pipeline relaunch.

* Code formatted with .clang-format.
2025-07-19 21:59:08 +02:00
..
cmake cmake: fix ggml-shaders-gen compiler paths containing spaces (#12747) 2025-04-04 10:12:40 -03:00
vulkan-shaders ggml: adds CONV_2D op and direct GEMM Vulkan implementation (#14316) 2025-07-19 21:59:08 +02:00
CMakeLists.txt vulkan: Fix GGML_VULKAN_SHADER_DEBUG_INFO (#14427) 2025-06-27 22:35:30 -05:00
ggml-vulkan.cpp ggml: adds CONV_2D op and direct GEMM Vulkan implementation (#14316) 2025-07-19 21:59:08 +02:00