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.
- 💬 Questions & discussions — head over to GitHub Discussions. Whether you're stuck, have a suggestion, or just want to chat about how you're using Spur, that's the place.
- 🐛 Bug reports — if you've found a confirmed bug, open an issue with steps to reproduce.
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.