From a48bd5bbe76c6969714a8c54009b8fd816ac7e14 Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Tue, 14 Jan 2025 15:59:57 -0800 Subject: [PATCH] cpu all --- CMakeLists.txt | 1 + CMakePresets.json | 4 ++- ...target-ggml-cpu-for-all-cpu-variants.patch | 29 +++++++++++++++++++ ml/backend/ggml/ggml/src/CMakeLists.txt | 2 ++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 llama/patches/0015-add-phony-target-ggml-cpu-for-all-cpu-variants.patch diff --git a/CMakeLists.txt b/CMakeLists.txt index d553c4fd5..8103fed24 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,7 @@ set(GGML_CUDA_PEER_MAX_BATCH_SIZE 128) set(GGML_LLAMAFILE ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/include) diff --git a/CMakePresets.json b/CMakePresets.json index 82cd700b7..f1b6d41b4 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -55,7 +55,9 @@ "buildPresets": [ { "name": "Default", - "configurePreset": "Default" + "configurePreset": "Default", + "configuration": "Release", + "targets": [ "ggml-cpu" ] }, { "name": "CUDA", diff --git a/llama/patches/0015-add-phony-target-ggml-cpu-for-all-cpu-variants.patch b/llama/patches/0015-add-phony-target-ggml-cpu-for-all-cpu-variants.patch new file mode 100644 index 000000000..e68950a57 --- /dev/null +++ b/llama/patches/0015-add-phony-target-ggml-cpu-for-all-cpu-variants.patch @@ -0,0 +1,29 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Michael Yang +Date: Tue, 14 Jan 2025 15:59:04 -0800 +Subject: [PATCH] add phony target ggml-cpu for all cpu variants + +--- + ggml/src/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt +index 84101c32..72b488dd 100644 +--- a/ggml/src/CMakeLists.txt ++++ b/ggml/src/CMakeLists.txt +@@ -278,6 +278,7 @@ function(ggml_add_cpu_backend_variant tag_name) + endforeach() + + ggml_add_cpu_backend_variant_impl(${tag_name}) ++ add_dependencies(ggml-cpu ggml-cpu-${tag_name}) + endfunction() + + ggml_add_backend(CPU) +@@ -286,6 +287,7 @@ if (GGML_CPU_ALL_VARIANTS) + if (NOT GGML_BACKEND_DL) + message(FATAL_ERROR "GGML_CPU_ALL_VARIANTS requires GGML_BACKEND_DL") + endif() ++ add_custom_target(ggml-cpu) + ggml_add_cpu_backend_variant(sandybridge AVX) + ggml_add_cpu_backend_variant(haswell AVX F16C AVX2 FMA) + ggml_add_cpu_backend_variant(skylakex AVX F16C AVX2 FMA AVX512) diff --git a/ml/backend/ggml/ggml/src/CMakeLists.txt b/ml/backend/ggml/ggml/src/CMakeLists.txt index 84101c32c..72b488dd8 100644 --- a/ml/backend/ggml/ggml/src/CMakeLists.txt +++ b/ml/backend/ggml/ggml/src/CMakeLists.txt @@ -278,6 +278,7 @@ function(ggml_add_cpu_backend_variant tag_name) endforeach() ggml_add_cpu_backend_variant_impl(${tag_name}) + add_dependencies(ggml-cpu ggml-cpu-${tag_name}) endfunction() ggml_add_backend(CPU) @@ -286,6 +287,7 @@ if (GGML_CPU_ALL_VARIANTS) if (NOT GGML_BACKEND_DL) message(FATAL_ERROR "GGML_CPU_ALL_VARIANTS requires GGML_BACKEND_DL") endif() + add_custom_target(ggml-cpu) ggml_add_cpu_backend_variant(sandybridge AVX) ggml_add_cpu_backend_variant(haswell AVX F16C AVX2 FMA) ggml_add_cpu_backend_variant(skylakex AVX F16C AVX2 FMA AVX512)