1#!/bin/sh
2#
3
4# Basedir on device
5basedir=/data/local/tmp/llama.cpp
6
7branch=.
8[ "$B" != "" ] && branch=$B
9
10adbserial=
11[ "$S" != "" ] && adbserial="-s $S"
12
13adbhost=
14[ "$H" != "" ] && adbhost="-H $H"
15
16model="Llama-3.2-3B-Instruct-Q4_0.gguf"
17[ "$M" != "" ] && model="$M"
18
19device="HTP0"
20[ "$D" != "" ] && device="$D"
21
22verbose=
23[ "$V" != "" ] && verbose="GGML_HEXAGON_VERBOSE=$V" cli_opts="$cli_opts -v"
24
25experimental=
26[ "$E" != "" ] && experimental="GGML_HEXAGON_EXPERIMENTAL=$E"
27
28profile=
29[ "$PROF" != "" ] && profile="GGML_HEXAGON_PROFILE=$PROF GGML_HEXAGON_OPSYNC=1" cli_opts="$cli_opts -v"
30
31opmask=
32[ "$OPMASK" != "" ] && opmask="GGML_HEXAGON_OPMASK=$OPMASK"
33
34nhvx=
35[ "$NHVX" != "" ] && nhvx="GGML_HEXAGON_NHVX=$NHVX"
36
37ndev=
38[ "$NDEV" != "" ] && ndev="GGML_HEXAGON_NDEV=$NDEV"
39
40hb=
41[ "$HB" != "" ] && hb="GGML_HEXAGON_HOSTBUF=$HB"
42
43set -x
44
45adb $adbserial $adbhost shell " \
46 cd $basedir; \
47 LD_LIBRARY_PATH=$basedir/$branch/lib \
48 ADSP_LIBRARY_PATH=$basedir/$branch/lib \
49 $ndev $nhvx $opmask $verbose $experimental $profile $hb ./$branch/bin/llama-bench --device $device --mmap 0 -m $basedir/../gguf/$model \
50 --poll 1000 -t 6 --cpu-mask 0xfc --cpu-strict 1 \
51 --batch-size 128 -ngl 99 $cli_opts $@ \
52"