Bläddra i källkod

add script to update llama.cpp

Michael Yang 1 år sedan
förälder
incheckning
5156e48c2a
1 ändrade filer med 61 tillägg och 0 borttagningar
  1. 61 0
      llama/update-llama-cpp.sh

+ 61 - 0
llama/update-llama-cpp.sh

@@ -0,0 +1,61 @@
+#!/bin/sh
+
+set -eu
+
+
+status() { echo >&2 ">>> $*"; }
+error() { status "ERROR $*"; }
+usage() {
+    echo "usage: $(basename $0) /path/to/repo"
+    exit 1
+}
+
+OUT=$(dirname $0)
+while getopts "hC:" OPTION; do
+    case $OPTION in
+        C) OUT=$OPTARG ;;
+        *) usage ;;
+    esac
+done
+
+shift $(( $OPTIND - 1 ))
+[ $# -eq 1 ] || usage
+
+status "updating source..."
+cp -a "$1"/*.{c,h,cpp,m,metal,cu} "$OUT"
+
+status "removing incompatible files..."
+rm -f "$OUT"/build-info.h
+rm -f "$OUT"/ggml-{mpi,opencl}.*
+
+SHA1=$(git -C $1 rev-parse @)
+
+LICENSE=$(mktemp)
+cleanup() {
+    rm -f $LICENSE
+}
+trap cleanup 0
+
+cat <<EOF | sed 's/ *$//' >$LICENSE
+/**
+ * llama.cpp - git $SHA1
+ *
+$(sed 's/^/ * /' <$1/LICENSE)
+ */
+
+EOF
+
+for f in $OUT/*.{c,h,cpp,m,metal,cu}; do
+    TMP=$(mktemp)
+    status "updating license: $f"
+    cat $LICENSE $f >$TMP
+    mv $TMP $f
+done
+
+status "touching up MacOS files..."
+TMP=$(mktemp)
+{
+    echo "// +build darwin"
+    echo
+} | cat - $OUT/ggml-metal.m >$TMP
+mv $TMP $OUT/ggml-metal.m