]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
vulkan: Rewrite synchronization to allow some overlap between nodes (#15489)
authorJeff Bolz <redacted>
Sat, 23 Aug 2025 07:33:36 +0000 (02:33 -0500)
committerGitHub <redacted>
Sat, 23 Aug 2025 07:33:36 +0000 (09:33 +0200)
commit289bf4113ef5c02d8f5eb0cf2d86683d8b8bc4d9
tree7dd01b4a363c0f213570c9418d1c11712749d836
parentb55f06e1aa67fb10e89f53e31bbccf37eb2678ea
vulkan: Rewrite synchronization to allow some overlap between nodes (#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