From: fitzsim Date: Sun, 23 Jul 2023 13:46:57 +0000 (-0400) Subject: cmake : add PPC64 support (#392) X-Git-Tag: upstream/0.0.1642~1303 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=fb63873ad98ea58b196d8c9b8f142c5c452afd3a;p=pkg%2Fggml%2Fsources%2Fggml cmake : add PPC64 support (#392) * cmake : add CMake support for ppc64 * readme : mention ppc64 VSX support --- diff --git a/README.md b/README.md index acd37ada..886ea6ae 100644 --- 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 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6313b5e3..eacc9862 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index e787e307..25cec2fa 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -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")