|
|
@@ -281,19 +281,15 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
|
|
|
endif()
|
|
|
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64")
|
|
|
message(STATUS "PowerPC detected")
|
|
|
- execute_process(COMMAND bash -c "grep POWER10 /proc/cpuinfo | head -n 1" OUTPUT_VARIABLE POWER10_M)
|
|
|
- string(FIND "${POWER10_M}" "POWER10" substring_index)
|
|
|
- if (NOT DEFINED substring_index OR "${substring_index}" STREQUAL "")
|
|
|
- set(substring_index -1)
|
|
|
- endif()
|
|
|
-
|
|
|
- if (${substring_index} GREATER_EQUAL 0)
|
|
|
- list(APPEND ARCH_FLAGS -mcpu=power10)
|
|
|
+ execute_process(COMMAND bash -c "grep POWER /proc/cpuinfo | head -n 1" OUTPUT_VARIABLE POWER_M)
|
|
|
+ if (${POWER_M} MATCHES "POWER10")
|
|
|
+ list(APPEND ARCH_FLAGS -mcpu=power10)
|
|
|
+ elseif (${POWER_M} MATCHES "POWER9")
|
|
|
+ list(APPEND ARCH_FLAGS -mcpu=power9)
|
|
|
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64le")
|
|
|
- list(APPEND ARCH_FLAGS -mcpu=powerpc64le)
|
|
|
+ list(APPEND ARCH_FLAGS -mcpu=powerpc64le -mtune=native)
|
|
|
else()
|
|
|
- list(APPEND ARCH_FLAGS -mcpu=native -mtune=native)
|
|
|
- # TODO: Add targets for Power8/Power9 (Altivec/VSX) and Power10(MMA) and query for big endian systems (ppc64/le/be)
|
|
|
+ list(APPEND ARCH_FLAGS -mcpu=powerpc64 -mtune=native)
|
|
|
endif()
|
|
|
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "loongarch64")
|
|
|
message(STATUS "loongarch64 detected")
|