SpecificationPreliminary Overview

Open spec & reference implementation.

The HeteroIR specification is currently under active development. This page will host the complete open specification, formal definitions, and reference implementation as they are released. What follows is the guiding structure and principles.

01

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
02

Core Design Principles

01

Paradigm Neutrality

No computational model is treated as the default. Classical, photonic, neuromorphic, and quantum operations exist as equal first-class citizens.

02

Graph-Native

Computation is expressed as dynamic graphs of nodes (operations) and edges (data, control, temporal, or probabilistic relationships).

03

Extensibility

New node types, edge semantics, and execution models can be introduced through a controlled extension mechanism.

04

Separability of Concerns

The representation separates what is to be computed from how and where it is executed.

05

Executable Semantics

The specification defines clear operational semantics so that the same graph can be simulated, compiled, or interpreted across different backends.

03

High-Level Structure

The full specification will include:

01

Foundational Graph Model

  • Node and edge definitions
  • Typing system
  • Graph composition and hierarchy
  • Dynamic and static graph support
02

Computational Primitives

  • Classical digital operations
  • Photonic / continuous transformations
  • Neuromorphic event and spike dynamics
  • Quantum operations and measurement
  • Hybrid and cross-paradigm nodes
03

Data and State Model

  • Representation of discrete, continuous, and probabilistic state
  • Memory and communication abstractions
  • Temporal and causal relationships
04

Execution and Lowering

  • Rules for mapping graphs onto concrete hardware
  • Interface requirements for backends
  • Scheduling and resource models
05

Extension Mechanism

  • How new paradigms and operations are formally added
  • Versioning and compatibility
06

Reference Implementation

  • Open-source compiler infrastructure
  • Simulation environment
  • Example backends
  • Validation suites
04

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.

05

Current Status & Timeline

Vision and architectural principles
Complete
Formal specification (v0.1)
In development
Reference implementation (initial)
In development
Public release of v0.1 specification + reference tools
Coming

This page will be updated as concrete artifacts become available.

Invitation

HeteroIR is intended as shared infrastructure. Researchers, compiler engineers, hardware architects, and systems designers are invited to participate in shaping the specification. More details on contribution and working group participation will be published with the first public release.