summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgi Gerganov <ggerganov@gmail.com>2024-05-18 13:40:39 +0300
committerGitHub <noreply@github.com>2024-05-18 20:40:39 +1000
commit511182eabb36f6ec9776e2b3c4d7e16d93d0ac0d (patch)
tree267174dd58c2113dde3c412ea6a4bfe393258c32
parent133d99c59980139f5bb75922c8b5fca67d7ba9b8 (diff)
android : use "ci-android" branch for CI (#7341)
* android : use "ci-android" branch for CI * ggml : disable SIMD exp and silu for 32-bit ARM ggml-ci * android : do not fetch, use add_subdirectory instead * cmake : provide binary dir
-rw-r--r--examples/llama.android/app/src/main/cpp/CMakeLists.txt18
-rw-r--r--ggml.c6
2 files changed, 13 insertions, 11 deletions
diff --git a/examples/llama.android/app/src/main/cpp/CMakeLists.txt b/examples/llama.android/app/src/main/cpp/CMakeLists.txt
index 85139329..688a4750 100644
--- a/examples/llama.android/app/src/main/cpp/CMakeLists.txt
+++ b/examples/llama.android/app/src/main/cpp/CMakeLists.txt
@@ -12,15 +12,17 @@ cmake_minimum_required(VERSION 3.22.1)
# build script scope).
project("llama-android")
-include(FetchContent)
-FetchContent_Declare(
- llama
- GIT_REPOSITORY https://github.com/ggerganov/llama.cpp
- GIT_TAG master
-)
+#include(FetchContent)
+#FetchContent_Declare(
+# llama
+# GIT_REPOSITORY https://github.com/ggerganov/llama.cpp
+# GIT_TAG ci-android
+#)
+#
+## Also provides "common"
+#FetchContent_MakeAvailable(llama)
-# Also provides "common"
-FetchContent_MakeAvailable(llama)
+add_subdirectory(../../../../../../ please-work)
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
diff --git a/ggml.c b/ggml.c
index 55152bce..a04c74dd 100644
--- a/ggml.c
+++ b/ggml.c
@@ -2076,7 +2076,7 @@ inline static float ggml_silu_f32(float x) {
return x/(1.0f + expf(-x));
}
-#if defined(__ARM_NEON)
+#if defined(__ARM_NEON) && defined(__aarch64__)
// adapted from arm limited optimized routine
// the maximum error is 1.45358 plus 0.5 ulps
@@ -2288,7 +2288,7 @@ static void ggml_vec_silu_f32(const int n, float * y, const float * x) {
for (; i + 3 < n; i += 4) {
_mm_storeu_ps(y + i, ggml_v_silu(_mm_loadu_ps(x + i)));
}
-#elif defined(__ARM_NEON)
+#elif defined(__ARM_NEON) && defined(__aarch64__)
for (; i + 3 < n; i += 4) {
vst1q_f32(y + i, ggml_v_silu(vld1q_f32(x + i)));
}
@@ -2335,7 +2335,7 @@ static ggml_float ggml_vec_soft_max_f32(const int n, float * y, const float * x,
#endif
sum += (ggml_float)_mm_cvtss_f32(val);
}
-#elif defined(__ARM_NEON)
+#elif defined(__ARM_NEON) && defined(__aarch64__)
for (; i + 3 < n; i += 4) {
float32x4_t val = ggml_v_expf(vsubq_f32(vld1q_f32(x + i),
vdupq_n_f32(max)));