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
8d1995c6
Unverified
Commit
8d1995c6
authored
Apr 18, 2024
by
Daniel Hiltgen
Committed by
GitHub
Apr 18, 2024
Browse files
Merge pull request #3708 from remy415/arm64static
move Ollama static build to its own flag
parents
fd01fbf0
fd048f13
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
19 deletions
+19
-19
Dockerfile
Dockerfile
+7
-7
llm/generate/gen_linux.sh
llm/generate/gen_linux.sh
+12
-12
No files found.
Dockerfile
View file @
8d1995c6
...
...
@@ -18,7 +18,7 @@ ENV PATH /opt/rh/devtoolset-10/root/usr/bin:$PATH
COPY
--from=llm-code / /go/src/github.com/ollama/ollama/
WORKDIR
/go/src/github.com/ollama/ollama/llm/generate
ARG
CGO_CFLAGS
RUN
OLLAMA_SKIP_CPU_GENERATE
=
1 sh gen_linux.sh
RUN
OLLAMA_SKIP_STATIC_GENERATE
=
1
OLLAMA_SKIP_CPU_GENERATE
=
1 sh gen_linux.sh
FROM
--platform=linux/arm64 nvidia/cuda:$CUDA_VERSION-devel-rockylinux8 AS cuda-build-arm64
ARG
CMAKE_VERSION
...
...
@@ -28,7 +28,7 @@ ENV PATH /opt/rh/gcc-toolset-10/root/usr/bin:$PATH
COPY
--from=llm-code / /go/src/github.com/ollama/ollama/
WORKDIR
/go/src/github.com/ollama/ollama/llm/generate
ARG
CGO_CFLAGS
RUN
OLLAMA_SKIP_CPU_GENERATE
=
1 sh gen_linux.sh
RUN
OLLAMA_SKIP_STATIC_GENERATE
=
1
OLLAMA_SKIP_CPU_GENERATE
=
1 sh gen_linux.sh
FROM
--platform=linux/amd64 rocm/dev-centos-7:${ROCM_VERSION}-complete AS rocm-build-amd64
ARG
CMAKE_VERSION
...
...
@@ -40,7 +40,7 @@ COPY --from=llm-code / /go/src/github.com/ollama/ollama/
WORKDIR
/go/src/github.com/ollama/ollama/llm/generate
ARG
CGO_CFLAGS
ARG
AMDGPU_TARGETS
RUN
OLLAMA_SKIP_CPU_GENERATE
=
1 sh gen_linux.sh
RUN
OLLAMA_SKIP_STATIC_GENERATE
=
1
OLLAMA_SKIP_CPU_GENERATE
=
1 sh gen_linux.sh
RUN
mkdir
/tmp/scratch
&&
\
for
dep
in
$(
zcat /go/src/github.com/ollama/ollama/llm/build/linux/x86_64/rocm
*
/bin/deps.txt.gz
)
;
do
\
cp
${
dep
}
/tmp/scratch/
||
exit
1
;
\
...
...
@@ -64,11 +64,11 @@ WORKDIR /go/src/github.com/ollama/ollama/llm/generate
FROM
--platform=linux/amd64 cpu-builder-amd64 AS static-build-amd64
RUN
OLLAMA_CPU_TARGET
=
"static"
sh gen_linux.sh
FROM
--platform=linux/amd64 cpu-builder-amd64 AS cpu-build-amd64
RUN
OLLAMA_CPU_TARGET
=
"cpu"
sh gen_linux.sh
RUN
OLLAMA_SKIP_STATIC_GENERATE
=
1
OLLAMA_CPU_TARGET
=
"cpu"
sh gen_linux.sh
FROM
--platform=linux/amd64 cpu-builder-amd64 AS cpu_avx-build-amd64
RUN
OLLAMA_CPU_TARGET
=
"cpu_avx"
sh gen_linux.sh
RUN
OLLAMA_SKIP_STATIC_GENERATE
=
1
OLLAMA_CPU_TARGET
=
"cpu_avx"
sh gen_linux.sh
FROM
--platform=linux/amd64 cpu-builder-amd64 AS cpu_avx2-build-amd64
RUN
OLLAMA_CPU_TARGET
=
"cpu_avx2"
sh gen_linux.sh
RUN
OLLAMA_SKIP_STATIC_GENERATE
=
1
OLLAMA_CPU_TARGET
=
"cpu_avx2"
sh gen_linux.sh
FROM
--platform=linux/arm64 centos:7 AS cpu-builder-arm64
ARG
CMAKE_VERSION
...
...
@@ -84,7 +84,7 @@ WORKDIR /go/src/github.com/ollama/ollama/llm/generate
FROM
--platform=linux/arm64 cpu-builder-arm64 AS static-build-arm64
RUN
OLLAMA_CPU_TARGET
=
"static"
sh gen_linux.sh
FROM
--platform=linux/arm64 cpu-builder-arm64 AS cpu-build-arm64
RUN
OLLAMA_CPU_TARGET
=
"cpu"
sh gen_linux.sh
RUN
OLLAMA_SKIP_STATIC_GENERATE
=
1
OLLAMA_CPU_TARGET
=
"cpu"
sh gen_linux.sh
# Intermediate stage used for ./scripts/build_linux.sh
...
...
llm/generate/gen_linux.sh
View file @
8d1995c6
...
...
@@ -57,21 +57,21 @@ init_vars
git_module_setup
apply_patches
init_vars
if
[
-z
"
${
OLLAMA_SKIP_STATIC_GENERATE
}
"
-o
"
${
OLLAMA_CPU_TARGET
}
"
=
"static"
]
;
then
# Builds by default, allows skipping, forces build if OLLAMA_CPU_TARGET="static"
# Enables optimized Dockerfile builds using a blanket skip and targeted overrides
# Static build for linking into the Go binary
init_vars
CMAKE_TARGETS
=
"--target llama --target ggml"
CMAKE_DEFS
=
"-DBUILD_SHARED_LIBS=off -DLLAMA_NATIVE=off -DLLAMA_AVX=off -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/linux/
${
ARCH
}
_static"
echo
"Building static library"
build
fi
init_vars
if
[
-z
"
${
OLLAMA_SKIP_CPU_GENERATE
}
"
]
;
then
if
[
-z
"
${
OLLAMA_CPU_TARGET
}
"
-o
"
${
OLLAMA_CPU_TARGET
}
"
=
"static"
]
;
then
# Static build for linking into the Go binary
init_vars
CMAKE_TARGETS
=
"--target llama --target ggml"
CMAKE_DEFS
=
"-DBUILD_SHARED_LIBS=off -DLLAMA_NATIVE=off -DLLAMA_AVX=off -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off
${
CMAKE_DEFS
}
"
BUILD_DIR
=
"../build/linux/
${
ARCH
}
_static"
echo
"Building static library"
build
fi
# Users building from source can tune the exact flags we pass to cmake for configuring
# llama.cpp, and we'll build only 1 CPU variant in that case as the default.
if
[
-n
"
${
OLLAMA_CUSTOM_CPU_DEFS
}
"
]
;
then
...
...
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