From: Georgi Gerganov Date: Mon, 6 Oct 2025 13:05:27 +0000 (+0300) Subject: ggml : fix unaligned access in AMX code (llama/16315) X-Git-Tag: upstream/1.8.2~41 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=0e431b3cea6b2eca455f1bc2816b36ea6c6a0c88;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp ggml : fix unaligned access in AMX code (llama/16315) --- diff --git a/ggml/src/ggml-cpu/amx/amx.cpp b/ggml/src/ggml-cpu/amx/amx.cpp index 867e158d..895a5713 100644 --- a/ggml/src/ggml-cpu/amx/amx.cpp +++ b/ggml/src/ggml-cpu/amx/amx.cpp @@ -149,6 +149,7 @@ class extra_buffer_type : ggml::cpu::extra_buffer_type { if (op->op == GGML_OP_MUL_MAT && is_contiguous_2d(op->src[0]) && // src0 must be contiguous is_contiguous_2d(op->src[1]) && // src1 must be contiguous op->src[0]->buffer && op->src[0]->buffer->buft == ggml_backend_amx_buffer_type() && + op->src[0]->ne[0] % (TILE_K * 2 * 32) == 0 && // TODO: not sure if correct (https://github.com/ggml-org/llama.cpp/pull/16315) op->ne[0] % (TILE_N * 2) == 0 && // out_features is 32x (qtype_has_amx_kernels(op->src[0]->type) || (op->src[0]->type == GGML_TYPE_F16))) { // src1 must be host buffer