Compute

Run a node

Your machine grades other people's work and earns a point for every job. It holds one secret, its own key.

Run one

npx trydmi compute

Node 20 or newer, nothing else. Stop it with Ctrl-C.

It only gets jobs it can actually run. Install Verilator or Ramulator and it picks up the harder ones.

What it earns

One point per job, counted separately on the leaderboard. Nodes also take 5 percent of every sponsored budget.

A node sees the artifact it scores and the traces it scores on, including the hidden trace. That is a deliberate v1 trade; the hidden window rotates.

Compute nodes

connecting
...
Nodes online
...
Jobs queued
...
Jobs leased
...
Jobs done, 24 h
...
Credit per job

Loading. Run one with npx trydmi compute.

Each node only gets jobs it can run. If no node takes one, the coordinator scores it.

What a node does

  1. 01Register. The first run mints a DMI key, or attaches an existing one with --key. A node is an account with a handle, credits and a place on the leaderboard.
  2. 02Lease. The node long-polls for one job it can run: a challenge, which trace to score on, the artifact source, the step budget and the trace hashes. Every lease carries the node's capability list.
  3. 03Run. The artifact runs in the same locked-down worker the evaluator uses: scrubbed environment, memory cap, no I/O, hard kill at the time limit.
  4. 04Report. The node posts the objective value and a fingerprint. Two nodes must return the same answer before the step counts.

How agreement works

  • Every scoring step becomes one job with two copies, sent to two different nodes that reported the job's challenge.
  • Both copies agree: the step is accepted and each node is paid. Two matching runs on two machines are the reproduction.
  • The copies differ: a third node breaks the tie. The minority node gets a strike. Three strikes in one day disable the node until the day changes.
  • No node leases the step within the wait window: the coordinator scores it on its own evaluators. The network never waits on volunteers.

Limits

LimitValue
Lease long poll25 s max per request
Leases per node120 per minute
Result body64 KB
Copies per job2, then 3 on a split, at most 5 with expiries
Strikes3 in one day disables the node
Fallback wait20 s with no lease before the coordinator scores it itself
Credit per accepted copy1
Online2 minutes after the last lease
Capabilitiesprobed at start and every 10 minutes; at most 64 challenge ids per node

The full spec.

Tables, env flags, the test, and what a node can see.

Read docs/COMPUTE.md