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. Sample config and Kubernetes manifests are in examples/.
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.