torch-spyre
Backend support for the IBM Spyre accelerator within the PyTorch ecosystem. By implementing the Inductor backend interface, it compiles PyTorch models for execution on Spyre.
Timeline (last 90 days)
The design of the torch-spyre compilation stack draws on Inductor's experience integrating with other accelerators, but it makes special handling for Spyre's explicit memory hierarchy.
The torch-spyre backend compiler translates Inductor's scheduling decisions into executable SpyreCode and uses MLIR as the intermediate representation foundation, building a dataflow compilation path from KTIR to SpyreCode.
By implementing Inductor's pluggable backend interface, torch-spyre reuses Inductor's scheduling capabilities on Spyre, thereby allowing PyTorch models to run on the chip without hand-written kernels.
Currently, public information is concentrated at the level of architecture descriptions, and no specific performance data for torch-spyre or comparisons with hand-written kernels have been disclosed.
The Inductor component of the torch-spyre compilation stack is responsible for deciding how each kernel's work is partitioned across Spyre chip cores and for managing the residency strategy of tensors between on-chip scratchpad and off-chip memory.
torch-spyre concentrates the complexity of hardware integration into an independent repository, keeping the PyTorch main codebase stable, with hardware-specific logic encapsulated inside torch-spyre, so that the two sides can iterate independently.
torch-spyre is currently still in a stage of continuous improvement, and its operator coverage and degree of compiler optimization will affect the final user experience.
torch-spyre connects PyTorch's computation graph to Spyre's runtime and firmware, so that operators can be correctly compiled and dispatched to the hardware for execution.
All Facts (8)
The design of the torch-spyre compilation stack draws on Inductor's experience integrating with other accelerators, but it makes special handling for Spyre's explicit memory hierarchy.
50%UnverifiedThe torch-spyre backend compiler translates Inductor's scheduling decisions into executable SpyreCode and uses MLIR as the intermediate representation foundation, building a dataflow compilation path from KTIR to SpyreCode.
50%UnverifiedBy implementing Inductor's pluggable backend interface, torch-spyre reuses Inductor's scheduling capabilities on Spyre, thereby allowing PyTorch models to run on the chip without hand-written kernels.
50%UnverifiedCurrently, public information is concentrated at the level of architecture descriptions, and no specific performance data for torch-spyre or comparisons with hand-written kernels have been disclosed.
50%UnverifiedThe Inductor component of the torch-spyre compilation stack is responsible for deciding how each kernel's work is partitioned across Spyre chip cores and for managing the residency strategy of tensors between on-chip scratchpad and off-chip memory.
50%Unverifiedtorch-spyre concentrates the complexity of hardware integration into an independent repository, keeping the PyTorch main codebase stable, with hardware-specific logic encapsulated inside torch-spyre, so that the two sides can iterate independently.
50%Unverifiedtorch-spyre is currently still in a stage of continuous improvement, and its operator coverage and degree of compiler optimization will affect the final user experience.
50%Unverifiedtorch-spyre connects PyTorch's computation graph to Spyre's runtime and firmware, so that operators can be correctly compiled and dispatched to the hardware for execution.
50%