openPangu-R-7B-Diffusion-Q4KM / build_llamacpp_pangu_diffusion.sh
HelloSun's picture
Upload build_llamacpp_pangu_diffusion.sh with huggingface_hub
0039a57 verified
Raw History Blame Contribute Delete
1.49 kB
#!/usr/bin/env bash
#
# One-click build of llama.cpp with openPangu-R-7B-Diffusion support.
#
# ./build_llamacpp_pangu_diffusion.sh
#
# It will:
# 1. clone llama.cpp at the pinned release tag
# 2. download and apply the openPangu-R-Diffusion patch
# 3. build llama-diffusion-cli / llama-cli / llama-quantize
#
# Requirements: git, cmake >= 3.14, a C/C++ toolchain, and (optionally) an NVIDIA GPU.
#
set -euo pipefail
LLAMA_TAG="b11719"
PATCH_URL="https://huggingface.co/HelloSun/openPangu-R-7B-Diffusion-Q4KM/resolve/main/pangu-diffusion-llamacpp.patch"
WORKDIR="${WORKDIR:-$PWD/pangu-diffusion-build}"
mkdir -p "$WORKDIR"
cd "$WORKDIR"
if [ ! -d llama.cpp ]; then
echo ">>> cloning llama.cpp ($LLAMA_TAG) ..."
git clone --depth 1 --branch "$LLAMA_TAG" https://github.com/ggml-org/llama.cpp.git
fi
cd llama.cpp
git checkout -- . 2>/dev/null || true
echo ">>> downloading patch ..."
curl -L --fail -o pangu-diffusion-llamacpp.patch "$PATCH_URL"
echo ">>> applying patch ..."
git apply pangu-diffusion-llamacpp.patch
echo ">>> configuring ..."
if command -v nvcc >/dev/null 2>&1; then
cmake -B build -DGGML_CUDA=ON -DLLAMA_CURL=OFF
else
cmake -B build -DGGML_NATIVE=ON -DLLAMA_CURL=OFF
fi
echo ">>> building ..."
cmake --build build --config Release -j"$(nproc)" --target llama-diffusion-cli llama-cli llama-quantize
echo
echo ">>> done. binaries:"
echo " $WORKDIR/llama.cpp/build/bin/llama-diffusion-cli"
echo " $WORKDIR/llama.cpp/build/bin/llama-cli"