whisper.cpp/ggml/src
Winston Ma 338e07dce7
vulkan: Refactor vk_queue to use per-instance mutexes and unique handles (llama/23570)
* Refactor vk_queue to use per-instance mutexes and unique handles

* integrates VK_KHR_internally_synchronized_queues, abstracting the queue submission into a polymorphic interface that completely bypasses host-side mutex locking when driver-side synchronization is supported

* fix compilation error

* fix duplicate pNext chain for VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR

* add fallback defines for VK_KHR_internally_synchronized_queues

* add null checks for queues in vk_device_struct destructor

* use unique_ptr for outer queues to enforce exclusive ownership and optimize lifetime

* use static constexpr for eInternallySynchronizedKHR

* add lock guard to ggml_vk_create_aliased_queue for thread safety

* initialize sync_query_features.internallySynchronizedQueues to VK_FALSE

* reuse sync_query_features for internallySynchronizedQueues and simplify chaining

* refactor internallySynchronizedQueues detection

* fix internallySynchronizedQueues query guard

* use eInternallySynchronizedKHR constant

* fix self-referential alias for eInternallySynchronizedKHR

* use macro for eInternallySynchronizedKHR fallback

* fix internallySynchronizedQueues query timing in ggml-vulkan.cpp to prevent device creation mismatch

* reset sync_query_features.pNext before reusing in device creation chain, also removed the redundant second probe call

* refactor internally synchronized queues detection to use chained feature query and avoid redundant API calls

* Update ggml/src/ggml-vulkan/ggml-vulkan.cpp

Co-authored-by: Jeff Bolz <jbolz@nvidia.com>

* Update ggml/src/ggml-vulkan/ggml-vulkan.cpp

Co-authored-by: Jeff Bolz <jbolz@nvidia.com>

* Update ggml/src/ggml-vulkan/ggml-vulkan.cpp

Co-authored-by: Jeff Bolz <jbolz@nvidia.com>

* Update ggml/src/ggml-vulkan/ggml-vulkan.cpp

Co-authored-by: Jeff Bolz <jbolz@nvidia.com>

* Update ggml/src/ggml-vulkan/ggml-vulkan.cpp

Co-authored-by: Jeff Bolz <jbolz@nvidia.com>

* Update ggml/src/ggml-vulkan/ggml-vulkan.cpp

Co-authored-by: Jeff Bolz <jbolz@nvidia.com>

* rename sync_enable_features to internally_synchronized_queues_features

* queue_flags is still computed before has_internally_synchronized_queues is set

* fix trailing whitespace

* replace eInternallySynchronizedKHR macro with static constexpr

* preserve source queue semantics in single-queue aliased transfer queue

* vulkan: fix cmd_pool access via pointer for compute_queue unique_ptr

* vulkan: lock queue during debug label emission when not internally synchronized

---------

