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
7ca9605f
Unverified
Commit
7ca9605f
authored
May 30, 2024
by
Jeffrey Morgan
Committed by
GitHub
May 30, 2024
Browse files
speed up tests by only building static lib (#4740)
parent
eb2c443a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
41 deletions
+46
-41
.github/workflows/test.yaml
.github/workflows/test.yaml
+2
-0
llm/generate/gen_darwin.sh
llm/generate/gen_darwin.sh
+44
-41
No files found.
.github/workflows/test.yaml
View file @
7ca9605f
...
...
@@ -287,6 +287,8 @@ jobs:
GOARCH
:
${{ matrix.arch }}
CGO_ENABLED
:
'
1'
OLLAMA_CPU_TARGET
:
'
static'
OLLAMA_SKIP_CPU_GENERATE
:
'
1'
OLLAMA_SKIP_METAL_GENERATE
:
'
1'
steps
:
-
uses
:
actions/checkout@v4
with
:
...
...
llm/generate/gen_darwin.sh
View file @
7ca9605f
...
...
@@ -32,42 +32,43 @@ case "${GOARCH}" in
echo
"Building static library"
build
if
[
-z
"
$OLLAMA_SKIP_CPU_GENERATE
"
]
;
then
#
# CPU first for the default library, set up as lowest common denominator for maximum compatibility (including Rosetta)
#
init_vars
CMAKE_DEFS
=
"
${
COMMON_CPU_DEFS
}
-DLLAMA_ACCELERATE=off -DLLAMA_AVX=off -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/cpu"
echo
"Building LCD CPU"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
#
# CPU first for the default library, set up as lowest common denominator for maximum compatibility (including Rosetta)
#
init_vars
CMAKE_DEFS
=
"
${
COMMON_CPU_DEFS
}
-DLLAMA_ACCELERATE=off -DLLAMA_AVX=off -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/cpu"
echo
"Building LCD CPU"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
#
# ~2011 CPU Dynamic library with more capabilities turned on to optimize performance
# Approximately 400% faster than LCD on same CPU
#
init_vars
CMAKE_DEFS
=
"
${
COMMON_CPU_DEFS
}
-DLLAMA_ACCELERATE=off -DLLAMA_AVX=on -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/cpu_avx"
echo
"Building AVX CPU"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
#
# ~2011 CPU Dynamic library with more capabilities turned on to optimize performance
# Approximately 400% faster than LCD on same CPU
#
init_vars
CMAKE_DEFS
=
"
${
COMMON_CPU_DEFS
}
-DLLAMA_ACCELERATE=off -DLLAMA_AVX=on -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/cpu_avx"
echo
"Building AVX CPU"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
#
# ~2013 CPU Dynamic library
# Approximately 10% faster than AVX on same CPU
#
init_vars
CMAKE_DEFS
=
"
${
COMMON_CPU_DEFS
}
-DLLAMA_ACCELERATE=on -DLLAMA_AVX=on -DLLAMA_AVX2=on -DLLAMA_AVX512=off -DLLAMA_FMA=on -DLLAMA_F16C=on
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/cpu_avx2"
echo
"Building AVX2 CPU"
EXTRA_LIBS
=
"
${
EXTRA_LIBS
}
-framework Accelerate -framework Foundation"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
#
# ~2013 CPU Dynamic library
# Approximately 10% faster than AVX on same CPU
#
init_vars
CMAKE_DEFS
=
"
${
COMMON_CPU_DEFS
}
-DLLAMA_ACCELERATE=on -DLLAMA_AVX=on -DLLAMA_AVX2=on -DLLAMA_AVX512=off -DLLAMA_FMA=on -DLLAMA_F16C=on
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/cpu_avx2"
echo
"Building AVX2 CPU"
EXTRA_LIBS
=
"
${
EXTRA_LIBS
}
-framework Accelerate -framework Foundation"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
fi
;;
"arm64"
)
...
...
@@ -79,13 +80,15 @@ case "${GOARCH}" in
echo
"Building static library"
build
init_vars
CMAKE_DEFS
=
"
${
COMMON_DARWIN_DEFS
}
-DLLAMA_ACCELERATE=on -DCMAKE_SYSTEM_PROCESSOR=
${
ARCH
}
-DCMAKE_OSX_ARCHITECTURES=
${
ARCH
}
-DLLAMA_METAL=on
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/metal"
EXTRA_LIBS
=
"
${
EXTRA_LIBS
}
-framework Accelerate -framework Foundation -framework Metal -framework MetalKit -framework MetalPerformanceShaders"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
if
[
-z
"
$OLLAMA_SKIP_METAL_GENERATE
"
]
;
then
init_vars
CMAKE_DEFS
=
"
${
COMMON_DARWIN_DEFS
}
-DLLAMA_ACCELERATE=on -DCMAKE_SYSTEM_PROCESSOR=
${
ARCH
}
-DCMAKE_OSX_ARCHITECTURES=
${
ARCH
}
-DLLAMA_METAL=on
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/darwin/
${
ARCH
}
/metal"
EXTRA_LIBS
=
"
${
EXTRA_LIBS
}
-framework Accelerate -framework Foundation -framework Metal -framework MetalKit -framework MetalPerformanceShaders"
build
sign
${
BUILD_DIR
}
/bin/ollama_llama_server
compress
fi
;;
*
)
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