Operating system for physical computers · v0.9.3 preview

Relax it. Sample it.
Or keep it driven.

Equilibrium is one regime, not the whole story. VonNeuro runs programs that minimise an objective, draw from a distribution, or evolve far from equilibrium — on p-bits, annealers, memristive networks, neuromorphic chips, a plain CPU, or a dish of living neurons. You state the intent and the contracts. The compiler finds the physics and shows its work.

$curl -fsSL get.vonneuro.com | sh
See the language

Apache-2.0 · Linux, macOS, Windows (WSL2), bare metal · 4.1 MB kernel image

relax · xbar0 · 16×16 descending
Energy E
Inv. temp β
Settled in
Substrate targets
  • p-bit fabric
  • quantum annealer
  • 1T1R crossbar
  • nanowire mesh
  • event ASIC
  • photonic operator
  • neuronal culture
  • reaction network
  • FPGA
  • x86-64 · arm64 · riscv64
Premise

Three commitments the whole system is built on.

portability

One program, any substrate

A program states what it means mathematically, not which chip you own. Each backend lowers that meaning to a native physical process — a coupling matrix, an anneal schedule, a driven circuit — instead of pretending the device is a CPU.

regime

Equilibrium is a special case

Plenty of useful computation has no energy function to descend. Driven, dissipative and self-organising dynamics are first-class here — which is also what makes the same abstraction reach living systems, judged on declared observables rather than on whether they settle.

accounting

A number and a bound

Joules per task alone say nothing about what was avoidable. Every run reports measured dissipation and the thermodynamic lower bound it should be read against — or refuses the comparison. vnstat shows both.

Regimes

The semantic core is small on purpose. Everything reduces to these three.

Three ways matter can be useful

Most stacks assume the second and third are approximations of the first. They aren't. A sampler is not a failed optimiser, and a driven network held away from equilibrium is not a relaxation that hasn't finished yet.

minimise / relax

Descend a landscape

Objectives, ground states, fixed points. The program declares the energy and the tolerated gap; the backend picks the schedule and reports where it landed.

p-bits · annealers · Ising machines · crossbars

sample

Draw from a distribution

Inference, marginals, low-energy ensembles. The contract is distributional — total variation, effective sample size — so devices that make randomness differently can still be compared.

p-bits · annealers as samplers · stochastic devices

evolve / drive

Run out of equilibrium

Continuous-time dynamics under external drive: reservoirs, memristive self-organisation, analog circuits, limit cycles and hysteresis. No energy function is required, and none is invented.

memristive networks · neuromorphic · analog · photonic · living tissue

Wetware

The driver contract asks three questions. Living systems can answer them.

Physical includes biological

A cell was running a driven, noisy, dissipative computation long before anyone built a chip to imitate one. Nothing in the semantic core mentions silicon. A backend qualifies if it can report its state, accept a drive, and characterise its own noise — and tissue can do all three. What changes is the timescale, the drift, and how honestly the energy can be measured.

neuronal culture

Neurons on an electrode array

State
Population activity across the electrodes
Drive
Closed-loop stimulation, patterned in time
Readout
Declared observables over a response window

Non-stationary over hours. The device contract is re-fit continuously, not assumed.

reaction network

Molecules in solution

State
Species concentrations, strand occupancy
Drive
Fuel species, temperature, flow
Readout
Fluorescence or sequencing at declared times

Seconds to hours per run. Latency contracts are the binding constraint, not accuracy.

gene circuit

Regulation inside cells

State
Expression levels across a population
Drive
Inducers, light, growth conditions
Readout
Distributional — the population is the sample

Intrinsically stochastic, so it lowers naturally to a sampling contract.

Living backends are held to the same contracts and the same honesty. Dissipation is metabolic and only estimated, so the ledger marks it modelled rather than measured, and refuses comparisons across boundaries it cannot justify. Protocol, provenance and approval constraints are part of the device contract, not an afterthought.

Architecture

L5 → L0. Meaning at the top, matter at the bottom.

The stack, meaning to matter

Compilation here is not translation into machine instructions. It is a model-conditioned transformation: program meaning plus contracts plus the current device model, producing an executable physical process and the record of what that cost in assumptions.

L5

Volt

volt · voltc

Declare state spaces, intent, and three contracts: what counts as correct, what thermodynamic description holds, and what the device must support.

L4

Semantic graph

.vng

A serialisable representation of maps, dynamics, distributions, objectives, measurements and composition — the portable object, and the thing that outlives any one front end.

L3

Passes

check · analyse · lower · partition

Contract checking, the thermodynamic analysis pass, algorithm selection, and splitting a program across two modalities without hiding conversion and communication costs.

L2

Kernel

vnk

Event-driven scheduler with a 3.7 µs median dispatch, capability-based device isolation, the device registry, and the ledger that meters every run.

L1

Device contract

