mirror of
https://github.com/tcsenpai/ollama.git
synced 2025-06-07 11:45:21 +00:00
pre-patch
This commit is contained in:
parent
9fe48978a8
commit
785f76d390
5
llama/ggml-backend.c
vendored
5
llama/ggml-backend.c
vendored
@ -87,12 +87,7 @@ void ggml_backend_buffer_free(ggml_backend_buffer_t buffer) {
|
|||||||
if (buffer->iface.free_buffer != NULL) {
|
if (buffer->iface.free_buffer != NULL) {
|
||||||
buffer->iface.free_buffer(buffer);
|
buffer->iface.free_buffer(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: this needs to be freed in cuda and hipblas backends because
|
|
||||||
// the cuda backend implementation compiled with msvc
|
|
||||||
#if !defined(GGML_USE_CUDA) && !defined(GGML_USE_HIPBLAS)
|
|
||||||
free(buffer);
|
free(buffer);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ggml_backend_buffer_get_size(ggml_backend_buffer_t buffer) {
|
size_t ggml_backend_buffer_get_size(ggml_backend_buffer_t buffer) {
|
||||||
|
131
llama/sync.sh
131
llama/sync.sh
@ -6,73 +6,78 @@ src_dir=$1
|
|||||||
# Set the destination directory (current directory)
|
# Set the destination directory (current directory)
|
||||||
dst_dir="."
|
dst_dir="."
|
||||||
|
|
||||||
# # llama.cpp
|
# llama.cpp
|
||||||
# cp $src_dir/unicode.cpp $dst_dir/unicode.cpp
|
cp $src_dir/unicode.cpp $dst_dir/unicode.cpp
|
||||||
# cp $src_dir/unicode.h $dst_dir/unicode.h
|
cp $src_dir/unicode.h $dst_dir/unicode.h
|
||||||
# cp $src_dir/unicode-data.cpp $dst_dir/unicode-data.cpp
|
cp $src_dir/unicode-data.cpp $dst_dir/unicode-data.cpp
|
||||||
# cp $src_dir/unicode-data.h $dst_dir/unicode-data.h
|
cp $src_dir/unicode-data.h $dst_dir/unicode-data.h
|
||||||
# cp $src_dir/llama.cpp $dst_dir/llama.cpp
|
cp $src_dir/llama.cpp $dst_dir/llama.cpp
|
||||||
# cp $src_dir/llama.h $dst_dir/llama.h
|
cp $src_dir/llama.h $dst_dir/llama.h
|
||||||
# cp $src_dir/sgemm.cpp $dst_dir/sgemm.cpp
|
cp $src_dir/sgemm.cpp $dst_dir/sgemm.cpp
|
||||||
# cp $src_dir/sgemm.h $dst_dir/sgemm.h
|
cp $src_dir/sgemm.h $dst_dir/sgemm.h
|
||||||
|
|
||||||
# # ggml
|
# ggml
|
||||||
# cp $src_dir/ggml.c $dst_dir/ggml.c
|
cp $src_dir/ggml.c $dst_dir/ggml.c
|
||||||
# cp $src_dir/ggml.h $dst_dir/ggml.h
|
cp $src_dir/ggml.h $dst_dir/ggml.h
|
||||||
# cp $src_dir/ggml-quants.c $dst_dir/ggml-quants.c
|
cp $src_dir/ggml-quants.c $dst_dir/ggml-quants.c
|
||||||
# cp $src_dir/ggml-quants.h $dst_dir/ggml-quants.h
|
cp $src_dir/ggml-quants.h $dst_dir/ggml-quants.h
|
||||||
# cp $src_dir/ggml-metal.metal $dst_dir/ggml-metal.metal
|
cp $src_dir/ggml-metal.metal $dst_dir/ggml-metal.metal
|
||||||
# cp $src_dir/ggml-metal.h $dst_dir/ggml-metal.h
|
cp $src_dir/ggml-metal.h $dst_dir/ggml-metal.h
|
||||||
# cp $src_dir/ggml-metal.m $dst_dir/ggml-metal.m
|
cp $src_dir/ggml-metal.m $dst_dir/ggml-metal.m
|
||||||
# cp $src_dir/ggml-impl.h $dst_dir/ggml-impl.h
|
cp $src_dir/ggml-impl.h $dst_dir/ggml-impl.h
|
||||||
# cp $src_dir/ggml-cuda.h $dst_dir/ggml-cuda.h
|
cp $src_dir/ggml-cuda.h $dst_dir/ggml-cuda.h
|
||||||
# cp $src_dir/ggml-cuda.cu $dst_dir/ggml-cuda.cu
|
cp $src_dir/ggml-cuda.cu $dst_dir/ggml-cuda.cu
|
||||||
# cp $src_dir/ggml-common.h $dst_dir/ggml-common.h
|
cp $src_dir/ggml-common.h $dst_dir/ggml-common.h
|
||||||
# cp $src_dir/ggml-backend.h $dst_dir/ggml-backend.h
|
cp $src_dir/ggml-backend.h $dst_dir/ggml-backend.h
|
||||||
# cp $src_dir/ggml-backend.c $dst_dir/ggml-backend.c
|
cp $src_dir/ggml-backend.c $dst_dir/ggml-backend.c
|
||||||
# cp $src_dir/ggml-backend-impl.h $dst_dir/ggml-backend-impl.h
|
cp $src_dir/ggml-backend-impl.h $dst_dir/ggml-backend-impl.h
|
||||||
# cp $src_dir/ggml-alloc.h $dst_dir/ggml-alloc.h
|
cp $src_dir/ggml-alloc.h $dst_dir/ggml-alloc.h
|
||||||
# cp $src_dir/ggml-alloc.c $dst_dir/ggml-alloc.c
|
cp $src_dir/ggml-alloc.c $dst_dir/ggml-alloc.c
|
||||||
|
|
||||||
# # ggml-cuda
|
# ggml-cuda
|
||||||
# mkdir -p $dst_dir/ggml-cuda
|
mkdir -p $dst_dir/ggml-cuda
|
||||||
# cp $src_dir/ggml-cuda/*.cu $dst_dir/ggml-cuda/
|
cp $src_dir/ggml-cuda/*.cu $dst_dir/ggml-cuda/
|
||||||
# cp $src_dir/ggml-cuda/*.cuh $dst_dir/ggml-cuda/
|
cp $src_dir/ggml-cuda/*.cuh $dst_dir/ggml-cuda/
|
||||||
|
|
||||||
# sed -i 's/extern "C" GGML_CALL int ggml_backend_cuda_reg_devices();/\/\/ extern "C" GGML_CALL int ggml_backend_cuda_reg_devices();/' ggml-cuda.cu
|
# ggml-metal
|
||||||
# sed -i '34iGGML_API GGML_CALL ggml_backend_buffer_type_t ggml_backend_cuda_host_buffer_type(void);' ggml-cuda.h
|
sed -i '' '1s;^;//go:build darwin,arm64\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
|
||||||
|
TEMP_ASSEMBLY=$(mktemp)
|
||||||
|
echo ".section __DATA, __ggml_metallib" > $TEMP_ASSEMBLY
|
||||||
|
echo ".globl _ggml_metallib_start" >> $TEMP_ASSEMBLY
|
||||||
|
echo "_ggml_metallib_start:" >> $TEMP_ASSEMBLY
|
||||||
|
echo ".incbin \"temp.metal\"" >> $TEMP_ASSEMBLY
|
||||||
|
echo ".globl _ggml_metallib_end" >> $TEMP_ASSEMBLY
|
||||||
|
echo "_ggml_metallib_end:" >> $TEMP_ASSEMBLY
|
||||||
|
as -mmacosx-version-min=11.3 $TEMP_ASSEMBLY -o ggml-metal.o
|
||||||
|
rm -f $TEMP_ASSEMBLY
|
||||||
|
rm -rf temp.metal
|
||||||
|
|
||||||
# # ggml-metal
|
# apply patches
|
||||||
# sed -i '' '1s;^;//go:build darwin,arm64\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
|
|
||||||
# TEMP_ASSEMBLY=$(mktemp)
|
|
||||||
# echo ".section __DATA, __ggml_metallib" > $TEMP_ASSEMBLY
|
|
||||||
# echo ".globl _ggml_metallib_start" >> $TEMP_ASSEMBLY
|
|
||||||
# echo "_ggml_metallib_start:" >> $TEMP_ASSEMBLY
|
|
||||||
# echo ".incbin \"temp.metal\"" >> $TEMP_ASSEMBLY
|
|
||||||
# echo ".globl _ggml_metallib_end" >> $TEMP_ASSEMBLY
|
|
||||||
# echo "_ggml_metallib_end:" >> $TEMP_ASSEMBLY
|
|
||||||
# as -mmacosx-version-min=11.3 $TEMP_ASSEMBLY -o ggml-metal.o
|
|
||||||
# rm -f $TEMP_ASSEMBLY
|
|
||||||
# rm -rf temp.metal
|
|
||||||
|
|
||||||
# add license info
|
# add license
|
||||||
LICENSE=$(mktemp)
|
# sha1=$(git -C $src_dir rev-parse @)
|
||||||
cleanup() {
|
|
||||||
rm -f $LICENSE
|
|
||||||
}
|
|
||||||
trap cleanup 0
|
|
||||||
|
|
||||||
cat <<EOF | sed 's/ *$//' >$LICENSE
|
# tempdir=$(mktemp)
|
||||||
/**
|
# cleanup() {
|
||||||
* llama.cpp - git $SHA1
|
# rm -f $tempdir
|
||||||
*
|
# }
|
||||||
$(sed 's/^/ * /' <$1/$src_dir/LICENSE)
|
# trap cleanup 0
|
||||||
*/
|
|
||||||
|
|
||||||
for IN in $OUT/*.{c,h,cpp,m,metal,cu}; do
|
# cat <<EOF | sed 's/ *$//' >$tempdir
|
||||||
TMP=$(mktemp)
|
# /**
|
||||||
status "updating license $IN"
|
# * llama.cpp - git $sha1
|
||||||
cat $LICENSE $IN >$TMP
|
# *
|
||||||
mv $TMP $IN
|
# $(sed 's/^/ * /' <$src_dir/LICENSE)
|
||||||
done
|
# */
|
||||||
|
|
||||||
|
# EOF
|
||||||
|
|
||||||
|
# for IN in $dst_dir/*.{c,h,cpp,m,metal,cu}; do
|
||||||
|
# if [[ "$IN" == *"sgemm.cpp" || "$IN" == *"sgemm.h" ]]; then
|
||||||
|
# continue
|
||||||
|
# fi
|
||||||
|
# TMP=$(mktemp)
|
||||||
|
# cat $tempdir $IN >$TMP
|
||||||
|
# mv $TMP $IN
|
||||||
|
# done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user