ggml : Add GGML_USE_SVE macro to disable SVE by default
This commit is contained in:
parent
a59f8fdc85
commit
029deafc3a
4 changed files with 5 additions and 4 deletions
|
@ -963,6 +963,7 @@ if (CMAKE_OSX_ARCHITECTURES STREQUAL "arm64" OR
|
||||||
list(APPEND ARCH_FLAGS -mno-unaligned-access)
|
list(APPEND ARCH_FLAGS -mno-unaligned-access)
|
||||||
endif()
|
endif()
|
||||||
if (GGML_SVE)
|
if (GGML_SVE)
|
||||||
|
list(APPEND GGML_CDEF_PUBLIC GGML_USE_SVE)
|
||||||
list(APPEND ARCH_FLAGS -march=armv8.6-a+sve)
|
list(APPEND ARCH_FLAGS -march=armv8.6-a+sve)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -144,7 +144,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__ARM_FEATURE_SVE)
|
#if (defined(__ARM_FEATURE_SVE) && defined(GGML_USE_SVE))
|
||||||
#include <arm_sve.h>
|
#include <arm_sve.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -3813,7 +3813,7 @@ void ggml_vec_dot_q4_0_q8_0(int n, float * restrict s, size_t bs, const void * r
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if defined(__ARM_FEATURE_SVE)
|
#if (defined(__ARM_FEATURE_SVE) && defined(GGML_USE_SVE))
|
||||||
const svbool_t ptrueh = svptrue_pat_b8(SV_VL16);
|
const svbool_t ptrueh = svptrue_pat_b8(SV_VL16);
|
||||||
const svbool_t ptruel = svnot_b_z(svptrue_b8(), ptrueh);
|
const svbool_t ptruel = svnot_b_z(svptrue_b8(), ptrueh);
|
||||||
|
|
||||||
|
@ -5421,7 +5421,7 @@ void ggml_vec_dot_q8_0_q8_0(int n, float * restrict s, size_t bs, const void * r
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if defined(__ARM_FEATURE_SVE)
|
#if (defined(__ARM_FEATURE_SVE) && defined(GGML_USE_SVE))
|
||||||
svfloat32_t sumv0 = svdup_n_f32(0.0f);
|
svfloat32_t sumv0 = svdup_n_f32(0.0f);
|
||||||
svfloat32_t sumv1 = svdup_n_f32(0.0f);
|
svfloat32_t sumv1 = svdup_n_f32(0.0f);
|
||||||
|
|
||||||
|
|
|
@ -21758,7 +21758,7 @@ int ggml_cpu_has_neon(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int ggml_cpu_has_sve(void) {
|
int ggml_cpu_has_sve(void) {
|
||||||
#if defined(__ARM_FEATURE_SVE)
|
#if (defined(__ARM_FEATURE_SVE) && defined(GGML_USE_SVE))
|
||||||
// TODO: Currently, SVE 256 bit is only supported.
|
// TODO: Currently, SVE 256 bit is only supported.
|
||||||
GGML_ASSERT(svcntb() == QK8_0);
|
GGML_ASSERT(svcntb() == QK8_0);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue