From 4a5633e4bcf2d0a4cf95ead5c9379b2ac2ef2f9e Mon Sep 17 00:00:00 2001 From: jmorganca Date: Sat, 18 May 2024 23:50:50 -0700 Subject: [PATCH] fix sync script --- ggml-metal.o | Bin 0 -> 250992 bytes llama/README.md | 4 ++-- llama/{cuda.sh => build_cuda.sh} | 0 llama/{hipblas.sh => build_hipblas.sh} | 0 llama/sync.sh => scripts/sync_llama.sh | 21 +++++++++++++-------- 5 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 ggml-metal.o rename llama/{cuda.sh => build_cuda.sh} (100%) rename llama/{hipblas.sh => build_hipblas.sh} (100%) rename llama/sync.sh => scripts/sync_llama.sh (85%) diff --git a/ggml-metal.o b/ggml-metal.o new file mode 100644 index 0000000000000000000000000000000000000000..00e044d8d16b6faf47964544dc73a2d465d3ee0c GIT binary patch literal 250992 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 zR$tempdir +cat <$TEMP_LICENSE /** * llama.cpp - git $sha1 * @@ -67,13 +72,13 @@ for IN in $dst_dir/*.{c,h,cpp,m,metal,cu}; do continue fi TMP=$(mktemp) - cat $tempdir $IN >$TMP + cat $TEMP_LICENSE $IN >$TMP mv $TMP $IN done # ggml-metal -sed -i '' '1s;^;//go:build darwin,arm64\n\n;' ggml-metal.m -sed -e '/#include "ggml-common.h"/r ggml-common.h' -e '/#include "ggml-common.h"/d' < ggml-metal.metal > temp.metal +sed -i '' '1s;^;// go:build darwin,arm64\n\n;' $dst_dir/ggml-metal.m +sed -e '/#include "ggml-common.h"/r ggml-common.h' -e '/#include "ggml-common.h"/d' < $dst_dir/ggml-metal.metal > temp.metal TEMP_ASSEMBLY=$(mktemp) echo ".section __DATA, __ggml_metallib" > $TEMP_ASSEMBLY echo ".globl _ggml_metallib_start" >> $TEMP_ASSEMBLY