pgpu

pgpu shares one GPU between jobs on a Linux machine with an AMD GPU, part of PITO MD. Put pgpu run -- in front of a GPU command: it waits for a lane, runs, and hands the card on the moment it ends. Renders, tests, benchmarks and searches from many terminals, scripts and agent sessions take turns instead of fighting over the card, and the card stays busy.
- 2.1 ms to start a job through pgpu, 5.7 ms to hand a lane to the next job, 1.4 ms for
pgpu status. - One 2.0 MB binary, 770 KB to download, no daemon: the queue is a folder of tickets, and every
pgpucall does its share. - 5 direct dependencies (clap, anstream, anstyle, humantime, libc), 10,482 lines of Rust, a clean release build in 11.2 s.
- 3.5 MB of memory for each job’s waiting wrapper.
Where to go
Section titled “Where to go”- Install it and run a first job.
- Run a job, set the lanes, take turns, read the status.
- Budgets and memory ceilings, scripts and agents, stats, hold the queue.
- How pgpu works, with its measured speed.
- The command line, the JSON formats and the changelog.