03, Energy

One cell, tiled.

One design, meant to run from a sensor up to a rack. The envelopes below are the targets we are building toward, not measurements.

µWtarget power envelope, by design →10s kW
Sensor
µW
≈ a quartz watch
Wearable
mW
≈ a hearing aid
Robot
~1 W
≈ a smartphone
Edge server
~50 W
≈ a laptop
Server
~1 kW
≈ a microwave
Rack
10s kW
≈ an EV charger
invariantSame settle(), same receipt: meter × rate = joules. The receipt is what stays constant, not the rate. Four lowerings of the same contract, measured on the same xck26 fabric, gave four different rates: 0.1596 ± 0.0006 pJ per accumulate, 0.212 ± 0.039 pJ per accumulate, 0.2333 ± 0.0066 pJ per accumulate and 0.377 ± 0.021 pJ per accumulate. An accumulate is a unit of the program, not of the silicon. Three of the four are hand-emitted designs whose LUTs per accumulate we know exactly, and across them the rate tracks those LUTs at roughly 0.19 pJ per LUT. We wrote that prediction down before sweeping twice, and chose the second design specifically to tell LUTs apart from the routing they need: the LUT law held and the routing law did not. The fourth is a Vivado-synthesised design whose datapath LUT count we have not separated from its control logic, so it is consistent with that law without testing it. So the receipt names the lowering it was measured on, and a rate never travels to a workload it was not measured for.

For scale

Is that a lot, or a little?

On their own those rates tell you nothing, so we ran the identical job on an ordinary laptop processor and measured it there too. The same work costs a few thousand times more per step on the general purpose machine.

We say a few thousand and we stop there on purpose. Those two runs use different chips and different meters, so one digit is all the comparison honestly supports. Those rates carry three and four digits because each came off one part, with one instrument, and a knob we could turn. The coarseness here is also what makes the comparison survive the spread above: the three lowerings differ by about 2.4 times, and at one significant figure you land in the same place whichever of them you start from. We would rather show you where our own numbers get soft than round them into something tidier.

Run it yourself

You do not need us, or our hardware.

The engine all of this rests on is a small package you can install straight from this domain. It runs in Node or in a browser. No account, no waiting list, and nothing to ask us for.

$ npm install https://klere.ai/klere-vm-0.1.2.tgz
$ npx klere recall --n 128

It gives you back how much work the answer took, what that work would cost on the fabric at the rate measured for the lowering it names, and a short hash of the settled result. Run it again, or run it on someone else's machine, and the hash comes back the same. That is the part that matters most to us, because a result you cannot reproduce is not a result.

The joules it prints are priced at the measured rate, not measured on your own machine. It tells you so on every single run.