Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
e11668aa
Commit
e11668aa
authored
Mar 09, 2024
by
Jeffrey Morgan
Browse files
add `bundle_metal` and `cleanup_metal` funtions to `gen_darwin.sh`
parent
0bd0f4a2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
7 deletions
+15
-7
llm/generate/gen_darwin.sh
llm/generate/gen_darwin.sh
+15
-7
No files found.
llm/generate/gen_darwin.sh
View file @
e11668aa
...
@@ -18,6 +18,19 @@ sign() {
...
@@ -18,6 +18,19 @@ sign() {
fi
fi
}
}
# bundle_metal bundles ggml-common.h and ggml-metal.metal into a single file
bundle_metal
()
{
grep
-v
'#include "ggml-common.h"'
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
|
grep
-v
'#pragma once'
>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal.temp"
echo
'#define GGML_COMMON_IMPL_METAL'
>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
cat
"
${
LLAMACPP_DIR
}
/ggml-common.h"
|
grep
-v
'#pragma once'
>>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
cat
"
${
LLAMACPP_DIR
}
/ggml-metal.metal.temp"
>>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
rm
"
${
LLAMACPP_DIR
}
/ggml-metal.metal.temp"
}
cleanup_metal
()
{
(
cd
${
LLAMACPP_DIR
}
&&
git checkout ggml-metal.metal
)
}
COMMON_DARWIN_DEFS
=
"-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_SYSTEM_NAME=Darwin"
COMMON_DARWIN_DEFS
=
"-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_SYSTEM_NAME=Darwin"
case
"
${
GOARCH
}
"
in
case
"
${
GOARCH
}
"
in
...
@@ -60,19 +73,14 @@ case "${GOARCH}" in
...
@@ -60,19 +73,14 @@ case "${GOARCH}" in
compress_libs
compress_libs
;;
;;
"arm64"
)
"arm64"
)
# bundle ggml-common.h and ggml-metal.metal into a single file
grep
-v
'#include "ggml-common.h"'
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
|
grep
-v
'#pragma once'
>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal.temp"
echo
'#define GGML_COMMON_IMPL_METAL'
>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
cat
"
${
LLAMACPP_DIR
}
/ggml-common.h"
|
grep
-v
'#pragma once'
>>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
cat
"
${
LLAMACPP_DIR
}
/ggml-metal.metal.temp"
>>
"
${
LLAMACPP_DIR
}
/ggml-metal.metal"
rm
"
${
LLAMACPP_DIR
}
/ggml-metal.metal.temp"
CMAKE_DEFS
=
"
${
COMMON_DARWIN_DEFS
}
-DLLAMA_METAL_EMBED_LIBRARY=on -DLLAMA_ACCELERATE=on -DCMAKE_SYSTEM_PROCESSOR=
${
ARCH
}
-DCMAKE_OSX_ARCHITECTURES=
${
ARCH
}
-DLLAMA_METAL=on
${
CMAKE_DEFS
}
"
CMAKE_DEFS
=
"
${
COMMON_DARWIN_DEFS
}
-DLLAMA_METAL_EMBED_LIBRARY=on -DLLAMA_ACCELERATE=on -DCMAKE_SYSTEM_PROCESSOR=
${
ARCH
}
-DCMAKE_OSX_ARCHITECTURES=
${
ARCH
}
-DLLAMA_METAL=on
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"
${
LLAMACPP_DIR
}
/build/darwin/
${
ARCH
}
/metal"
BUILD_DIR
=
"
${
LLAMACPP_DIR
}
/build/darwin/
${
ARCH
}
/metal"
EXTRA_LIBS
=
"
${
EXTRA_LIBS
}
-framework Accelerate -framework Foundation -framework Metal -framework MetalKit -framework MetalPerformanceShaders"
EXTRA_LIBS
=
"
${
EXTRA_LIBS
}
-framework Accelerate -framework Foundation -framework Metal -framework MetalKit -framework MetalPerformanceShaders"
bundle_metal
build
build
sign
${
LLAMACPP_DIR
}
/build/darwin/
${
ARCH
}
/metal/lib/libext_server.dylib
sign
${
LLAMACPP_DIR
}
/build/darwin/
${
ARCH
}
/metal/lib/libext_server.dylib
compress_libs
compress_libs
(
cd
${
LLAMACPP_DIR
}
&&
git checkout ggml-metal.
metal
)
cleanup_
metal
;;
;;
*
)
*
)
echo
"GOARCH must be set"
echo
"GOARCH must be set"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment