@@ -156,6 +156,16 @@ function check_commands_in_host()
156156}
157157
158158
159+ function check_android_phone()
160+ {
161+ adb shell ls /bin/ls
162+ if [ ! $? -eq 0 ]; then
163+ printf " pls check Android phone is connected properly\n"
164+ exit 1
165+ fi
166+ }
167+
168+
159169function check_and_download_hexagon_sdk()
160170{
161171 is_hexagon_llvm_exist=1
@@ -257,8 +267,8 @@ function check_and_download_ndk()
257267
258268function build_arm64
259269{
260- cmake -H. -B./out/android -DCMAKE_BUILD_TYPE=Release -DGGML_OPENMP=OFF -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK} /build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=latest -DCMAKE_C_FLAGS=-march=armv8.7-a -DGGML_HEXAGON=ON -DLLAMA_CURL=OFF -DQNN_SDK_PATH=${QNN_SDK_PATH} -DHEXAGON_SDK_PATH=${HEXAGON_SDK_PATH} -DHTP_ARCH_VERSION=${HTP_ARCH_VERSION}
261- cd out/android
270+ cmake -H. -B./out/ggmlhexagon- android -DCMAKE_BUILD_TYPE=Release -DGGML_OPENMP=OFF -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK} /build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=latest -DCMAKE_C_FLAGS=-march=armv8.7-a -DGGML_HEXAGON=ON -DLLAMA_CURL=OFF -DQNN_SDK_PATH=${QNN_SDK_PATH} -DHEXAGON_SDK_PATH=${HEXAGON_SDK_PATH} -DHTP_ARCH_VERSION=${HTP_ARCH_VERSION}
271+ cd out/ggmlhexagon- android
262272 make -j${HOST_CPU_COUNTS}
263273 show_pwd
264274
@@ -268,8 +278,8 @@ function build_arm64
268278
269279function build_arm64_debug
270280{
271- cmake -H. -B./out/android -DCMAKE_BUILD_TYPE=Debug -DGGML_OPENMP=OFF -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK} /build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=latest -DCMAKE_C_FLAGS=-march=armv8.7-a -DGGML_HEXAGON=ON -DLLAMA_CURL=OFF -DQNN_SDK_PATH=${QNN_SDK_PATH} -DHEXAGON_SDK_PATH=${HEXAGON_SDK_PATH} -DHTP_ARCH_VERSION=${HTP_ARCH_VERSION}
272- cd out/android
281+ cmake -H. -B./out/ggmlhexagon- android -DCMAKE_BUILD_TYPE=Debug -DGGML_OPENMP=OFF -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK} /build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=latest -DCMAKE_C_FLAGS=-march=armv8.7-a -DGGML_HEXAGON=ON -DLLAMA_CURL=OFF -DQNN_SDK_PATH=${QNN_SDK_PATH} -DHEXAGON_SDK_PATH=${HEXAGON_SDK_PATH} -DHTP_ARCH_VERSION=${HTP_ARCH_VERSION}
282+ cd out/ggmlhexagon- android
273283 make -j${HOST_CPU_COUNTS}
274284 show_pwd
275285
@@ -279,9 +289,9 @@ function build_arm64_debug
279289
280290function remove_temp_dir()
281291{
282- if [ -d out/android ]; then
283- echo " remove out/android directory in ` pwd` "
284- rm -rf out/android
292+ if [ -d out/ggmlhexagon- android ]; then
293+ echo " remove out/ggmlhexagon- android directory in ` pwd` "
294+ rm -rf out/ggmlhexagon- android
285295 fi
286296}
287297
@@ -444,10 +454,10 @@ function prepare_run_on_phone()
444454
445455 check_prebuilt_models
446456
447- if [ -f ./out/android/bin/libggml-cpu.so ]; then
448- adb push ./out/android/bin/* .so ${REMOTE_PATH} /
457+ if [ -f ./out/ggmlhexagon- android/bin/libggml-cpu.so ]; then
458+ adb push ./out/ggmlhexagon- android/bin/* .so ${REMOTE_PATH} /
449459 fi
450- adb push ./out/android/bin/${program} ${REMOTE_PATH} /
460+ adb push ./out/ggmlhexagon- android/bin/${program} ${REMOTE_PATH} /
451461
452462 # for troubleshooting issues in upstream llama.cpp project
453463 adb shell ls -l ${REMOTE_PATH} /libggml-* .so
@@ -698,6 +708,7 @@ function show_usage()
698708show_pwd
699709
700710check_commands_in_host
711+ check_android_phone
701712check_and_download_ndk
702713check_and_download_qnn_sdk
703714check_and_download_hexagon_sdk
0 commit comments