← All work
Compiler & ML Systems2026 / 02

Constrained Compiler

A dependency-aware VLIW/SIMD compiler that drove a frozen machine-learning kernel to 971 cycles, placing #25 worldwide and finishing 28 cycles ahead of the public Claude Code Fable 5 baseline.

PythonCompiler DesignVLIW/SIMDExact Verification
Source & deliverables
971simulated cycles
28cycles ahead of Fable 5
9/9official tests
#25worldwide placement
01 / Context

The question
behind the work.

The challenge gives you a small simulated accelerator, a fixed machine-learning kernel, and a cycle budget. The hard part is not writing more code; it is finding a legal schedule that respects data dependencies, vector width, memory movement, and exact output-index semantics at the same time.

My role

I built the compiler path end to end: dependency IR, lowering, priority scheduling, virtual-vector allocation, scratch binding, schedule emission, reproducibility records, and the values-plus-indices verification harness.

02 / Implementation

What I built.

The system turns a dependency IR into a scheduled program with virtual-vector allocation, scratch binding, SIMD lowering, and exact values-plus-indices verification.

  • Represented the kernel as a dependency-aware intermediate form instead of hand-authoring an opaque instruction sequence.
  • Scheduled work across the frozen ALU, VALU, load, flow, and store engines using VLIW issue slots and dependency priorities.
  • Added virtual-vector and scratch allocation so lifetimes, aliases, loads, and writeback could be optimized together.
  • Used batch SIMD, hash-stage strength reduction, shallow-tree reuse, and explicit index writeback to cut the critical path.
  • Kept a dynamic compiler and a compiler-generated ahead-of-time bundle for the community runner's fixed tuple, with the two schedules matching exactly.
03 / In detail

Win the machine you are given

This was a compiler problem disguised as a benchmark. The machine has a small number of issue slots, a scratchpad, vector operations, and strict rules about when values become available. Every shortcut has a cost somewhere else.

I started by making the kernel legible: operations became a dependency graph with explicit inputs, outputs, widths, and memory behavior. That gave me something I could reason about and schedule instead of a pile of local instruction edits.

Schedule the whole critical path

The useful gains came from letting the compiler see the full problem. It could place independent work into otherwise empty VLIW slots, batch compatible operations across SIMD lanes, reuse shallow tree work, and decide when a value should occupy scratch space or move through a vector register.

That is where the project became more than benchmark tuning. The scheduler and allocator were constantly trading off parallel issue width, dependency distance, address generation, live ranges, and writeback order. A change that looked cheaper in isolation could make the final program slower or run out of scratch.

Beat the baseline, then prove it

The final schedule completed in 971 simulated cycles, 28 cycles ahead of the public Claude Code Fable 5 baseline at 999. It passed all nine official tests and matched both output values and output indices in 50 independently seeded reruns.

The community runner has a generation timeout, so the submitted wrapper carries a compiler-generated ahead-of-time schedule for the fixed challenge tuple. The dynamic compiler produced the same schedule, and it remains in the package for inspection and replay. At verification, the result ranked #25 worldwide on the public community board.

04 / Engineering judgment

The decisions
that shaped it.

  1. Optimized for exact values and exact indices. A fast result that returned the right numbers to the wrong positions was still wrong.
  2. Treated dependency pressure, register lifetime, scratch capacity, and machine issue width as one scheduling problem rather than optimizing each in isolation.
  3. Left the official simulator, reference problem, and test tree untouched so the score remained attributable to the submission.
  4. Used the ahead-of-time bundle only to meet the community runner's generation timeout; the schedule was emitted by the dynamic compiler and the dynamic path remains available for replay.

Evaluation & results

The unchanged official suite passed 9/9 at 971 cycles. The result is 28 cycles faster than the public Claude Code Fable 5 baseline at 999 cycles, and approximately 35% below Anthropic's published 1,487-cycle reference. A strict rerun matched every value and output index across 50 seeded inputs with zero correctness failures. At verification, 971 cycles ranked #25 worldwide on the public Paradigm community leaderboard; that board is independent of Anthropic's official evaluation.

05 / Working outputs

See it for yourself.

Select an image to view it at full size.

06 / Artifacts

Take a closer look.

01Official Anthropic challenge02Anthropic performance-evaluation context03Public community leaderboard
Next projectRadiology Value Pipeline