From b9de2a4167d5757a392b05c34c290a3d4907b7fd Mon Sep 17 00:00:00 2001 From: type-two Date: Fri, 17 Jul 2026 22:24:36 +1000 Subject: [PATCH] docs: register the M1 Max / M4 mini / M1 mini nodes in CLUSTER + HARDWARE These three were onboarded on 2026-07-17 and are live in nodes.json, but the docs still described a three-machine fleet (M3 Ultra / M1 Ultra / M4 Pro). Anyone reading CLUSTER.md to decide where a job should land was working from a stale map. Records the M1 Max as a second full gen node (flux_local, hunyuan3d_mlx; NOT trellis - M1 bf16), and the M4 mini / M1 mini as light bg_remove + cpu helpers. Also notes the M1 Max login split: admin is `m1max`, but the checkout and farm run as `studio`, which needs /opt/homebrew/bin on its login PATH. Co-Authored-By: Claude Opus 4.8 --- CLUSTER.md | 4 ++++ HARDWARE.md | 3 +++ 2 files changed, 7 insertions(+) diff --git a/CLUSTER.md b/CLUSTER.md index 53b7cfe..76c321b 100644 --- a/CLUSTER.md +++ b/CLUSTER.md @@ -13,8 +13,12 @@ The order of preference for any task: | **M3 Ultra** (primary) | `m3ultra.local` · 100.89.131.57 | 256 GB | Runs the server + the central queue on :8777. Handles everything, especially the heavy 3D models (`hunyuan3d_mlx`, `trellis_mac`) and FLUX. | | **M1 Ultra** (worker) | `ultra.local` · 100.91.239.7 | 128 GB | GPU worker in the pool **and** its own standalone instance. MLX-native — the right node for `hunyuan3d_mlx` (trellis's torch-MPS is unverified here). Also FLUX, `sf3d`, `bg_remove_local`. | | **M4 Pro** (helper) | `m4pro.local` · 100.69.21.128 | 24 GB | Helper for light gpu ops (`bg_remove_local`) + **cpu ops** (`ffmpeg_frames`, `ffprobe`; 2 slots) + a standalone **Ollama LLM** (`qwen2.5:7b` at `http://100.69.21.128:11434`). **Not** the big 3D/diffusion models — too little RAM. | +| **M1 Max** (studio) | `studio@100.92.78.24` | 32 GB | Second full gen node (added 2026-07-17). `flux_local` (Klein 4B, ~38s/image), `hunyuan3d_mlx` (fp16, ~2× M3 time), `bg_remove_local`, `ffmpeg`/`ffprobe`. **Not** trellis (M1 bf16). Shared with audio work (stupendo) → treat as overflow, not latency-critical. | +| **M4 mini** | `m4mini@100.124.220.31` | 16 GB | Light helper (added 2026-07-17): `bg_remove_local` + cpu ops (`ffmpeg_frames`, `ffprobe`; 2 slots). Also the always-on godcheck node. Too small for FLUX/fp16-hunyuan. | +| **M1 mini** | `mini@100.79.229.50` | 8 GB | Light node (added 2026-07-17): `bg_remove_local` + `net`-class overflow. Baseline/clean-room test box. | Git origin (shared by all nodes): `ssh://git@100.71.119.27:222/monster/modelbeast.git` +Login note: the M1 Max's admin user is `m1max` (has Homebrew/ffmpeg); the MODELBEAST checkout + farm run under the `studio` user, which needs `/opt/homebrew/bin` on its login PATH (already added to `~/.bash_profile`/`~/.zprofile`). ## The central queue (how tasks route to the right machine) diff --git a/HARDWARE.md b/HARDWARE.md index b9aaa9c..c5171aa 100644 --- a/HARDWARE.md +++ b/HARDWARE.md @@ -51,7 +51,10 @@ Which Apple Silicon Mac can run which operator, by **unified memory (RAM)**. Num |---|---|---|---| | **M3 Ultra** | 256 GB | the flex | everything + primary/queue | | **M1 Ultra** | 128 GB | multi-model | `hunyuan3d_mlx` (MLX-native), FLUX, sf3d, RMBG, cpu ops — *not* trellis (bf16 unverified) | +| **M1 Max** (studio) | 32 GB | second gen node | `flux_local` (Klein 4B), `hunyuan3d_mlx` (fp16), `bg_remove_local`, `ffmpeg`/`ffprobe` — *not* trellis (M1 bf16); ~2× M3 time. Shared audio box | | **M4 Pro** | 24 GB | light helper | `bg_remove_local`, `ffmpeg_frames`/`ffprobe`, Ollama 7B — too small for the 18–28 GB gen models | +| **M4 mini** | 16 GB | light helper | `bg_remove_local` + cpu ops — too small for FLUX/fp16-hunyuan/trellis | +| **M1 mini** | 8 GB | cloud+light node | `bg_remove_local`, `ffmpeg`/`ffprobe`-class, `net` ops — the cheapest-useful tier | ## Buying / sizing rules of thumb