summaryrefslogtreecommitdiff
path: root/scripts/sync-ggml-am.sh
diff options
context:
space:
mode:
authorKawrakow <48489457+ikawrakow@users.noreply.github.com>2024-07-27 07:55:01 +0200
committerGitHub <noreply@github.com>2024-07-27 07:55:01 +0200
commit154e0d75fccf1784fe9ff6fd76a630b66563da3d (patch)
tree81ce6dbb5b1900c1aa78a879f0593c694cab9d27 /scripts/sync-ggml-am.sh
parent0684c3e9c70d49323b4fc517128cbe222cab7f96 (diff)
Merge mainline llama.cpp (#3)
* Merging mainline - WIP * Merging mainline - WIP AVX2 and CUDA appear to work. CUDA performance seems slightly (~1-2%) lower as it is so often the case with llama.cpp/ggml after some "improvements" have been made. * Merging mainline - fix Metal * Remove check --------- Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
Diffstat (limited to 'scripts/sync-ggml-am.sh')
-rwxr-xr-xscripts/sync-ggml-am.sh135
1 files changed, 75 insertions, 60 deletions
diff --git a/scripts/sync-ggml-am.sh b/scripts/sync-ggml-am.sh
index 9e34dc8b..ba3bedf2 100755
--- a/scripts/sync-ggml-am.sh
+++ b/scripts/sync-ggml-am.sh
@@ -53,7 +53,9 @@ while read c; do
fi
git format-patch -k $c~1..$c --stdout -- \
- include/ggml/ggml*.h \
+ CMakeLists.txt \
+ src/CMakeLists.txt \
+ cmake/FindSIMD.cmake \
src/ggml*.h \
src/ggml*.c \
src/ggml*.cpp \
@@ -61,6 +63,8 @@ while read c; do
src/ggml*.metal \
src/ggml*.cu \
src/ggml-cuda/* \
+ src/ggml-sycl/* \
+ include/ggml*.h \
tests/test-opt.cpp \
tests/test-grad0.cpp \
tests/test-quantize-fns.cpp \
@@ -93,30 +97,37 @@ if [ -f $SRC_LLAMA/ggml-src.patch ]; then
# replace filenames:
#
- # src/ggml.c -> ggml.c
- # src/ggml-alloc.c -> ggml-alloc.c
- # src/ggml-backend-impl.h -> ggml-backend-impl.h
- # src/ggml-backend.c -> ggml-backend.c
- # src/ggml-common.h -> ggml-common.h
- # src/ggml-cuda/* -> ggml-cuda/
- # src/ggml-cuda.cu -> ggml-cuda.cu
- # src/ggml-cuda.h -> ggml-cuda.h
- # src/ggml-impl.h -> ggml-impl.h
- # src/ggml-kompute.cpp -> ggml-kompute.cpp
- # src/ggml-kompute.h -> ggml-kompute.h
- # src/ggml-metal.h -> ggml-metal.h
- # src/ggml-metal.m -> ggml-metal.m
- # src/ggml-quants.c -> ggml-quants.c
- # src/ggml-quants.h -> ggml-quants.h
- # src/ggml-rpc.cpp -> ggml-rpc.cpp
- # src/ggml-rpc.h -> ggml-rpc.h
- # src/ggml-sycl.cpp -> ggml-sycl.cpp
- # src/ggml-sycl.h -> ggml-sycl.h
- # src/ggml-vulkan.cpp -> ggml-vulkan.cpp
- # src/ggml-vulkan.h -> ggml-vulkan.h
- # include/ggml/ggml.h -> ggml.h
- # include/ggml/ggml-alloc.h -> ggml-alloc.h
- # include/ggml/ggml-backend.h -> ggml-backend.h
+ # CMakelists.txt -> ggml/CMakeLists.txt
+ # src/CMakeLists.txt -> ggml/src/CMakeLists.txt
+ # cmake/FindSIMD.cmake -> ggml/cmake/FindSIMD.cmake
+ #
+ # src/ggml.c -> ggml/src/ggml.c
+ # src/ggml-alloc.c -> ggml/src/ggml-alloc.c
+ # src/ggml-backend-impl.h -> ggml/src/ggml-backend-impl.h
+ # src/ggml-backend.c -> ggml/src/ggml-backend.c
+ # src/ggml-common.h -> ggml/src/ggml-common.h
+ # src/ggml-cuda/* -> ggml/src/ggml-cuda/
+ # src/ggml-cuda.cu -> ggml/src/ggml-cuda.cu
+ # src/ggml-impl.h -> ggml/src/ggml-impl.h
+ # src/ggml-kompute.cpp -> ggml/src/ggml-kompute.cpp
+ # src/ggml-metal.m -> ggml/src/ggml-metal.m
+ # src/ggml-quants.c -> ggml/src/ggml-quants.c
+ # src/ggml-quants.h -> ggml/src/ggml-quants.h
+ # src/ggml-rpc.cpp -> ggml/src/ggml-rpc.cpp
+ # src/ggml-sycl/* -> ggml/src/ggml-sycl/
+ # src/ggml-sycl.cpp -> ggml/src/ggml-sycl.cpp
+ # src/ggml-vulkan.cpp -> ggml/src/ggml-vulkan.cpp
+ #
+ # include/ggml.h -> ggml/include/ggml.h
+ # include/ggml-alloc.h -> ggml/include/ggml-alloc.h
+ # include/ggml-backend.h -> ggml/include/ggml-backend.h
+ # include/ggml-blas.h -> ggml/include/ggml-blas.h
+ # include/ggml-cuda.h -> ggml/include/ggml-cuda.h
+ # include/ggml-kompute.h -> ggml/include/ggml-kompute.h
+ # include/ggml-metal.h -> ggml/include/ggml-metal.h
+ # include/ggml-rpc.h -> ggml/include/ggml-rpc.h
+ # include/ggml-sycl.h -> ggml/include/ggml-sycl.h
+ # include/ggml-vulkan.h -> ggml/include/ggml-vulkan.h
#
# tests/test-opt.cpp -> tests/test-opt.cpp
# tests/test-grad0.cpp -> tests/test-grad0.cpp
@@ -124,41 +135,45 @@ if [ -f $SRC_LLAMA/ggml-src.patch ]; then
# tests/test-quantize-perf.cpp -> tests/test-quantize-perf.cpp
# tests/test-backend-ops.cpp -> tests/test-backend-ops.cpp
#
- # LICENSE -> LICENSE
- # scripts/gen-authors.sh -> scripts/gen-authors.sh
-
- cat ggml-src.patch | sed \
- -e 's/src\/ggml\.c/ggml.c/g' \
- -e 's/src\/ggml-alloc\.c/ggml-alloc.c/g' \
- -e 's/src\/ggml-backend-impl\.h/ggml-backend-impl.h/g' \
- -e 's/src\/ggml-backend\.c/ggml-backend.c/g' \
- -e 's/src\/ggml-common\.h/ggml-common.h/g' \
- -e 's/src\/ggml-cuda\//ggml-cuda\//g' \
- -e 's/src\/ggml-cuda\.cu/ggml-cuda.cu/g' \
- -e 's/src\/ggml-cuda\.h/ggml-cuda.h/g' \
- -e 's/src\/ggml-impl\.h/ggml-impl.h/g' \
- -e 's/src\/ggml-kompute\.cpp/ggml-kompute.cpp/g' \
- -e 's/src\/ggml-kompute\.h/ggml-kompute.h/g' \
- -e 's/src\/ggml-metal\.h/ggml-metal.h/g' \
- -e 's/src\/ggml-metal\.m/ggml-metal.m/g' \
- -e 's/src\/ggml-quants\.c/ggml-quants.c/g' \
- -e 's/src\/ggml-quants\.h/ggml-quants.h/g' \
- -e 's/src\/ggml-rpc\.cpp/ggml-rpc.cpp/g' \
- -e 's/src\/ggml-rpc\.h/ggml-rpc.h/g' \
- -e 's/src\/ggml-sycl\.cpp/ggml-sycl.cpp/g' \
- -e 's/src\/ggml-sycl\.h/ggml-sycl.h/g' \
- -e 's/src\/ggml-vulkan\.cpp/ggml-vulkan.cpp/g' \
- -e 's/src\/ggml-vulkan\.h/ggml-vulkan.h/g' \
- -e 's/include\/ggml\/ggml\.h/ggml.h/g' \
- -e 's/include\/ggml\/ggml-alloc\.h/ggml-alloc.h/g' \
- -e 's/include\/ggml\/ggml-backend\.h/ggml-backend.h/g' \
- -e 's/tests\/test-opt\.cpp/tests\/test-opt.cpp/g' \
- -e 's/tests\/test-grad0\.cpp/tests\/test-grad0.cpp/g' \
- -e 's/tests\/test-quantize-fns\.cpp/tests\/test-quantize-fns.cpp/g' \
- -e 's/tests\/test-quantize-perf\.cpp/tests\/test-quantize-perf.cpp/g' \
- -e 's/tests\/test-backend-ops\.cpp/tests\/test-backend-ops.cpp/g' \
- -e 's/LICENSE/LICENSE/g' \
- -e 's/scripts\/gen-authors\.sh/scripts\/gen-authors.sh/g' \
+ # LICENSE -> LICENSE
+ # scripts/gen-authors.sh -> scripts/gen-authors.sh
+
+ cat ggml-src.patch | sed -E \
+ -e 's/([[:space:]]|[ab]\/)CMakeLists.txt/\1ggml\/CMakeLists.txt/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/CMakeLists.txt/\1ggml\/src\/CMakeLists.txt/g' \
+ -e 's/([[:space:]]|[ab]\/)cmake\/FindSIMD.cmake/\1ggml\/cmake\/FindSIMD.cmake/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml\.c/\1ggml\/src\/ggml.c/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-alloc\.c/\1ggml\/src\/ggml-alloc.c/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-backend-impl\.h/\1ggml\/src\/ggml-backend-impl.h/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-backend\.c/\1ggml\/src\/ggml-backend.c/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-common\.h/\1ggml\/src\/ggml-common.h/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-cuda\//\1ggml\/src\/ggml-cuda\//g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-cuda\.cu/\1ggml\/src\/ggml-cuda.cu/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-impl\.h/\1ggml\/src\/ggml-impl.h/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-kompute\.cpp/\1ggml\/src\/ggml-kompute.cpp/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-metal\.m/\1ggml\/src\/ggml-metal.m/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-quants\.c/\1ggml\/src\/ggml-quants.c/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-quants\.h/\1ggml\/src\/ggml-quants.h/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-rpc\.cpp/\1ggml\/src\/ggml-rpc.cpp/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-sycl\//\1ggml\/src\/ggml-sycl\//g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-sycl\.cpp/\1ggml\/src\/ggml-sycl.cpp/g' \
+ -e 's/([[:space:]]|[ab]\/)src\/ggml-vulkan\.cpp/\1ggml\/src\/ggml-vulkan.cpp/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml\.h/\1ggml\/include\/ggml.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-alloc\.h/\1ggml\/include\/ggml-alloc.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-backend\.h/\1ggml\/include\/ggml-backend.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-blas\.h/\1ggml\/include\/ggml-blas.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-cuda\.h/\1ggml\/include\/ggml-cuda.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-kompute\.h/\1ggml\/include\/ggml-kompute.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-metal\.h/\1ggml\/include\/ggml-metal.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-rpc\.h/\1ggml\/include\/ggml-rpc.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-sycl\.h/\1ggml\/include\/ggml-sycl.h/g' \
+ -e 's/([[:space:]]|[ab]\/)include\/ggml-vulkan\.h/\1ggml\/include\/ggml-vulkan.h/g' \
+ -e 's/([[:space:]]|[ab]\/)examples\/common\.h/examples\/common.h/g' \
+ -e 's/([[:space:]]|[ab]\/)examples\/common\.cpp/examples\/common.cpp/g' \
+ -e 's/([[:space:]]|[ab]\/)examples\/common-ggml\.h/examples\/common-ggml.h/g' \
+ -e 's/([[:space:]]|[ab]\/)examples\/common-ggml\.cpp/examples\/common-ggml.cpp/g' \
+ -e 's/([[:space:]]|[ab]\/)LICENSE/LICENSE/g' \
+ -e 's/([[:space:]]|[ab]\/)scripts\/gen-authors\.sh/scripts\/gen-authors.sh/g' \
> ggml-src.patch.tmp
mv ggml-src.patch.tmp ggml-src.patch