|
|
@@ -452,22 +452,35 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
|
|
|
ggml-cpu/spacemit/ime_kernels.h
|
|
|
)
|
|
|
endif()
|
|
|
- set(MARCH_STR "rv64gc")
|
|
|
- if (GGML_RV_ZFH)
|
|
|
- string(APPEND MARCH_STR "_zfh")
|
|
|
- endif()
|
|
|
- if (GGML_XTHEADVECTOR)
|
|
|
- string(APPEND MARCH_STR "_xtheadvector")
|
|
|
- elseif (GGML_RVV)
|
|
|
- string(APPEND MARCH_STR "_v")
|
|
|
- if (GGML_RV_ZVFH)
|
|
|
- string(APPEND MARCH_STR "_zvfh")
|
|
|
+ if(NOT GGML_CPU_ALL_VARIANTS)
|
|
|
+ set(MARCH_STR "rv64gc")
|
|
|
+ if (GGML_RV_ZFH)
|
|
|
+ string(APPEND MARCH_STR "_zfh")
|
|
|
endif()
|
|
|
+ if (GGML_XTHEADVECTOR)
|
|
|
+ string(APPEND MARCH_STR "_xtheadvector")
|
|
|
+ elseif (GGML_RVV)
|
|
|
+ string(APPEND MARCH_STR "_v")
|
|
|
+ if (GGML_RV_ZVFH)
|
|
|
+ string(APPEND MARCH_STR "_zvfh")
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+ if (GGML_RV_ZICBOP)
|
|
|
+ string(APPEND MARCH_STR "_zicbop")
|
|
|
+ endif()
|
|
|
+ list(APPEND ARCH_FLAGS "-march=${MARCH_STR}" -mabi=lp64d)
|
|
|
+ else()
|
|
|
+ # Begin with the lowest baseline
|
|
|
+ set(ARCH_DEFINITIONS "")
|
|
|
+
|
|
|
+ if (GGML_INTERNAL_RVV)
|
|
|
+ message(STATUS "RVV enabled")
|
|
|
+ list(APPEND ARCH_DEFINITIONS GGML_USE_RVV)
|
|
|
+ list(APPEND ARCH_FLAGS -march=rv64gc_v -mabi=lp64d)
|
|
|
+ endif()
|
|
|
+
|
|
|
+ ggml_add_cpu_backend_features(${GGML_CPU_NAME} riscv ${ARCH_DEFINITIONS})
|
|
|
endif()
|
|
|
- if (GGML_RV_ZICBOP)
|
|
|
- string(APPEND MARCH_STR "_zicbop")
|
|
|
- endif()
|
|
|
- list(APPEND ARCH_FLAGS "-march=${MARCH_STR}" -mabi=lp64d)
|
|
|
elseif (GGML_SYSTEM_ARCH STREQUAL "s390x")
|
|
|
message(STATUS "s390x detected")
|
|
|
list(APPEND GGML_CPU_SOURCES
|