Purpose of the Specification
The HeteroIR specification defines a universal, graph-based intermediate representation capable of expressing computation across classical, photonic, neuromorphic, quantum, and future substrates without privileging any single paradigm. Its goals are:
- Provide a common, neutral substrate for heterogeneous computation
- Enable compilers, runtimes, and tools to target multiple hardware classes from a single representation
- Allow new computational paradigms to be added without breaking existing systems
- Support both precise digital operations and continuous, probabilistic, or event-driven dynamics
- Remain open and extensible
Core Design Principles
Paradigm Neutrality
No computational model is treated as the default. Classical, photonic, neuromorphic, and quantum operations exist as equal first-class citizens.
Graph-Native
Computation is expressed as dynamic graphs of nodes (operations) and edges (data, control, temporal, or probabilistic relationships).
Extensibility
New node types, edge semantics, and execution models can be introduced through a controlled extension mechanism.
Separability of Concerns
The representation separates what is to be computed from how and where it is executed.
Executable Semantics
The specification defines clear operational semantics so that the same graph can be simulated, compiled, or interpreted across different backends.
High-Level Structure
The full specification will include:
Foundational Graph Model
- Node and edge definitions
- Typing system
- Graph composition and hierarchy
- Dynamic and static graph support
Computational Primitives
- Classical digital operations
- Photonic / continuous transformations
- Neuromorphic event and spike dynamics
- Quantum operations and measurement
- Hybrid and cross-paradigm nodes
Data and State Model
- Representation of discrete, continuous, and probabilistic state
- Memory and communication abstractions
- Temporal and causal relationships
Execution and Lowering
- Rules for mapping graphs onto concrete hardware
- Interface requirements for backends
- Scheduling and resource models
Extension Mechanism
- How new paradigms and operations are formally added
- Versioning and compatibility
Reference Implementation
- Open-source compiler infrastructure
- Simulation environment
- Example backends
- Validation suites
Reference Implementation
A reference implementation will be released alongside the specification. It is intended to serve as:
- A concrete realization of the HeteroIR model
- A starting point for compiler and runtime developers
- A simulation and experimentation platform
- A validation tool for conformance
The reference implementation will be open source.
Current Status & Timeline
This page will be updated as concrete artifacts become available.