Files
club-3090/docs
noonghunnaandClaude Opus 4.8 70c87a139b feat(cluster): scripts/cluster.sh — GPU-cluster management CLI (#610 Phase A′)
The CLI seam the c3 cluster UX (Phase C) will consume, and a full headless/
SSH cluster capability on its own. A "cluster" = a named model on a chosen
GPU set + port (an estate instance).

- estate_cli.py gains create / list / status / rm verbs (D2: NEW verbs go
  IN estate_cli.py, which owns the schema + validate_estate + boot/down —
  ONE validation path shared with hand-written estate files and the wizard).
  up/down reuse `boot`/`down --only <name>`.
- create runs the D1 fit-vs-set logic (#610 addendum 3): kv-calc --card is
  single-card + registry TP, so count != compose TP is a HARD REJECT, a
  heterogeneous set is estimated against its min-VRAM card (+ note), and the
  whole set is re-validated (validate_estate: GPU collision, port collision,
  per-instance fits) before append. GPU indices stay index-based in the
  estate file; UUIDs resolve at boot (Phase A).
- status carries the {requested, actual, placement} verdict per cluster
  (the shape the c3 badge reads); list/status take --json.
- scripts/cluster.sh: the ergonomic bash front (create/list/status/up/down/
  rm), a thin wrapper over estate_cli.py.
- test-cluster-cli.sh (NEW): full lifecycle hardware-free via CLUB3090_FAKE_
  GPUS — create/D1-reject/collision-reject/list/status/rm.

LIVE-VERIFIED (2x3090): create chat (fit-clean ~20.2 GiB) → up → estate boot
→ "✓ placement verified" → status "serving ✓ placement=ok", GPU0 idle /
GPU1 loaded → down → rm. D1 count!=TP + GPU-collision rejects confirmed.

Part of #610 (Phase A′). Next: Phase C (c3 cluster view + wizard).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01EfF565T9eSLaqGzidyJ1Pm
2026-07-07 01:10:52 +00:00
..

club-3090 docs index

Two tracks. Pick the one that matches what you're doing.

  • User track — "I have GPUs and a model; how do I serve it?"
  • Contributor / maintainer track — "I'm working on the v0.8.0 pull pipeline, patches, or the calibration loop."

Every link below resolves to a file in this repo.


User track

Start here if you want to run a model.

Doc What it is
GETTING_STARTED.md Start here — 5-minute clone-to-curl path. No decisions, no menus.
SINGLE_CARD.md 1× RTX 3090 — workload → curated config → quick start.
DUAL_CARD.md 2× RTX 3090 (PCIe / NVLink auto-detected) — workload → config → quick start.
MULTI_CARD.md 3+ GPUs — TP scaling math, derivation from dual.yml, valid TP values.
PULL.md Any HF safetensors repo — evaluate against the KV math, honest about confidence.
BRING_YOUR_OWN.md Serve + tune + validate your own model/compose (any engine, single or dual) without touching the catalog.
HARDWARE.md Card-class questions — 4090/5090, power caps, NVLink, laptop EC power.
PCIE_P2P.md PCIe-only multi-GPU — read your topo -m, and optionally enable P2P over PCIe without NVLink.
GLOSSARY.md TPS / KV / MTP / TP and the rest of the vocabulary.
FAQ.md Common setup and operational questions.
COMPARISONS.md Self-host vs cloud APIs — cost crossover and when each wins.
EXAMPLES.md Worked end-to-end usage examples.
ai-studio/ Club 3090 AI Studio — chat-driven, all-modality creative studio (text · image · video · audio) on 2× 3090. Start here for the architecture + the full 8-lane matrix.
ai-studio/image.md Image lanes — HiDream-O1 (top-quality/photoreal) · Ideogram-4 (design/logo/text) · Chroma (uncensored).
ai-studio/video.md Video — LTX-2.3 (video+audio) + Sulphur (uncensored), text/image→video, 60 s+ chaining.
ai-studio/audio.md Audio — Step-Audio-EditX (voice clone+edit) · Kokoro (narration) · ACE-Step (music) · Stable Audio (SFX).

Contributor / maintainer track

The v0.8.0 pull pipeline (in pipeline order)

A model slug flows through these stages. Read them in order to understand the whole.

Stage Doc What it owns
[D] COMPOSE_GENERATOR.md The #141 compose generator — the substrate that owns the arch→patches matrix.
Gate PULL_GATE.md scripts/pull.sh — the locked 6-stratum abort taxonomy, [C0]/[C2a]/[B]/[C1] gates, §4.1 confidence×verdict table.
[E] PULL_EMIT_DERIVED.md Download → boot → smoke for a download-eligible derived model; writes the §6 capture artifacts.
[F] LOOP.md The calibration loop — reads the capture bundle, classifies, runs the inbound-trust pipeline, dedups failures into the tracker.

Patch & model contribution

Doc What it is
PATCH_POLICY.md When/how a patch ships, the local-overlay vs upstream rules.
PATCH_ATTRIBUTION.md The Phase-A patch-attribution matrix — arch → engine-pin → required patches.
ADDING_MODELS.md How a new model gets added to the curated catalog.
KV_MATH.md The KV-cache math the [B] fit verdict is computed from.

Stack reference & ops

Doc What it is
ARCHITECTURE.md Repo/stack architecture overview.
UPSTREAM.md Upstream PR / issue tracker for this stack.
NIGHTLY_BUMP_RUNBOOK.md Procedure for bumping the vLLM nightly pin.
CONTAINER_RUNTIMES.md Docker / container runtime notes.

Reference matrices & deep dives

These are cross-cutting references both tracks reach for.

Doc What it is
scripts/switch.sh --list (runtime command, not a doc) The authoritative compose × slug matrix. Registry-derived from scripts/lib/profiles/compose_registry.py, so it's always current — every launchable slug with its topology, model, engine, KV format, and max ctx. Run this rather than trusting any hand-maintained table; the static lists in the per-topology docs are illustrative, this is the source of truth.
engines/ Per-engine deep dives — vLLM, llama.cpp, SGLang.
INFERENCE_ENGINES.md Engine picker — which engine for which workload, and structural gaps.
CLIFFS.md The accumulated-context / prefill failure modes (Cliff 2, Cliff 2b) and how to detect them.
QUANTIZATION.md Quant field guide — GGUF ladder, the vLLM/safetensors schemes, KLD-by-fidelity (§4a), and the fast/balanced/max tier trade-space (§4b). The conceptual home the dtype/kernel matrices support.
DTYPE_MATRIX.md Supported dtype × model × engine matrix.
KERNEL_MATRIX.md Quant-kernel availability and alignment constraints.
QUALITY_TEST.md The quality-test harness and what it measures.
RESULTS_CARD.md The standard 3-panel format (Serving · Quality · Takeaways) for sharing a config's measured results.
ANNOUNCEMENT_TEMPLATE.md The "we shipped X" Announcements-post skeleton that wraps a Results Card (intro+credits · Results Card · getting it · run it · credits).
STRUCTURED_COT.md The bounded-thinking / structured-CoT compose path.
TQ3_MTP_GENESIS.md TQ3 KV × MTP × Genesis-patch results and config.