@@ -289,23 +289,29 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
289
289
endif ()
290
290
elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64le " OR "${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "powerpc " )
291
291
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 ()
297
298
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} " )
300
301
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 ()
307
311
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 ()
309
315
endif ()
310
316
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "loongarch64" )
311
317
message (STATUS "loongarch64 detected" )
0 commit comments