Co-authored-by: Jeff Bolz <jbolz@nvidia.com>
2026-07-30 16:31:46 +03:00
..
ggml-blas ggml-blas: default hadamard mul_mat to cpu routine (llama/25710) 2026-07-30 16:31:44 +03:00
ggml-cann vulkan: add get/set tensor 2d functions (llama/22514) 2026-05-01 13:07:35 +03:00
ggml-cpu DeepseekV4: Add fused hyper-connection ops (llama/25585) 2026-07-30 16:31:43 +03:00
ggml-cuda CUDA: vectorize same-type get_rows with int4 copy (llama/25929) 2026-07-30 16:31:46 +03:00
ggml-et ggml-et: Initial ET backend (llama/24179) 2026-07-30 16:31:36 +03:00
ggml-hexagon hexagon: add CLAMP op (llama/25934) 2026-07-30 16:31:45 +03:00
ggml-hip ggml-hip: enable -funsafe-math-optimizations (llama/24668) 2026-07-10 13:06:42 +03:00
ggml-metal metal: fuse snake activation (mul, sin, sqr, mul, add) (llama/25459) 2026-07-30 16:31:41 +03:00
ggml-musa ggml-cuda: native bf16 flash attention for vec kernel (llama/20525) 2026-03-29 15:04:36 +03:00
ggml-opencl opencl: Support broadcast for Adreno MUL_MAT and honor `view_offs` for Adreno Q8_0 MUL_MAT for llama-server multi-stream (llama/25910) 2026-07-30 16:31:45 +03:00
ggml-openvino ggml-openvino: Add GGML_BACKEND_DL_IMPL invocation for OpenVINO backend (llama/25795) 2026-07-30 16:31:46 +03:00
ggml-rpc rpc : keep last_graph_uid in the device context (llama/23273) 2026-05-25 12:26:07 +03:00
ggml-sycl sycl: fix row calculation when K_QUANTS_PER_ITERATION is 1 (llama/25690) 2026-07-30 16:31:44 +03:00
ggml-virtgpu ggml-virtgpu : include missing mutex header (llama/22810) 2026-05-14 21:26:48 +03:00
ggml-vulkan vulkan: Refactor vk_queue to use per-instance mutexes and unique handles (llama/23570) 2026-07-30 16:31:46 +03:00
ggml-webgpu ggml-webgpu: tune subgroup split (d_split) in flash_attn_vec (llama/25418) 2026-07-10 13:06:42 +03:00
ggml-zdnn vulkan: add get/set tensor 2d functions (llama/22514) 2026-05-01 13:07:35 +03:00
ggml-zendnn ggml-zendnn : fixed naming of matmul function (llama/20964) 2026-05-29 09:47:30 +03:00
CMakeLists.txt ggml-et: Initial ET backend (llama/24179) 2026-07-30 16:31:36 +03:00
ggml-alloc.c ggml-alloc: fix out-of-bounds read in ggml_dyn_tallocr_remove_block (ggml/1492) 2026-05-25 12:26:07 +03:00
ggml-backend-dl.cpp hexagon: enable offloading to Hexagon on Windows on Snapdragon (llama/19150) 2026-01-30 15:56:40 +02:00
ggml-backend-dl.h hexagon: enable offloading to Hexagon on Windows on Snapdragon (llama/19150) 2026-01-30 15:56:40 +02:00
ggml-backend-impl.h ggml: backend-agnostic tensor parallelism (experimental) (llama/19378) 2026-04-30 11:29:05 +03:00
ggml-backend-meta.cpp DeepseekV4: Add fused hyper-connection ops (llama/25585) 2026-07-30 16:31:43 +03:00
ggml-backend-reg.cpp ggml-et: Initial ET backend (llama/24179) 2026-07-30 16:31:36 +03:00
ggml-backend.cpp Revert "sched : reintroduce less synchronizations during split compute (#20793)" (llama/25138) 2026-07-10 13:06:42 +03:00
ggml-common.h Add Q2_0 quantization: type definition and CPU backend (llama/24448) 2026-07-10 13:06:42 +03:00
ggml-impl.h ggml: add graph_reused (llama/21764) 2026-04-30 11:29:11 +03:00
ggml-opt.cpp fix: free ctx_copy in ggml_opt_free to plug per-training-session leak (llama/21592) 2026-04-30 11:29:03 +03:00
ggml-quants.c Add Q2_0 quantization: type definition and CPU backend (llama/24448) 2026-07-10 13:06:42 +03:00
ggml-quants.h Add Q2_0 quantization: type definition and CPU backend (llama/24448) 2026-07-10 13:06:42 +03:00
ggml-threading.cpp ggml : build backends as libraries (llama/10256) 2024-11-20 21:00:08 +02:00
ggml-threading.h remove CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS (llama/10797) 2024-12-18 12:52:16 +02:00
ggml.c DeepseekV4: Add fused hyper-connection ops (llama/25585) 2026-07-30 16:31:43 +03:00
ggml.cpp ggml : Print backtrace on uncaught C++ exceptions (ggml/1232) 2025-05-29 09:56:26 +03:00
gguf.cpp gguf : add tensor shape accessor (llama/24405) 2026-07-30 16:31:38 +03:00