Connect any device into one mesh. Hand it a task, and our scheduler splits it across idle GPUs.
$ curl -fsSL https://drkm.ai/install | sh
macOS on Apple silicon, or Linux on x86-64 or ARM64. You sign in with your Darkmatter account.
No account yet? Join the waitlist
Split any job across every GPU in the mesh, and get one answer back per piece.
$ uv add drkm
uv add drkm..explain() first to see the plan without running it.
1import drkm 2 3job = (drkm.parallelize(tiles) 4 .predict("yolo11x-obb", classes=["ship"]) 5 .submit(name="Vessel count, Port of Oakland piers")) 6ships = job.rows()
Our scheduler teaches your agent to split a task, like scanning every car in San Francisco, into jobs across the mesh. No SSH, no machines to set up.
$ mcp add --transport http drkm https://drkm.ai/mcp
https://drkm.ai/mcp to any agent that speaks MCP.
> Count the ships at the Oakland piers, and start on Richmond too.
drkm · submit_job "Vessel count, Port of Oakland piers"
job a4f29c1e · 1,292 tiles · 5 outposts
drkm · submit_job "Vessel count, Port of Richmond"
job 7c2e91b4 · running
drkm · job_results a4f29c1e
14 ships
14 ships at the Oakland piers. Richmond is 63% done, so I'll check back.
Ask in plain language. Darkmatter turns the question into work and runs it across your outposts.

Every outpost you own works as one machine.
$ drkm run "scan every car in San Francisco" split into 1,292 tiles · 6 outposts with idle GPUs $ drkm submit sweep.py --ray Ray tasks spread across idle GPUs on 4 outposts $ drkm ssh lambda-8 connected over the mesh · 173 ms $ drkm send ./tiles ship-2:/data held while the link was down · delivered
Ask for “every car in San Francisco.” Our scheduler splits it into jobs and places each one where it fits, and gets better at it as it goes.
Jobs, Ray tasks and Slurm batches land on GPUs across the mesh that would otherwise sit idle.
SSH into any outpost in the mesh. No VPN, no public IP.
Outposts pass data to each other, so you can train on one outpost’s environment with another’s GPUs.
Our scheduler learns. DarkRouter is a small model that schedules alongside proven heuristics, and gets better with every task.
Sends each request to the model and outpost best suited to answer it.
Sizes every job to the nodes that are active right now, and resizes it as they come and go.