]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
llamafile : ppc64le GEMV forwarding for FP32. (#12594)
authoramritahs-ibm <redacted>
Fri, 28 Mar 2025 07:43:22 +0000 (13:13 +0530)
committerGitHub <redacted>
Fri, 28 Mar 2025 07:43:22 +0000 (09:43 +0200)
commit13731766db91ec927c1b61bf502ac7a9be2b11b9
tree7aadea404ac6d17a20c7fa4255603069aed72631
parentab6ab8f809bd514d88e02a63869b4d619f13fa86
llamafile : ppc64le GEMV forwarding for FP32. (#12594)

This patch enables usage of MMA when one of the
dimensions of the matrix(ie either M or N) is 1. This
is useful in case of token generation where N < 2.

The concept of 'GEMV Forwarding' is used where when one
of the matrix has a single row/column, the elements are
broadcasted, instead of using packing routine to prepack
the matrix elements.

This change results in 5% - 15% improvement in total
speed(ie all tokens/total time), across various batch
sizes. This is in comparision with the corresponding
dot product implementation.

The patch is tested with FP32 models of Meta-Lllama-3-8B,
Mistral-7B, Llama-2-7B-chat-hf on a IBM POWER10 machine.

Signed-off-by: Amrita H S <redacted>
ggml/src/ggml-cpu/llamafile/sgemm.cpp