# Competition Portfolio Queue
**One register, one deadline order and one honest view of GPU capacity for running dozens of research competitions on a handful of GPUs.**
[](https://github.com/Agnuxo1/competition-portfolio-queue/actions/workflows/ci.yml)




[Competition list](docs/COMPETITIONS.md) · [GPU scenarios](docs/GPU_SCENARIOS.md) · [Operations](docs/OPERATIONS.md) · [Author and research context](docs/AUTHOR_CONTEXT.md)
## Abstract
A solo research programme can run more competitions than any one list can track. Deadlines live on Kaggle, Codabench, Devpost, OpenReview and national portals, status lives in work folders and mailboxes, and the two GPUs live behind their own queue. Entries get lost in the gaps between those lists.
This project keeps a single validated register, orders open work by the nearest date that can still end an entry, simulates whether the GPUs can actually deliver a training block before each freeze point, and audits the register against the live GPU queue; `scripts/debian` holds the timer that runs it. The audit is read-only. It reports and proposes, and the GPU queue stays the only dispatch authority.
## What it found on its first run
Run against the real portfolio on 6 November 2026, the first reconciliation gave these results:
| Check | Result |
|---|---:|
| Competitions in one validated register | 86 |
| Live queue entries absent from the separate status table | 30 |
| Open entries with no record in the GPU queue | 8 |
| Open entries still needing a dedicated repository | 10 |
The capacity simulation showed why a fixed block matters. Holding both GPUs on one entry until its deadline delivers 14 of 48 GPU-hours to the next entry, while releasing one GPU after 72 hours lets every simulated entry reach its target, and a third GPU gives more room still ([table](docs/GPU_SCENARIOS.md)). These figures are simulated capacity, not training results.
## Research question
Can a deterministic register and a simple earliest-deadline rule keep a small research programme from losing entries, and can it show the cost of a scheduling choice before the hours are spent?
## How it works