UPSTREAM PR #16796: vulkan: Fix crash when FP16 mul_mat accumulation is not supported #10
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.
Mirrored from ggml-org/llama.cpp#16796
Overview
We see crashing at

ggml_vk_guess_matmul_id_pipeline_alignwhen avk_matmul_pipelinehas all empty pipelines.This happens because the following logic in
ggml_vk_get_mul_mat_mat_id_pipelineis checking for a nullptr which seems to never happen. The reference is there (thus thinks that fp16acc is supported) but all members are actually empty which leads to a crash later on inggml_vk_guess_matmul_id_pipeline_alignWe originally found this issue when running
ggml-org/gpt-oss-20b-GGUFfor src_type0 asGGML_TYPE_MXFP4though should happen on potentially any src_type0.Reproducing steps
Crash currently occurs on following unit test with Windows LunarLake driver 32.0.101.5730. Should reproduce on Ubuntu with mesa
25.0.7-0ubuntu0.24.04.2drivers as well.build\bin\Debug\test-backend-ops.exe -o MUL_MAT_ID(type_a=q8_0,type_b=f32,n_mats=4,n_used=1,b=0,m=512,n=4,k=256,o=1)