diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 6480b9df2..36a403068 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -290,6 +290,10 @@ function(ggml_add_cpu_backend_variant tag_name) foreach (feat ${ARGN}) set(GGML_INTERNAL_${feat} ON) endforeach() + elseif (GGML_SYSTEM_ARCH STREQUAL "s390x") + foreach (feat ${ARGN}) + set(GGML_${feat} ON) + endforeach() endif() ggml_add_cpu_backend_variant_impl(${tag_name}) @@ -354,6 +358,14 @@ if (GGML_CPU_ALL_VARIANTS) else() message(FATAL_ERROR "Unsupported PowerPC target OS: ${CMAKE_SYSTEM_NAME}") endif() + elseif (GGML_SYSTEM_ARCH STREQUAL "s390x") + if (CMAKE_SYSTEM_NAME MATCHES "Linux") + ggml_add_cpu_backend_variant(s390x_z15 VX VXE VXE2) + ggml_add_cpu_backend_variant(s390x_z16 VX VXE VXE2 NNPA) + ggml_add_cpu_backend_variant(s390x_z17 VX VXE VXE2 NNPA) + else() + message(FATAL_ERROR "Unsupported s390x target OS: ${CMAKE_SYSTEM_NAME}") + endif() else() message(FATAL_ERROR "GGML_CPU_ALL_VARIANTS not yet supported with ${GGML_SYSTEM_ARCH} on ${CMAKE_SYSTEM_NAME}") endif() @@ -404,15 +416,11 @@ if (BUILD_SHARED_LIBS) endif() if (GGML_VXE) - add_compile_definitions(GGML_VXE) - target_compile_definitions(ggml PRIVATE GGML_VXE) - target_compile_definitions(ggml-base PRIVATE GGML_VXE) message(STATUS "GGML_VXE triggered") + target_compile_definitions(ggml PRIVATE GGML_VXE) endif() if (GGML_NNPA) - add_compile_definitions(GGML_NNPA) - target_compile_definitions(ggml PRIVATE GGML_NNPA) - target_compile_definitions(ggml-base PRIVATE GGML_NNPA) message(STATUS "GGML_NNPA triggered") + target_compile_definitions(ggml PRIVATE GGML_NNPA) endif()