Skip to content

Commit 584bc48

Browse files
committed
build: refine build-run-ggmlopencl-android.sh and build-run-ggmlhexagon-android.sh
1 parent d081d22 commit 584bc48

File tree

3 files changed

+23
-13
lines changed

3 files changed

+23
-13
lines changed

ggml/src/ggml-hexagon/kernels/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ OBJS += worker_pool.o
2929
ALL:$(OBJS)
3030
${HEXAGON_CC} ${LDFLAGS} -o ${TARGET} -Wl,--start-group ${OBJS} -Wl,--end-group
3131
@ls -l ${TARGET}
32-
/bin/cp -fv ${TARGET} ../../../../out/android/bin/
33-
/bin/cp -fv ${TARGET} ../../../../out/android/bin/libggmldsp-skel${HTP_ARCH_VERSION}.so
32+
/bin/cp -fv ${TARGET} ../../../../out/ggmlhexagon-android/bin/
33+
/bin/cp -fv ${TARGET} ../../../../out/ggmlhexagon-android/bin/libggmldsp-skel${HTP_ARCH_VERSION}.so
3434
/bin/rm -f *.so
3535

3636
%.o:%.c

scripts/build-run-ggmlhexagon-android.sh

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
159169
function check_and_download_hexagon_sdk()
160170
{
161171
is_hexagon_llvm_exist=1
@@ -257,8 +267,8 @@ function check_and_download_ndk()
257267

258268
function 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

269279
function 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

280290
function 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()
698708
show_pwd
699709

700710
check_commands_in_host
711+
check_android_phone
701712
check_and_download_ndk
702713
check_and_download_qnn_sdk
703714
check_and_download_hexagon_sdk

scripts/build-run-ggmlopencl-android.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ ANDROID_NDK_FULLNAME=${ANDROID_NDK_NAME}-linux.zip
2727
ANDROID_NDK=${PROJECT_ROOT_PATH}/prebuilts/${ANDROID_NDK_NAME}
2828

2929
# --- Define NDK paths based on the absolute SDK path ---
30-
NDK_BASE_PATH="${SDK_DIR_ABSOLUTE_PATH}/ndk/${NDK_VERSION}"
3130
NDK_TOOLCHAIN_SYSROOT_INCLUDE_PATH="${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include"
3231
NDK_TOOLCHAIN_SYSROOT_ARM64_LIB_PATH="${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android"
3332

0 commit comments

Comments
 (0)