An AI-native job scheduler written in Rust. Drop-in compatible with Slurm's CLI, REST API, and C FFI while providing WireGuard mesh networking, GPU-first scheduling, and modern state management.
- 🔌 Slurm compatible — your existing scripts, tools, and muscle memory work unchanged
- 🔲 GPU-first scheduling — first-class GPU support for job scheduling
- 💾 Raft-based state — all state survives restarts; no external database required
- ⚙️ Written in Rust — single static binary per component, fast builds, safe concurrency
- 🔒 WireGuard mesh networking — tunnelled cluster communication out of the box
curl -fsSL https://raw.githubusercontent.com/ROCm/spur/main/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"Try it locally. Spin up a single-node cluster to see Spur in action:
spurctld -D --state-dir /tmp/spur-state # start controller
spurd -D --controller http://localhost:6817 # start agent in a new terminal
spur run -- echo "hello from $(hostname)" # run a command
spur queue # check the queueFor production and multi-node deployments, see the deployment guide.
The full documentation covers quickstart, deployment, and development. Whether you're evaluating Spur or running it in production, that's the best place to start.
If you are stuck on anything or have found a bug, please feel free to open an issue and we'll do our best to help.
See developer/building for build instructions and project layout, and developer/contributing for contribution guidelines. PRs are welcome.
Licensed under the Apache License 2.0. See LICENSE for details.