Skip to content

popsolutions/Spanker

Repository files navigation

Spanker — PopSolutions Sails software stack

In a tall ship, the spanker sail is the aftmost driving sail — the one that holds the ship's direction at the helm. The Spanker is the helmsman of the fleet.

Spanker is the software counterpart to the PopSolutions Sails hardware. It contains:

  • Linux kernel driver — PCIe enumerator, ioctl interface, DMA management for the Sails accelerator boards
  • Userspace runtime — process for orchestrating workloads, memory management, kernel binary loading
  • GGML inference backend — port of GGML kernel ops to RVV + custom matrix extension (Xpop_matmul)
  • Distributed scheduler — TP/MP/PP across N Sails (multi-card parallelism is first-class per project mission)

The first target Sail is InnerJib7EA (POPC_16A) — embedded entry SBC. Spanker integrates with the AXI4 boundary defined in popsolutions/MAST and validated by popsolutions/InnerJib7EA.

Status

Bootstrap (2026-05-05). Skeleton landed; real work begins with the first PR by Agent 3 (Software Stack) per the 4+1 operating model.

License

  • Software contributions: Apache 2.0 (kernel driver may be GPL-2.0-only if linking to Linux kernel headers requires; documented per file)
  • Documentation: CC-BY-SA 4.0

See LICENSE for the full text.

Layout

Spanker/
├── README.md
├── LICENSE
├── CONTRIBUTING.md
├── src/
│   ├── driver/        (Linux kernel module — C)
│   ├── runtime/       (userspace orchestrator — Rust; per ADR-001)
│   └── backends/
│       └── ggml/      (GGML kernel ports for Sails)
├── tests/             (pytest harness; integration tests against MAST cocotb sim)
├── docs/
│   ├── adr/           (architectural decisions)
│   └── api/           (versioned interface contracts: ioctl, runtime API, GGML)
└── .github/workflows/ (CI)

Related repos

Contributing

Per popsolutions/MAST/GOVERNANCE.md: cooperative-affiliate-only code contribution. DCO sign-off on every commit.

About

PopSolutions Sails — software stack: driver + runtime + GGML backend + distributed scheduler. Mirror of git.pop.coop/pop/Spanker.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors