kb: retire pi-installation association (OMP is the primary harness)
Purge live-state claims that ~/.pi is our harness; keep general pi documentation in omp-docs/ and dated historical records. - README.md: single config source; Legacy Notes reworded - AGENTS.md: drop 'like ~/.pi did' framing - APPEND_SYSTEM.md: okf-spec -> omp-docs/references/okf-spec.md - dotfiles/zsh/.zshrc: systemprompt alias -> APPEND_SYSTEM.md - managed skill llm-fleet-model-swap + model_config_sync skill: single-source models.yml; validation script YAML-only - memories (MEMORY.md, memory_summary.md, learned.md): single source - omp-docs: .okf root -> ~/.omp/omp-docs; de-live pi-era claims in pi/index.md, pi-web-access.md, engineering/agents-files.md
This commit is contained in:
1 parent
eebcfbf5ac
commit
c3f30bdbd0
23 files changed
+81
-76
No files matched your search
@@ -1,34 +1,26 @@
|
||||
## System & Hardware Topology
|
||||
- **dankserver**: Dual AMD R9700 GPUs.
|
||||
- *Issue*: RCCL fails on chipset-attached PCIe (PCIEX16_2) because lanes lack required atomic-op routing.
|
||||
- *Fix*: Use a $30 M.2→PCIe x4 riser to move card #2 to CPU-attached M.2_2 slot.
|
||||
- **dankclaw**: RTX 3090 (PCIe 4.0 x4 dock) + AMD Strix Halo (gfx1151, Vulkan).
|
||||
- *Kernel*: Ubuntu 24.04, `amd_iommu=off`.
|
||||
## System Topology & Hardware
|
||||
- **dankclaw**: AMD Strix Halo APU (gfx1151) + RTX 3090 in M.2 dock (PCIe x4, ~29 GB/s sequential). Combined GPU budget ~88 GiB. OS: Ubuntu 24.04.
|
||||
- **dankserver**: ASUS TUF GAMING B650-E WIFI. Dual AMD R9700 GPUs.
|
||||
- **RCCL Constraint**: Chipset-attached PCIe lanes fail RCCL atomics (broadcast/all-reduce/send-recv). Fix: Move card #2 to CPU-attached M.2_2 slot via PCIe x4 riser to restore atomic-op routing.
|
||||
|
||||
## LLM & Software Stack
|
||||
- **vLLM / ROCm**: Version 0.27.1 / torch 2.11.0 / ROCm 7.14.
|
||||
- *Constraint*: HIP runtime reads bare `TEMP` and `HOST` env vars; naming these explicitly can cause collisions.
|
||||
- *Constraint*: `GGML_CUDA_FA_ALL_QUANTS` required for flash-attention with quantized KV.
|
||||
- **llama.cpp (ik_llama.cpp)**:
|
||||
- *Model*: Qwen3.8-Flash-Next-Uncensored-i1-GGUF (i1-Q4_K_M).
|
||||
- *Performance*: ~3.8-4.0 t/s decode (bottlenecked by PCIe x4 sync/graph splits), ~192 t/s prefill.
|
||||
- *Note*: 30 t/s decode is unreachable via current PCIe x4/split-mode setup; requires mainline PR #28901 for capture-safe graphs.
|
||||
## LLM Model Portfolio
|
||||
- **frank-large (halogen)**: Qwen3.8-27B-ROCmFPX-Q8_0. Runs on Strix Halo (gfx1151).
|
||||
- *KV Pool*: 524288 positions (~14.4 GiB). Admission is pool-bound, not slot-bound (caps at 3 simultaneous full-length requests).
|
||||
- *Behavior*: Defaults to greedy. Stalls (full-CPU, no disk activity, no output) under co-tenancy with pinned trunk are documented behavior, not crashes.
|
||||
- *Constraints*: maxTokens <= 65536. First request after restart may be silent ~45-60s while first-touching KV pool.
|
||||
- **frank-small**: Qwen3.8-27B GSQ-RCO IQ3_S. Runs on RTX 3090 (M.2 dock). Defaults to sampling (temp 1.0, top_k 20, top_p 0.95).
|
||||
- **ik_llamacpp**: mradermacher/Qwen3.8-Flash-Next-Uncensored-i1-GGUF (i1-Q4_K_M).
|
||||
- *Backend*: CUDA (3090) + Vulkan (Strix Halo) split.
|
||||
- *Performance*: ~3.8-4.0 t/s decode, ~192 t/s prefill.
|
||||
- *Bottleneck*: PCIe x4 launch/sync overhead; CUDA graphs currently abort on hc ops (ggml_repeat_4d).
|
||||
|
||||
## Service Management (Quadlet & Podman)
|
||||
- **Persistence**: `restart: unless-stopped` survives crashes, not explicit stops. Every container must have a Quadlet `.container` file for boot-persistence.
|
||||
- **frank-large (HALOGEN)**: Rootless Quadlet. Weights pinned (~68 GiB). KV pool: 524288 positions (~14.4 GiB).
|
||||
- *Stall Behavior*: Multi-minute full-CPU stalls (no disk/output) are documented behavior under co-tenancy with `HALOGEN_FLASH_PIN_TRUNK=1`. Do not restart.
|
||||
- *First-touch*: 45-60s silence after restart as engine first-touches fresh KV pool.
|
||||
- *Constraints*: `maxTokens` <= 65536. Prompt + max_tokens must fit KV pool.
|
||||
- **frank-small**: Defaults to sampling (temp 1.0, top_k 20, top_p 0.95).
|
||||
## Software Infrastructure
|
||||
- **Podman**: Rootless deployment using Quadlet units for boot persistence. Note: `restart: unless-stopped` survives crashes, but not explicit stops (kernel power-off).
|
||||
- **Authentik**: Anubis guard chain. Marreta app connected via ProxyProvider (fixed null flow crash).
|
||||
- **AGENTS.md**: Structured as (1) Active-topology table, (2) Runbook pointers, (3) Key Lessons Learned.
|
||||
|
||||
## Networking & Auth
|
||||
- **Marreta Auth Chain**: Caddy TLS → Anubis (:8923) → Authentik Outpost → Marreta (:8017).
|
||||
- *Fix*: Populated `invalidation_flow`, `authentication_flow`, and `authorization_flow` to prevent Rust outpost serde crashes.
|
||||
- *Probing*: Host-to-listener returns HTTP 000 (Caddy netns); probe inside netns or grep config for internal status.
|
||||
|
||||
## Operational Lessons
|
||||
- **Memory**: `free` command lies about available memory (doesn't account for pinned/reserved weights).
|
||||
- **Skills Discovery**: `omp` scans `~/.omp/agent/skills/`.
|
||||
- **Root-Cause**: PCIe x4 dock provides ~29 GB/s, not 130 GB/s.
|
||||
- **Logs**: Use `podman logs` or `journalctl --user -u` for rootless Quadlets.
|
||||
## Durable Lessons
|
||||
- **ROCm**: Use layer-split-not-tensor; mmap/PLE constraints apply; HIP env collisions (`TEMP`/`HOST`).
|
||||
- **Memory**: `free` command lies about available memory (doesn't account for pinned/reserved weights).
|
||||
- **PCIe**: M.2 x4 dock is ~29 GB/s; do not assume x16 bandwidth.
|
||||
- **Skill Discovery**: `omp` scans `~/.omp/agent/skills/` only. New skills surface on the next session.
|
||||
Reference in new issue
Block a user