Torch-Spyre Documentation
Torch-Spyre is the PyTorch backend for the IBM Spyre AI Accelerator.
It enables standard PyTorch models to run on the Spyre device with full
torch.compile support via a custom Inductor backend.
New to Torch-Spyre?
Three on-ramps depending on what you need:
Just want to run a model? Start with Run PyTorch on Spyre device.
Need the mental model? Read Key concepts — a 5–10 minute primer on dataflow execution, sticks and tiled tensors, the LX scratchpad, the eager vs compiled paths, and graph breaks.
Want the design story? How Torch-Spyre works: an out-of-tree PyTorch backend walks through the four challenges we hit and the PyTorch extension mechanisms that addressed each one.
For a one-line definition of a specific term, jump to the Glossary.
For Users
- Getting Started
- How Torch-Spyre works: an out-of-tree PyTorch backend
- A device with a different execution model from a GPU
- Challenge 1: making PyTorch recognize a new device
- Challenge 2: teaching PyTorch a memory layout it had never seen
- Challenge 3: extending TorchInductor for dataflow compilation
- Challenge 4: covering ops in a model forward pass
- What we learned
- What is next
- Getting started
- Appendix: extension point reference for out-of-tree PyTorch backends
- Acknowledgments
- Key concepts
- Glossary
- Installation
- Run PyTorch on Spyre device
- More Examples
- How Torch-Spyre works: an out-of-tree PyTorch backend
- User Guide
- API Reference
For Developers
- Architecture
- Compiler Stack
- Runtime
- Contributing
- RFCs
- Index
- Summaries
- RFC 0047 — Tensors with Device-Specific Layouts
- RFC 0171 — Spyre Device Construct in PyTorch
- RFC 0186 — Test Frameworks
- RFC 0601 — Spyre Profiling Toolkit
- RFC 0682 — Kernel Tile Intermediate Representation (KTIR)
- RFC 1287 — Test Suite Configuration for Upstream PyTorch Tests on OOT Devices
- RFC 1632 — Model Enablement Tracking
- RFC 1633 — End-to-End Model Performance Testing