]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
cmake : add PPC64 support (#392)
authorfitzsim <redacted>
Sun, 23 Jul 2023 13:46:57 +0000 (09:46 -0400)
committerGitHub <redacted>
Sun, 23 Jul 2023 13:46:57 +0000 (16:46 +0300)
* cmake : add CMake support for ppc64

* readme : mention ppc64 VSX support

README.md
src/CMakeLists.txt
tests/CMakeLists.txt

index acd37adaa69c836c63f7cb7459ee5b9a6f16d1ef..886ea6ae9c1899cfca634a8fd334911fbff61f17 100644 (file)
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@ Some of the development is currently happening in the [llama.cpp](https://github
 - ADAM and L-BFGS optimizers
 - Optimized for Apple Silicon
 - On x86 architectures utilizes AVX / AVX2 intrinsics
+- On ppc64 architectures utilizes VSX intrinsics
 - No third-party dependencies
 - Zero memory allocations during runtime
 
index 6313b5e3ef4d6a00ad2ca69440a5af2b5a772e15..eacc98629fd1a1096ac6a9f40093aee44ae1ba0f 100644 (file)
@@ -53,6 +53,9 @@ endif()
 if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")
     message(STATUS "ARM detected")
     #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcpu=apple-m1")
+elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64le" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64")
+    message(STATUS "PPC64 detected")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mpower9-vector")
 else()
     message(STATUS "x86 detected")
     #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx -mavx2 -mfma -mf16c")
index e787e307b9fd82ccc3164161675a27985651ff33..25cec2fac2ace744abb52b68db159680fecd2022 100644 (file)
@@ -27,6 +27,9 @@ endif()
 if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")
     message(STATUS "ARM detected")
     #set(GGML_C_FLAGS "${GGML_C_FLAGS} -mcpu=apple-m1")
+elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64le" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64")
+    message(STATUS "PPC64 detected")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mpower9-vector")
 else()
     message(STATUS "x86 detected")
     #set(GGML_C_FLAGS "${GGML_C_FLAGS} -mavx -mavx2 -mfma -mf16c")