From 32d264ccdaf9172e2c5793dfb792f483c1a5d5b3 Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 26 Sep 2026 17:13:05 -0700 Subject: [PATCH] frank-primary: size the hot expert stack explicitly (LUCE_EXPERT_BUDGET_MB) The runtime's auto budget is gpu_free - kv - warm - safety (22.35 GiB), which leaves only the 0.50 GiB safety margin free while the fit check demands the 1.50 GiB discrete headroom, so auto-sizing refuses on any 32 GiB target: "device 0 memory: 30.97 of 31.86 GiB used, 0.89 GiB free (headroom 1.50 GiB): does not fit". 18000 MB is the value DS41.md measured its R9700 rows at: ~1500 experts resident, ~5 GiB free on device 0. --- dankserver/frank-primary/frank-primary-entrypoint.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dankserver/frank-primary/frank-primary-entrypoint.sh b/dankserver/frank-primary/frank-primary-entrypoint.sh index 2ad4b49..1f1547e 100755 --- a/dankserver/frank-primary/frank-primary-entrypoint.sh +++ b/dankserver/frank-primary/frank-primary-entrypoint.sh @@ -56,6 +56,15 @@ BIN="${FRANK_PRIMARY_BIN:-/opt/lucebox-hub/server/build/luce_server}" # The second R9700 holds the streamed-expert slot cache and computes them. export LUCE_EXPERT_STREAM_DEVICE="${LUCE_EXPERT_STREAM_DEVICE:-1}" +# The hot expert stack must be sized EXPLICITLY. Left alone the runtime +# budgets gpu_free - kv - warm - safety (22.35 GiB here), which leaves only +# its 0.50 GiB safety margin free while the fit check then demands the 1.50 +# GiB discrete headroom — its own auto-sizing can never pass on a 32 GiB +# target: "device 0 memory: 30.97 of 31.86 GiB used, 0.89 GiB free (headroom +# 1.50 GiB): does not fit". 18000 MB is the value DS41.md measured its R9700 +# rows at; it puts ~1500 experts (37/layer) resident and leaves device 0 +# ~5 GiB free, so the fit check passes with room for transient buffers. +export LUCE_EXPERT_BUDGET_MB="${LUCE_EXPERT_BUDGET_MB:-18000}" # rocBLAS/BLAS dispatch and queue depth, as the fleet's other ROCm servers. export ROCBLAS_USE_HIPBLASLT="${ROCBLAS_USE_HIPBLASLT:-0}" export GPU_MAX_HW_QUEUES="${GPU_MAX_HW_QUEUES:-8}"