Files
serverAppConfigs/scripts/serve-pp-worker.sh
T
Frank 9544c36afc PP kit + Strix research: Qwen3.8-27B RPC split (Dankclaw head / Dankserver worker)
- scripts: serve-pp-head/worker, envs, systemd units, pp-test.sh orchestrator, pp-bench.py
- head design verified in b10433 source + live 4B smoke test:
  * no --device with --rpc (RPC device silently dropped otherwise)
  * default device selection = [RPC0, ROCm0] (HIP registers before Vulkan)
  * default split proportional to reported free mem = ~20/80 here, pin 1,1
  * -dio required for large model over RPC
- docs: qwen3.8-strix-optimizations (ranked no-quant-downgrade levers,
  quant landscape, 2026-08-16 test matrix), PP deployment runbook,
  index updates, Dankclaw Improvements corrections (Vulkan0, no power_profile sysfs)
- worker built at 9b05354ec in /home/dank/llama-cpp-rpc worktree (CUDA+RPC)
- second head build build-vulkan-rpc (HIP off) for backend A/B
2026-08-16 05:40:27 -07:00

48 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Serve the Qwen3.8-27B pipeline-parallel RPC worker on Dankserver.
#
# Runs ggml-rpc-server from the b10433 CUDA+RPC build and exposes the RTX
# 3090 as a remote device for the head on Dankclaw.
#
# Tunables come from frank-pp-worker.env in this directory unless the
# FRANK_PP_WORKER_ENV_FILE environment variable overrides that path.
#
# Security note (upstream): the RPC server is "fragile and insecure". No
# authentication, no encryption. Keep it on the trusted LAN only.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="${FRANK_PP_WORKER_ENV_FILE:-$SCRIPT_DIR/frank-pp-worker.env}"
if [[ -f "$ENV_FILE" ]]; then
set -a
# shellcheck disable=SC1090
source "$ENV_FILE"
set +a
fi
# --- defaults (used when the env file does not set them) -------------------
: "${RPC_BIND:=192.168.0.235}"
: "${RPC_PORT:=50052}"
: "${DEVICE:=CUDA0}"
: "${THREADS:=7}"
: "${CACHE:=1}"
: "${WORKER_BIN:=/home/dank/llama-cpp-rpc/build/bin/ggml-rpc-server}"
if [[ ! -x "$WORKER_BIN" ]]; then
echo "missing worker binary: $WORKER_BIN" >&2
echo "Build it: cd /home/dank/llama-cpp-rpc && cmake -B build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DGGML_CUDA_FA_ALL_QUANTS=ON -DGGML_RPC=ON -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release -- -j 8" >&2
exit 1
fi
ARGS=()
if [[ "${CACHE}" == "1" ]]; then
ARGS+=(--cache)
fi
exec "$WORKER_BIN" \
--host "$RPC_BIND" \
--port "$RPC_PORT" \
--device "$DEVICE" \
--threads "$THREADS" \
"${ARGS[@]}"