Training frameworks produce neural networks; silicon executes instructions. The graph compiler is the software that turns the network into instructions, and its output determines whether your hardware's advertised TOPS ever become real throughput.
An AI graph compiler (also called an ML compiler or model compiler) takes a trained neural network – a computational graph of operators like convolutions, matrix multiplies, and activations – and transforms it into optimized executable code for a target inference processor. Its job is not just translation: it restructures the graph, plans every byte of data movement, and generates the code that makes silicon deliver on its datasheet numbers.
A neural network isn't a program. When PyTorch or TensorFlow exports a model, the result is a graph: hundreds of tensor operations connected by data dependencies, with no notion of registers, memory banks, or instruction sets. Something has to decide how that graph becomes machine code and how well it decides determines the product.
The stakes are highest at the edge. On-device inference runs on a strict power and memory budget, and the dominant cost isn't arithmetic, it's data movement. Fetching an activation from external memory costs orders of magnitude more power than the multiply that consumes it. A graph compiler earns its keep by limiting those fetches.
That's why good inference hardware is never just silicon; the silicon and the compiler are equally critical. Great silicon and a weak compiler prevent the silicon from being properly utilized, but a great compiler can't salvage bad silicon. Quadric's Chimera IP and SDK are so potent because the hardware is programmable and the compiler is mature.
Training framework
PyTorch · TensorFlow · JAX
Exchange format
ONNX computational graph
AI graph compiler
optimize · fuse · plan memory · schedule
Executable binary
runs on the inference processor
A trained model becomes an optimized binary in six stages. The ordering varies by toolchain but the responsibilities don't.
The trained model arrives as ONNX. The compiler normalizes it: simplifying shapes, folding constants, legalizing operators into hardware-friendly forms.
FP32 weights and activations are converted to INT8 (or mixed precision), shrinking memory footprint ~4× while preserving accuracy.
Dead-code elimination, layout transformation, and the most critical part: operator fusion, which merges chains of operators so intermediate tensors never touch external memory.
Every tensor is assigned home across the memory hierarchy (registers, local SRAM, L2 Memory, external memory) and DMA transfers are scheduled to hide latency behind compute.
The compiler orders execution to maximize utilization and determinism, which is critical for real-time and safety-certified systems.
The optimized graph is emitted as executable code. In Chimera's case: readable C++ against a compute library, compiled by LLVM into a single binary.
Want the deeper treatment? Read our engineering posts on AI compiler optimization and operator fusion.
Run a convolution, write the result to memory, read it back for batch-norm, write it out again, read it back for the activation, and repeat the cycle. This is poor execution, wasting power and performance by turning every layer boundary into a round trip through the memory hierarchy.
Operator fusions merges adjacent operators into a single kernel, keeping intermediate results in local registers and SRAM and preventing costly trips to memory. A single fused block can cut memory traffic and power by ~80% without affecting model accuracy.
What a compiler can fuse depends on the silicon itself. A traditional fixed pipeline can only fuse the patterns its designers anticipated, but programmable cores enable the compiler to fuse whatever the model needs, including patterns that didn't exist when the chip taped out.
Unfused
↓ memory round-trip
↓ memory round-trip
Fused
FusedConvBlock
one kernel —
data stays in registers
Typical result: ~80% less memory traffic
AI moves faster than silicon and every year brings operators that didn't exist when the chip taped out: attention variants, new activations, and novel architectures. What your compiler does and whether the silicon can support it define the product's lifespan.
Quadric's toolchain pairs a graph compiler with a classical one. The Chimera Graph Compiler (CGC) ingests ONNX, runs the full optimization pipeline (fusion, memory planning, scheduling), and emits readable C++. The Chimera LLVM compiler then builds that C++, together with any kernels you write, into one binary for one core.
Because the target is a fully programmable GPNPU, there's never fallback: every current and future operator runs on the same core.
ONNX model
any framework
Chimera Graph Compiler
graph optimization → generated C++
Your C++ kernels
custom operators, same core
Chimera LLVM Compiler
one optimized binary
Run your own ONNX models through the Chimera Graph Compiler in DevStudio and see cycle-accurate results.