File tree Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Original file line number Diff line number Diff line change @@ -1515,3 +1515,29 @@ jobs:
1515
1515
run : |
1516
1516
vulkaninfo --summary
1517
1517
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
1518
+
1519
+ ggml-ci-arm64-cpu-kleidiai :
1520
+ runs-on : ubuntu-22.04-arm
1521
+
1522
+ steps :
1523
+ - name : Clone
1524
+ id : checkout
1525
+ uses : actions/checkout@v4
1526
+
1527
+ - name : ccache
1528
+
1529
+ with :
1530
+ key : ggml-ci-arm64-cpu-kleidiai
1531
+ evict-old-files : 1d
1532
+
1533
+ - name : Dependencies
1534
+ id : depends
1535
+ run : |
1536
+ sudo apt-get update
1537
+ sudo apt-get install -y build-essential libcurl4-openssl-dev
1538
+
1539
+ - name : Test
1540
+ id : ggml-ci
1541
+ run : |
1542
+ GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
1543
+
Original file line number Diff line number Diff line change 22
22
# # with MUSA support
23
23
# GG_BUILD_MUSA=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
24
24
#
25
+ # # with KLEIDIAI support
26
+ # GG_BUILD_KLEIDIAI=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
27
+ #
25
28
26
29
if [ -z " $2 " ]; then
27
30
echo " usage: $0 <output-dir> <mnt-dir>"
@@ -115,6 +118,34 @@ if [ ! -z ${GG_BUILD_NO_SVE} ]; then
115
118
CMAKE_EXTRA=" ${CMAKE_EXTRA} -DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv8.5-a+fp16+i8mm"
116
119
fi
117
120
121
+ if [ -n " ${GG_BUILD_KLEIDIAI} " ]; then
122
+ echo " >>===== Enabling KleidiAI support"
123
+
124
+ CANDIDATES=(" armv9-a+dotprod+i8mm" " armv8.6-a+dotprod+i8mm" " armv8.2-a+dotprod" )
125
+ CPU=" "
126
+
127
+ for cpu in " ${CANDIDATES[@]} " ; do
128
+ if echo ' int main(){}' | ${CXX:- c++} -march=" $cpu " -x c++ - -c -o /dev/null > /dev/null 2>&1 ; then
129
+ CPU=" $cpu "
130
+ break
131
+ fi
132
+ done
133
+
134
+ if [ -z " $CPU " ]; then
135
+ echo " ERROR: None of the required ARM baselines (armv9/armv8.6/armv8.2 + dotprod) are supported by this compiler."
136
+ exit 1
137
+ fi
138
+
139
+ echo " >>===== Using ARM baseline: ${CPU} "
140
+
141
+ CMAKE_EXTRA=" ${CMAKE_EXTRA: +$CMAKE_EXTRA } \
142
+ -DGGML_NATIVE=OFF \
143
+ -DGGML_CPU_KLEIDIAI=ON \
144
+ -DGGML_CPU_AARCH64=ON \
145
+ -DGGML_CPU_ARM_ARCH=${CPU} \
146
+ -DBUILD_SHARED_LIBS=OFF"
147
+ fi
148
+
118
149
# # helpers
119
150
120
151
# download a file if it does not exist or if it is outdated
You can’t perform that action at this time.
0 commit comments