]> git.djapps.eu Git - pkg/ggml/sources/ggml/commit
vulkan: Rewrite synchronization to allow some overlap between nodes (llama/15489)
authorJeff Bolz <redacted>
Sat, 23 Aug 2025 07:33:36 +0000 (02:33 -0500)
committerGeorgi Gerganov <redacted>
Fri, 5 Sep 2025 09:54:02 +0000 (12:54 +0300)
commit0791daa27bc43d1e0dd36d655ab1a8d55c505a28
tree266569970136e6ec0b73fd7f632d91a949727dd2
parent62e8d534c5b7987c5afaa91853af3e8288a33ad6
vulkan: Rewrite synchronization to allow some overlap between nodes (llama/15489)

Track a list of nodes that need synchronization, and only sync if the new node
depends on them (or overwrites them). This allows some overlap which can
improve performance, and centralizes a big chunk of the synchronization logic.

The remaining synchronization logic involves writes to memory other than the
nodes, e.g. for dequantization or split_k. Each of these allocations has a bool
indicating whether they were in use and need to be synced. This should be
checked before they are written to, and set to true after they are done being
consumed.
src/ggml-vulkan/ggml-vulkan.cpp