]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
ggml : re-enable BLAS for CPU when src0 != F32 + remove redundant full offload checks...
authorGeorgi Gerganov <redacted>
Tue, 28 Nov 2023 08:32:03 +0000 (10:32 +0200)
committerGitHub <redacted>
Tue, 28 Nov 2023 08:32:03 +0000 (10:32 +0200)
* ggml : use blas even if src0 is not F32

* llama : use n_threads_batch only when n_tokens >= 32

ggml-ci

* llama : revert n_threads_batch logic

ggml-ci

ggml.c
llama.cpp

diff --git a/ggml.c b/ggml.c
index 0c7264a36216d493cfda1f110763cd024c983b56..c522a101f15526fe99fd353fd9900ce638e8a41e 100644 (file)
--- a/ggml.c
+++ b/ggml.c
@@ -9373,7 +9373,7 @@ static bool ggml_compute_forward_mul_mat_use_blas(
     // TODO: find the optimal values for these
     if (ggml_is_contiguous(src0) &&
         ggml_is_contiguous(src1) &&
-        src0->type == GGML_TYPE_F32 &&
+      //src0->type == GGML_TYPE_F32 &&
         src1->type == GGML_TYPE_F32 &&
         (ne0 >= 32 && ne1 >= 32 && ne10 >= 32)) {
 
index f2b5967d791e92d4c9f0ba5b61da4330622dc0f1..cb544228b9f021c17ec6d039adfc39b8d26ea213 100644 (file)
--- a/llama.cpp
+++ b/llama.cpp
@@ -5550,18 +5550,8 @@ static int llama_decode_internal(
         n_threads = std::min(4, n_threads);
     }
 
-    // If all tensors can be run on the GPU then using more than 1 thread is detrimental.
-    const bool full_offload_supported =
-        model.arch == LLM_ARCH_LLAMA      ||
-        model.arch == LLM_ARCH_BAICHUAN   ||
-        model.arch == LLM_ARCH_FALCON     ||
-        model.arch == LLM_ARCH_REFACT     ||
-        model.arch == LLM_ARCH_MPT        ||
-        model.arch == LLM_ARCH_STARCODER  ||
-        model.arch == LLM_ARCH_STABLELM;
-
     const bool fully_offloaded = model.n_gpu_layers >= (int) hparams.n_layer + 3;
-    if (ggml_cpu_has_cublas() && full_offload_supported && fully_offloaded) {
+    if (ggml_cpu_has_cublas() && fully_offloaded) {
         n_threads = 1;
     }