-
Notifications
You must be signed in to change notification settings - Fork 5
Troubleshooting
Symptom: hydra proxy status shows 0 rounds, proxy logs show "Draft failed, falling back to target".
Common causes:
-
Wrong Ollama model name: Ollama uses colons (
qwen3:8b), not dashes (qwen3-8b). A wrong name returns 404 with"model not found"in the response body. -
Draft server unreachable: Check the URL in your config. Try
curl <draft-url>/api/generate -d '{"model":"qwen3:8b","prompt":"test","raw":true,"stream":false}'manually. -
Ollama thinking mode: Qwen3 models on Ollama have thinking enabled by default. The proxy uses
raw: trueto bypass this. If you're using the/v1/completionsendpoint directly, text may be empty because all tokens go to reasoning.
Fix: Delete stale PID file:
rm ~/.hydra/proxy.pidCause: The chat template is model-family specific. The default Qwen3 template (<|im_start|>) will produce garbage or empty output if the target model is from a different family (e.g., GLM, Llama). Use /v1/completions with raw prompts for cross-family setups, or ensure both draft and target are the same family.
Possible fixes:
- Use same-family models (Qwen3-8B → Qwen3-72B, not Qwen3 → GLM)
- Reduce
max_draft_tokens— shorter drafts have higher acceptance rates - For factual/deterministic prompts, acceptance is naturally higher than creative ones
Symptom: hydra status shows workers as down.
Checks:
- Is
rpc-serveractually running on the worker machine? - Is the firewall allowing traffic on the RPC ports (50052, 50053)?
- Windows: Add inbound rules in Windows Defender Firewall
- Can you ping the worker from the coordinator?
ping 192.168.86.36 - Can you TCP connect?
nc -zv 192.168.86.36 50052
Windows firewall fix:
netsh advfirewall firewall add rule name="Hydra RPC 50052" dir=in action=allow protocol=tcp localport=50052
netsh advfirewall firewall add rule name="Hydra RPC 50053" dir=in action=allow protocol=tcp localport=50053Symptom: hydra start succeeds but API calls hang or return errors.
Checks:
- Is the model file path correct and accessible on the coordinator?
- Does the coordinator have enough RAM to mmap the model?
- Check llama-server logs — Hydra captures stdout/stderr from the process
- Try running llama-server manually to see output:
llama-server -m /models/model.gguf -ngl 999 --rpc 192.168.86.36:50052
Cause: Gigabit Ethernet bottleneck.
Mitigations:
- Upgrade to 2.5GbE USB-C adapters (~$25 each) — see Network Optimization
- Reduce remote GPU share — put more layers on the coordinator
- Reduce context size to lower memory bandwidth requirements
- For prompt processing, expect higher network overhead than generation
Symptom: hydra start says coordinator is already running.
Fix: The PID file at ~/.hydra/coordinator.pid may be stale. Run hydra stop first, or if the process is truly dead, delete the PID file manually:
rm ~/.hydra/coordinator.pidSymptom: rpc-server crashes or coordinator fails to allocate layers.
Cause: Other processes (e.g., existing llama-server for GLM) are using GPU memory.
Fix: Either stop the competing process or adjust tensor split to give less work to that GPU. You can override in cluster.yaml by reducing vram_gb for that GPU.
Symptom: Coordinator connects to workers but produces garbage output.
Checks:
- Both coordinator and worker must use the same version of llama.cpp
- Rebuild both from the same commit
- The RPC protocol is not versioned — mismatched builds will fail silently
Common issues:
- Wrong
AMDGPU_TARGETS: Userocminfoto find your GPU's GFX ID. 7900 XTX =gfx1100. - Missing ROCm dev packages: Install
rocm-devmeta-package - CMake can't find HIP: Set
CMAKE_PREFIX_PATH=/opt/rocm