Browse Source
Split rocm back out of bundle (#6432 )
We're over budget for github's maximum release artifact size with rocm + 2 cuda
versions. This splits rocm back out as a discrete artifact, but keeps the layout so it can
be extracted into the same location as the main bundle.
jyan/paligemma
v0.3.7-rc5
Daniel Hiltgen
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with
16 additions and
3 deletions
.github/workflows/release.yaml
Dockerfile
llm/generate/gen_linux.sh
scripts/build_linux.sh
scripts/install.sh
@ -475,6 +475,7 @@ jobs:
(cd dist; find . -type f | xargs sha256sum > ../sha256sum.txt)
mv sha256sum.txt dist/
mv dist/linux-???64 .
mv dist/linux-amd64-rocm .
cat dist/sha256sum.txt
- name : Create or update Release
run : |
@ -95,8 +95,8 @@ ARG AMDGPU_TARGETS
ENV GOARCH amd64
RUN --mount= type = cache,target= /root/.ccache \
OLLAMA_SKIP_STATIC_GENERATE = 1 OLLAMA_SKIP_CPU_GENERATE = 1 bash gen_linux.sh
RUN mkdir -p ../../dist/linux-amd64/lib/ollama && \
( cd /opt/rocm/lib && tar cf - rocblas/library) | ( cd ../../dist/linux-amd64/lib/ollama && tar xf - )
RUN mkdir -p ../../dist/linux-amd64-rocm /lib/ollama && \
( cd /opt/rocm/lib && tar cf - rocblas/library) | ( cd ../../dist/linux-amd64-rocm /lib/ollama && tar xf - )
FROM --platform=linux/amd64 centos:7 AS cpu-builder-amd64
ARG CMAKE_VERSION
@ -260,7 +260,8 @@ if [ -z "${OLLAMA_SKIP_ROCM_GENERATE}" -a -d "${ROCM_PATH}" ]; then
echo "Building custom ROCM GPU"
fi
BUILD_DIR = " ../build/linux/ ${ ARCH } /rocm ${ ROCM_VARIANT } "
ROCM_DIST_DIR = " ${ DIST_BASE } /lib/ollama "
# ROCm dependencies are too large to fit into a unified bundle
ROCM_DIST_DIR = " ${ DIST_BASE } /../linux- ${ GOARCH } -rocm/lib/ollama "
# TODO figure out how to disable runpath (rpath)
# export CMAKE_HIP_FLAGS="-fno-rtlib-add-rpath" # doesn't work
export LLAMA_SERVER_LDFLAGS = " -L ${ ROCM_PATH } /lib -L/opt/amdgpu/lib/x86_64-linux-gnu/ -lhipblas -lrocblas -lamdhip64 -lrocsolver -lamd_comgr -lhsa-runtime64 -lrocsparse -ldrm -ldrm_amdgpu "
@ -24,8 +24,14 @@ for TARGETARCH in ${BUILD_ARCH}; do
docker create --platform linux/$TARGETARCH --name builder-$TARGETARCH builder:$TARGETARCH
rm -rf ./dist/linux-$TARGETARCH
docker cp builder-$TARGETARCH :/go/src/github.com/ollama/ollama/dist/linux-$TARGETARCH ./dist
if echo ${ TARGETARCH } | grep "amd64" > /dev/null; then
docker cp builder-$TARGETARCH :/go/src/github.com/ollama/ollama/dist/linux-$TARGETARCH -rocm ./dist
fi
docker rm builder-$TARGETARCH
echo "Compressing final linux bundle..."
rm -f ./dist/ollama-linux-$TARGETARCH .tgz
( cd dist/linux-$TARGETARCH && tar cf - . | ${ GZIP } --best > ../ollama-linux-$TARGETARCH .tgz )
if [ -d dist/linux-$TARGETARCH -rocm ] ; then
( cd dist/linux-$TARGETARCH -rocm && tar cf - . | ${ GZIP } --best > ../ollama-linux-$TARGETARCH -rocm.tgz )
fi
done
@ -199,6 +199,11 @@ fi
if check_gpu lspci amdgpu || check_gpu lshw amdgpu; then
if [ $BUNDLE -ne 0 ] ; then
status " Downloading Linux ROCm ${ ARCH } bundle "
curl --fail --show-error --location --progress-bar \
" https://ollama.com/download/ollama-linux- ${ ARCH } -rocm.tgz ${ VER_PARAM } " | \
$SUDO tar -xzf - -C " $OLLAMA_INSTALL_DIR "
install_success
status "AMD GPU ready."
exit 0