← Blog

Your GPU, your hours

What decides whether someone leaves a GPU connected to our network is rarely the rate. It is whether the machine behaves itself: quiet when they are working, off when electricity is expensive, out of the way when they want to play something.

That is now a set of settings — and, the part that took the thought, they are editable from both ends.

$ mahout config set windows='[{"cron":"0 22 * * 1-5","duration_minutes":540}]'
$ mahout config set max_power_watts=250
$ mahout config show

Or the same values on the machine's row in the dashboard, from a phone, without SSH-ing into your own desktop.

Two writers need a rule

The easy implementation is last-write-wins, and it is wrong in a specific way: the agent syncs on a timer, so an edit you made in the dashboard can be overwritten by a copy the machine read a second before you pressed save. You would not get an error. The setting would just be back where it was, and you would assume you had misclicked.

So every save declares which version of the settings it was editing. If the other side got there first, the save is refused and you are shown what the settings actually are now. Nobody's change disappears without being told — that is the whole guarantee, and it is worth the extra round trip.

Both sides also show where the last accepted change came from, so "did that take" is answerable at a glance rather than by experiment.

Small decisions we made on purpose

Windows stay cron expressions in both places, including the dashboard. A friendly day-picker that produced a subtly different schedule from the same clicks would be worse than a little syntax, because then the two sides would describe the same thing differently.

Sizes accept units. disk_quota_bytes=500GB works; nobody types byte counts by hand. The wire format stays bytes because that is what the agent stores, and two conversions per round trip is one rounding bug waiting to happen.

Empty means no cap, not zero. Clearing the power field returns the card to its own default. A settings system that turns "no limit" into "zero watts" is not one you would trust with a machine you own.

What is still coming

Windows are stored, synced and shown, and the agent's evaluation of them lands in the next release — so today the honest state is that a window you set is recorded and not yet enforced. That is in the changelog rather than implied, for the same reason we publish what happens when a job fails: a feature page that only describes the working parts is not a feature page.

Reference

Read next

one model, every card: how a 27b runs on 8 gb

Qwen3.8 27B ships in five builds, from Q5_K_M on a 24 GB card down to IQ2_XXS on 8 GB. Why we split models from builds, what quantization actually costs, and how a quantized KV cache doubled our context overnight.

we stopped projecting your earnings and started measuring them

Most GPU marketplaces advertise what a card could earn. Our dashboard shows what yours measured, and refuses to show a number until it has one. Here is why that choice cost us a nicer-looking page and was still right.

Model catalogue · Knowledge base · Run a GPU