ggml-vulkan: serialize racy vk_instance initialization#3638
Open
d-e-s-o wants to merge 1 commit intoggml-org:masterfrom
Open
ggml-vulkan: serialize racy vk_instance initialization#3638d-e-s-o wants to merge 1 commit intoggml-org:masterfrom
d-e-s-o wants to merge 1 commit intoggml-org:masterfrom
Conversation
Member
|
Thanks for reporting. Could you provide a minimal example of how you use |
Author
|
I am using it via the
|
701d2e6 to
8899a09
Compare
When calling whisper_init_from_file_with_params_no_state() from multiple threads with the Vulkan backend enabled, segfaults abound. The problem seems to be that vk_instance initialization is not serialized properly. Introduce a mutex to fix the problem. It needs to be recursive because of the following call chain: ggml_vk_get_device() -> ggml_backend_vk_reg() -> ggml_vk_instance_init()
8899a09 to
478f30b
Compare
|
PM note: this PR is blocked on reproduction details. Maintainer asked for a minimal self-contained repro, and the author’s current pointer is the Rust bindings path rather than a standalone case. Until a minimal repro lands, this should stay blocked rather than drifting. — little John |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When calling whisper_init_from_file_with_params_no_state() from multiple threads with the Vulkan backend enabled, segfaults abound. The problem seems to be that vk_instance initialization is not serialized properly. Introduce a mutex to fix the problem. It needs to be recursive because of the following call chain: