Skip to content

Commit 0306aad

Browse files
committed
cmake : sync/merge PowerPC build commands (#0)
1 parent c7b43ab commit 0306aad

File tree

1 file changed

+20
-14
lines changed

1 file changed

+20
-14
lines changed

ggml/src/ggml-cpu/CMakeLists.txt

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -289,23 +289,29 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
289289
endif()
290290
elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64le " OR "${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "powerpc ")
291291
message(STATUS "PowerPC detected")
292-
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64")
293-
file(READ "/proc/cpuinfo" POWER10_M)
294-
elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc")
295-
execute_process(COMMAND bash -c "prtconf |grep 'Implementation' | head -n 1" OUTPUT_VARIABLE POWER10_M)
296-
endif()
292+
if (GGML_NATIVE)
293+
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64")
294+
file(READ "/proc/cpuinfo" POWER10_M)
295+
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc")
296+
execute_process(COMMAND bash -c "prtconf |grep 'Implementation' | head -n 1" OUTPUT_VARIABLE POWER10_M)
297+
endif()
297298

298-
string(REGEX MATCHALL "POWER *([0-9]+)" MATCHED_STRING "${POWER10_M}")
299-
string(REGEX REPLACE "POWER *([0-9]+)" "\\1" EXTRACTED_NUMBER "${MATCHED_STRING}")
299+
string(REGEX MATCHALL "POWER *([0-9]+)" MATCHED_STRING "${POWER10_M}")
300+
string(REGEX REPLACE "POWER *([0-9]+)" "\\1" EXTRACTED_NUMBER "${MATCHED_STRING}")
300301

301-
if (EXTRACTED_NUMBER GREATER_EQUAL 10)
302-
list(APPEND ARCH_FLAGS -mcpu=power10 -mpowerpc64)
303-
elseif (EXTRACTED_NUMBER EQUAL 9)
304-
list(APPEND ARCH_FLAGS -mcpu=power9 -mpowerpc64)
305-
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64le")
306-
list(APPEND ARCH_FLAGS -mcpu=powerpc64le -mtune=native)
302+
if (EXTRACTED_NUMBER GREATER_EQUAL 10)
303+
list(APPEND ARCH_FLAGS -mcpu=power10 -mpowerpc64)
304+
elseif (EXTRACTED_NUMBER EQUAL 9)
305+
list(APPEND ARCH_FLAGS -mcpu=power9 -mpowerpc64)
306+
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64le")
307+
list(APPEND ARCH_FLAGS -mcpu=powerpc64le -mtune=native)
308+
else()
309+
list(APPEND ARCH_FLAGS -mcpu=native -mtune=native -mpowerpc64)
310+
endif()
307311
else()
308-
list(APPEND ARCH_FLAGS -mcpu=native -mtune=native -mpowerpc64)
312+
if (GGML_CPU_POWERPC_CPUTYPE)
313+
list(APPEND ARCH_FLAGS -mcpu=${GGML_CPU_POWERPC_CPUTYPE})
314+
endif()
309315
endif()
310316
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "loongarch64")
311317
message(STATUS "loongarch64 detected")

0 commit comments

Comments
 (0)