Getting Started
This section introduces Torch-Spyre, walks you through installing it, and shows how to run your first PyTorch model on the Spyre device.
- 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
- 1. Execution model
- 2. Hardware
- 3. Memory hierarchy
- 4. Sticks and tiled tensors
- 5. Eager vs compiled path
- 6. Graph breaks
- 7. Compilation pipeline
- 8. Dtype defaults and casting
- 9. Running models today: FMS vs stock HuggingFace
- 10. Hardware constraints checklist
- 11. Streams
- 12. Distributed execution
- Where to go next
- Glossary
- Installation
- Run PyTorch on Spyre device
- More Examples