]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
ggml-blas: set mkl threads from thread context (#20602)
authorKevin Hannon <redacted>
Tue, 17 Mar 2026 17:16:49 +0000 (13:16 -0400)
committerGitHub <redacted>
Tue, 17 Mar 2026 17:16:49 +0000 (01:16 +0800)
* ggml blas: set mkl threads from thread context

* add code to run blas locally

ci/run.sh
ggml/src/ggml-blas/ggml-blas.cpp

index 16cd80d56ae6d0cbcb9eb899289ff2e73a056704..eaf6358c0d36692e38d353195e1d8ec4e29c75b5 100755 (executable)
--- a/ci/run.sh
+++ b/ci/run.sh
 # # with KLEIDIAI support
 # GG_BUILD_KLEIDIAI=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
 #
-# # with OPENVINO support
+# # with BLAS support
+# GG_BUILD_BLAS=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
+#
+# with BLAS support (custom vendor)
+# GG_BUILD_BLAS=1 GG_BUILD_BLAS_VENDOR=Intel10_64lp bash ./ci/run.sh ./tmp/results ./tmp/mnt
+#
+# with OPENVINO support
 # GG_BUILD_OPENVINO=1 GG_BUILD_LOW_PERF=1 GGML_OPENVINO_DEVICE=CPU bash ./ci/run.sh ./tmp/results ./tmp/mnt
 #
 
@@ -169,6 +175,10 @@ if [ -n "${GG_BUILD_KLEIDIAI}" ]; then
         -DBUILD_SHARED_LIBS=OFF"
 fi
 
+if [ ! -z ${GG_BUILD_BLAS} ]; then
+    CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=${GG_BUILD_BLAS_VENDOR:-OpenBLAS}"
+fi
+
 if [ ! -z ${GG_BUILD_OPENVINO} ]; then
     if [ -z ${OpenVINO_DIR} ]; then
         echo "OpenVINO_DIR not found, please install OpenVINO via archives and enable it by:"
index 5de64b816fc8b3d2d60e8f1ba2e4f77938d26202..e7a1763b54d1a586c0f39c9025c632dae8f94e3d 100644 (file)
@@ -121,6 +121,8 @@ static void ggml_backend_blas_mul_mat(ggml_backend_blas_context * ctx, struct gg
     bli_thread_set_num_threads(ctx->n_threads);
 #elif defined(GGML_BLAS_USE_NVPL)
     nvpl_blas_set_num_threads(ctx->n_threads);
+#elif defined(GGML_BLAS_USE_MKL)
+    mkl_set_num_threads(ctx->n_threads);
 #endif
 
     for (int64_t i13 = 0; i13 < ne13; i13++) {