vn-hal/*

A versioned, machine-readable statement of native operations, connectivity, parameter ranges, noise, timing, calibration state and available energy measurements. Compilation targets a device instance at a time; when calibration drifts, the runtime recompiles and your source doesn't move.

L0

Matter

fluctuations, conductances, light, cells

Stochastic bits, annealing hardware, adaptive networks, spiking silicon, analog and photonic operators, cultured neurons and reaction networks — or a digital reference that simulates any of them for when you need a baseline you can trust.

Language

volt 0.9 · files end in .volt · Python front end in pyvolt

State the intent. Declare the contracts.

Every program carries four things: mathematical intent, a computational contract, a thermodynamic contract, and the device requirements. The last two are what let a run on a p-bit fabric and a run on a crossbar be compared honestly — or declared incomparable.

// minimise — one source, three very different machines
problem max_cut(G) {
  state s: spin[G.vertices];
  minimise H(s) = sum((i,j) in G.edges, G.w[i,j] * s[i] * s[j]);
  return best(s), samples(s);
}

execution {
  stochastic     = allowed;
  objective_gap <= 0.02;
  confidence    >= 0.99;
  samples        = 2000;
}

thermodynamics {
  input_distribution = workload.max_cut;
  process_boundary   = encode_to_readout;
  coarse_graining    = logical_spin;
  lower_bound        = mismatch_cost;
}
minimise · sample · evolve

The three intents of the semantic core. A program says which one it means, and the conformance test follows from that — an objective gap, a distributional distance, or a tolerance on declared observables.

execution { … }

What counts as a correct result. Stochasticity, admissible approximation, precision, confidence, latency. A backend that cannot meet it is rejected at compile time, with the failing clause named.

thermodynamics { … }

The process model, input distribution, prior, boundary, time decomposition and coarse-graining. Without these, a joule figure is not a claim about anything.

steady_state = nonequilibrium

Says the run is held away from equilibrium by an external drive. Detailed balance is not assumed, so the analysis uses the driven forms and the runtime tracks entropy production rather than energy descent.

Physics

Stated where each result holds — and where it stops.

Learning and accounting, without pretending

Backpropagation asks matter for an exact reverse pass over stored activations. These rules ask only for what physical systems already do: settling, fluctuating, being driven, and dissipating.

Contrastive equilibrium

ΔW ∝ (1/β) [ ⟨s sᵀ⟩clamped − ⟨s sᵀ⟩free ]

Settle twice, subtract the correlations. Every term is available at the coupling itself, so the update runs inside the array with no activation tape.

Applies to relaxation programs only

Driven, dissipative learning

σ = Σt J(t)·F(t) / T  >  0

When the system is held out of equilibrium there is no free phase to contrast against. Updates come from correlations along the driven trajectory, and the cost is a steady entropy production rate rather than a descent that ends.

Reservoirs · memristive self-organisation · neural cultures

Mismatch cost

MCG(p,q) = D(p‖q) − D(Gp‖Gq) ≥ 0

For a fixed stochastic map, actual input distribution and process-dependent prior, the drop in KL divergence lower-bounds entropy production. It is the first analysis the compiler implements, and it is why the prior has to be declared.

Reported in kB, and in joules under stated T

Hysteresis is data

Wdiss = ∮ h dm  ·  ẋ = αx − βV(t) + ξ(t)

Memristive elements have internal state, drift and loop area. VonNeuro models them explicitly and plans pulse trains against the device's own dynamics instead of assuming a write lands where you asked.

Calibrated at boot · re-fit on drift

Noise as a resource

⟨e−βW⟩ = e−βΔF

Fluctuation identities of Jarzynski–Crooks type turn device noise into free-energy estimates, so the runtime samples with the hardware's randomness instead of spending energy suppressing it.

Anneal schedules · free-energy readout

Certified descent, where it applies

dE/dt ≤ 0  ·  ‖st+1 − st‖ → 0

For programs that declare an energy, the compiler checks the update against it and emits runtime assertions where it can't decide statically. Programs that declare no energy get observable tolerances instead — not a fake Lyapunov function.

Static check · runtime assertion · stall escalation

Evidence

A real sequence: each step either keeps the bound or it doesn't.

Every lowering says what it cost you

A thermodynamic provenance graph travels with the program. At each transformation the compiler must state whether the bound survives — and a run that ends in an invalid comparison is a useful scientific result, not a failure to be papered over.

Source

Declared boundary

Input distribution, prior family, process start and end, coarse-graining.

bound stated
Lowering

Minor embedding

Logical spins become chains of physical qubits; the state space changes shape.

recomputed
Schedule

Finer time grid

Evaluating the process at higher temporal resolution tightens the bound.

strengthened
Readout

Spatial coarse-graining

Variables removed at readout need backend justification before bounds compare.

weakened
Compare

Cross-substrate

Different boundaries or priors means the two energy figures are not the same claim.

not comparable
Support

What runs where, in which regime, and how good the energy evidence is.

Cross-platform, stated plainly

The same semantic graph runs on all of these. What changes is the native regime, how much the compiler has to approximate, and whether dissipation is measured on a rail or only modelled.

SubstrateDriverNative regimeEnergy evidenceStatus
CPU — x86-64, arm64, riscv64vn-hal/cpuminimise sample evolveCounters, modelledstable
GPU — CUDA, Metal, Vulkanvn-hal/gpuminimise sampleBoard telemetrystable
p-bit fabric on FPGAvn-hal/pbitsample minimiseRail measurementstable
Quantum annealer / Ising machinevn-hal/annealminimise sampleService-reportedpreview
Event-driven neuromorphic ASICvn-hal/spikeevolve sampleOn-chip counterspreview
1T1R memristive crossbarvn-hal/xbarminimise evolveRail measurementpreview
Self-organising nanowire meshvn-hal/meshevolveProbe-limitedresearch
Photonic / analog linear operatorvn-hal/opticevolveModelled onlyresearch
Neuronal culture on MEAvn-hal/cultureevolve sampleMetabolic, modelledresearch
Molecular / DNA reaction networkvn-hal/molecsample evolveModelled onlyresearch
Engineered gene circuitvn-hal/genetsampleModelled onlyresearch

Host systems: Linux 6.1+ · macOS 14+ · Windows 11 via WSL2 · bare metal on arm64 and riscv64.
Bindings: C ABI, Python, Rust. Neuromorphic backends can lower through existing intermediate layers rather than around them.

Start on the CPU.
Move to matter later.

Install the toolchain, run the digital reference on your laptop, then point the same semantic graph at a p-bit fabric, an annealer, or a crossbar. The source doesn't change — only the evidence record does.

$curl -fsSL get.vonneuro.com | sh