simlock
A control plane so parallel coding agents stop fighting over the same simulator.
Community recipes for serving LLMs on RTX 3090/4090/5090 CUDA gpus. Multi-engine (vLLM, llama.cpp, ik_llama) and model-agnostic. Currently shipping Qwen3.6-27B Qwen3.6 35B Gemma 4 26B Gemma 4 31B conf
Developer toolsPython · ShellGitHub @noonghunnaSelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
Community recipes for serving LLMs on RTX 3090/4090/5090 CUDA gpus. Multi-engine (vLLM, llama.cpp, ik_llama) and model-agnostic. Currently shipping Qwen3.6-27B Qwen3.6 35B Gemma 4 26B Gemma 4 31B configs for 1× and 2× cards.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Recipes for serving LLMs locally on RTX 3090s. Multi-engine (vLLM, llama.cpp, ik_llama), multi-model, model-agnostic by design.
If you have one or two RTX 3090s and want to run modern LLMs at home, in a homelab, or as a dev backend — this repo collects the working configs, patches, and benchmarks.Read the full README ↗Recipes for serving LLMs locally on RTX 3090s (and other NVIDIA cards): working compose configs,
patches and measured numbers, across vLLM, SGLang, llama.cpp (mainline, our moe-cache fork and PrismML's
ternary build), ExLlamaV3, and engines built for one model: Strata, Project Maya, bucko-vllm and
HyperQwen (docs/engines/). Pick a model for your card count, launch it with
one command, and get an OpenAI-compatible API.
📣 The newest slugs, numbers and caveats are posted in Announcements first. The repo docs catch up afterwards, so when a page here and an announcement disagree, the announcement is newer. The card pages below link each slug to its announcement thread.
| You have / want | Start here |
|---|---|
| 1× RTX 3090 | docs/SINGLE_CARD.md: every single-card slug, what to pick, what to watch for |
| 2× RTX 3090 | docs/DUAL_CARD.md: every dual-card slug, what to pick, what to watch for |
| 3 or more GPUs | docs/MULTI_CARD.md: the 4- and 8-card slugs, several copies vs one split |
| New here | docs/GETTING_STARTED.md: clone to first reply in about five minutes |
| New to local AI | docs/LOCAL_AI_PRIMER.md: hardware, engines, model sizes and quants in plain English |
| Your own model | docs/BRING_YOUR_OWN.md (serve and validate it) · docs/PULL.md (check any Hugging Face repo against your VRAM first) |
| To measure a slug on your rig | docs/RUN_EVALS.md: quality and health checks, and how to post the results |
| Something's broken | docs/TROUBLESHOOTING.md and the FAQ |
| Self-host vs cloud APIs | docs/COMPARISONS.md |
Every measured result lives in BENCHMARKS.md. Terms like TPS, KV cache and MTP are
explained in the GLOSSARY; engines in
INFERENCE_ENGINES.md; quant names in
QUANTIZATION.md. The full docs index is docs/README.md.
Needs Linux (on Windows, set up WSL2 first), Docker with the NVIDIA Container Toolkit, and room on disk for the weights.
git clone https://github.com/noonghunna/club-3090.git && cd club-3090
bash scripts/setup.sh # pick a model; downloads and SHA-verifies the weights
bash scripts/launch.sh # pick a config for your GPUs; boots it and runs a quick check
# the launcher prints a test request for what you booted; for the Qwen3.6-27B dual default:
curl -sf http://localhost:8010/v1/chat/completions -H "Content-Type: application/json" \
-d '{"model":"qwen3.6-27b","messages":[{"role":"user","content":"Capital of France?"}],"max_tokens":200}'
bash scripts/switch.sh --list # every config this machine can run (--all adds retired ones)
bash scripts/switch.sh <slug> # switch to another one (🧪 slugs need --force)
bash scripts/update.sh # later: pull the latest stack and re-run setup
bash scripts/settings.sh show # your saved settings (model dir, default pins, …) and where each comes from
Settings you save (the weights dir, your default config) live in ~/.config/club-3090/, shared by every
checkout: where settings live.
Upgrading from before v0.12.0? What moved, and how to move yours.
Prefer a screen to the CLI? c3 is a terminal cockpit for the same flow: browse the catalog,
serve with one key, watch GPUs and containers, run health checks. Install it with
uv pip install -e tools/serve-cockpit and run c3; details in
tools/serve-cockpit/.
The configs are hardware-class aware, and contributors have run them on 4090s, 5090s, A-series
cards and more: Can I use a 4090? ·
Can I use a 5090? · HARDWARE.md (card
classes, power limits, NVLink, PCIe).
Club 3090 AI Studio adds open-weight image, video and audio
generation alongside a chat model, driven from Open WebUI. The image bundle is one command:
bash scripts/setup-image-studio.sh.
models/<model>/<engine>/compose/<topology>/<quant>/<serving>.yml one compose per slug
models/<model>/<engine>/patches/ vendored fixes for that engine
scripts/ setup, launch, switch, verify, bench, quality, report, update
docs/ the guides linked above
tools/ the c3 cockpit, kv-calc, chart and docs generators
BENCHMARKS.md every measured row · CHANGELOG.md what changed, dated
Engines and hardware are documented once, under docs/; everything specific to a model (quants,
quirks, recipes) sits under models/<name>/.
Projects in the club-3090 ecosystem maintained outside this repo:
:8008/admin, OpenAI-compatible reverse proxy on :8009 with multi-backend routing, GPU-aware multi-instance orchestration, fan/power controls, audit logs, and per-user API auth/quota. Headless Arch + Debian/Ubuntu friendly. Started 2026-05-05, AGPL-3.0; see discussion #108 for the announcement and current WIP status. Not yet officially adopted — listed here as a community pointer until it converges on a stable surface area.If you've built something that integrates with club-3090 and you'd like a pointer added here, open a discussion.
The stack stands on a lot of shoulders:
mtp.fc (the model this whole stack runs on)Apache 2.0. Do what you want with it. If you get better numbers on your rig — open an issue. If you add a new model with working configs — open a PR.