]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/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>
Sat, 20 Sep 2025 10:42:40 +0000 (13:42 +0300)
commitd8eb9f7d672366d061b8ecf0556282045a82394a
tree0de30e80d117462133e01b8ec45bc52f421a87f3
parent5094171c37906a7176d5d00f3e19906559e07008
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.
ggml/src/ggml-vulkan/ggml-vulkan.cpp