Skip to content

openIE-dev/mac-ssi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mac-ssi

mac-ssi

Turn the Macs you already own into one computer.

mac-ssi is a Single System Image for Apple Silicon: it fuses the CPU, GPU, Neural Engine, memory, and storage of every Mac you own into one compute fabric — over Thunderbolt 5, Ethernet, or Wi-Fi. Run any workload across all of them, unchanged.

Download Homebrew Docs License

Website · Quickstart · Examples · API · How it works


What it is

You probably own more Macs than you use at once. A Studio under the desk, a MacBook in the bag, an old iMac on the shelf — each idle most of the time, each capped by its own RAM and core count.

mac-ssi makes them act as one machine. Memory allocations span every node's RAM; compute dispatches to whichever Mac has idle cores, GPU, or Neural Engine; a process appears as a single PID; one virtual filesystem spans all their disks. No distributed-programming model, no code changes — unmodified software just sees a bigger computer.

Get more out of the hardware you already own. The cluster is the computer.

Reference pool: 4 Macs → 608 GB unified RAM, 80 CPU cores, ~200 GPU cores, 80 ANE cores, presented as one.


Run anything across the pool

# Run any binary on the best node — scheduled by free CPU/GPU/ANE/RAM, locality, or energy
ssi run ./render_batch --gpu --min-mem 65536

# Optimize placement for power
ssi run --mode energy ./nightly_job

# See every process across every Mac, as one list
ssi ps

Your job sees aggregate resources — more RAM than any one Mac has, more cores, more GPU. Rendering, simulation, builds, data processing, batch compute, training — anything that's bottlenecked by a single machine gets the whole pool.


One workload example: large-model inference

Distributed AI inference is one thing the fabric makes easy — a model too big for any single Mac runs across the pool behind one OpenAI-compatible endpoint:

ssi serve some-large-model --port 8080      # sharded across the cluster's GPU memory
curl http://localhost:8080/v1/chat/completions -d '{"messages":[...]}'   # plain OpenAI API

It's an application of the fabric, not the point of it. See examples/ for inference, batch compute, and big-memory jobs.


Quickstart

# 1. Install on every Mac you want in the pool
brew install --cask openie-dev/mac-ssi/mac-ssi

# 2. Connect them — Thunderbolt 5 (fastest), Ethernet, or just the same Wi-Fi
# 3. Start the agent on each node — they auto-discover each other (mDNS + SWIM)
ssi up

# 4. See your pool as one machine
ssi status
  mac-ssi — 4 nodes, 608 GB unified · TB5 + Ethernet fabric
  ───────────────────────────────────────────────────────
  NODE          CHIP         RAM     GPU   LINK    STATUS
  studio-01     M3 Ultra     256 GB  ●●●   TB5     ready
  studio-02     M4 Max        36 GB  ●     TB5     ready
  mbp-01        M4 Max       128 GB  ●●    10GbE   ready
  imac-01       M3            24 GB  ●     Wi-Fi   ready
  ───────────────────────────────────────────────────────
  aggregate: 608 GB · 80 cores · ready for any workload

What you can do

Command What it does
ssi run ./workload Run any binary on the best node (or across the pool), scheduled by CPU/GPU/ANE/RAM/locality/energy
ssi ps · kill One process table across every Mac
ssi memory Distributed shared memory — allocate across the pool's combined RAM
ssi gpu · ane Pool and dispatch to GPU / Neural Engine across nodes
ssi fs One virtual filesystem spanning every node's storage
ssi status · nodes · resources · topology See the pool — and the fabric links — as one machine
ssi serve <model> (example workload) distributed inference → one OpenAI endpoint

Full reference: API & CLI docs →


How it works

Making separate machines act as one is bound by the interconnect. Apple's on-die UltraFusion runs at 2.5 TB/s; the link between Macs is far slower — 10 GB/s on Thunderbolt 5, less on Ethernet or Wi-Fi. mac-ssi closes that gap in software so the pool behaves like one computer:

  • Predictive page prefetch (incl. pointer-chase detection) and write coalescing
  • Tiered memory classification — hot pages local, cold pages remote/streamed
  • Locality-aware scheduling — run work where its data already lives
  • RDMA buffer pooling and LZ4 page compression over the wire
  • Per-region consistency modes + MOESI cache coherence for shared memory

Together these cut effective cross-node latency 10–100× for real workloads — and the system adapts to your link: full RDMA on Thunderbolt 5, plain sockets on Ethernet or Wi-Fi, same single-machine view either way.

single compute fabric

Install

Homebrew (recommended):

brew install --cask openie-dev/mac-ssi/mac-ssi

Direct download: grab the latest .dmg from Releases, open it, drag mac-ssi to Applications.

Works over Thunderbolt 5 (RDMA, fastest), Ethernet, or Wi-Fi. Apple Silicon; macOS 26.2+ unlocks TB5 RDMA (earlier releases run over IP).


Examples


About

mac-ssi is built by openIE. The app is distributed as a signed .dmg; this repository hosts the website, documentation, examples, and Homebrew cask. The engine source is maintained privately. Maintainers: see RELEASING.md.

License: Apache-2.0 (documentation & examples). · Contact: david@openie.dev

About

Single System Image for Apple Silicon — pool many Macs into one computer and run AI models too big for any single machine. Site, docs, examples, Homebrew cask.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors