A GPU & training monitor · Rust + Tauri · MIT

Cortex

A lightweight system monitor for the machine you train models on: every GPU in full, your TensorBoard connected alongside them, and nothing it measures ever leaves the computer.

GPU
78%
RTX 3090
71°C · 310 W · 21.0 / 24.0 GB
CPU
41%
i9-10900K
4243 MHz · 20 threads
Storage · C:
52.5 GB free of 952.7 GB
python18%  3140 MB
Code6%  980 MB
The Cortex board: draggable cards over live CPU, GPU and memory.

Why it exists

While a training run is going, you want two things on screen: what the GPUs are doing, and what the loss is doing. Today they live in different places. The vendor hubs that draw a GPU nicely (OMEN, Armoury Crate, iCUE) are built for gamers and locked to the vendor's hardware. The monitors that run everywhere are terminal programs (btop, glances) or server dashboards (Netdata), and none of them sit beside TensorBoard.

So you watch one machine through a heavy vendor app, a terminal, and a browser tab at once. Cortex is the one window: GPU-first telemetry and your TensorBoard together, lightweight, and local.

For training runs

Every GPU, in full

Each NVIDIA device gets its own card: utilisation, temperature, power in watts, VRAM used against total, core and memory clocks, and the installed driver and CUDA version, the first thing a framework checks. A four-GPU box gets four cards.

Alive or stalled, at a glance

The Training tab reads GPU utilisation continuously, so you can see whether the GPUs are working or the run has died before you open a single loss curve.

Your TensorBoard, alongside

The Training tab connects to the TensorBoard you run on localhost, so the training metrics live next to the hardware that produces them.

Nothing leaves the box

Cortex reads the operating system's counters and the NVIDIA driver, then draws them. The only address it will ever load is the TensorBoard server you name yourself, on localhost.

What else it does

Leaves nothing behind

The gaming hub it replaces measured 863 MB across 15 background processes on the same machine, running whether or not you opened it. Cortex registers no background services: close the window and nothing of it is left running.

Rearranges to fit your head

Cards move, hide and drop into empty slots on a grid, and the layout is saved between sessions. Keep the cards you read, close the ones you do not.

Three depths

A dashboard of ring gauges, a detailed view with per-core tables and live charts, and a system-information sheet you can copy or print.

Roadmap

  • Now. The GPU-first card dashboard, the detailed per-core view with live charts, the system-info sheet, and the Training tab with the TensorBoard embed and the alive-or-stalled GPU signal.
  • Next. Per-process VRAM, so you can see which training process owns which card; alerts for imminent VRAM exhaustion, thermal throttling and a stalled run; the Windows CPU and motherboard temperature helper.
  • Then. Native ingestion of TensorBoard's scalar files, so loss and accuracy curves sit on the board beside the GPU telemetry with no browser at all; AMD and Intel GPUs; remote monitoring of a headless training box over the network.
  • Eventually. Real Linux and macOS builds, and one-line installs with winget, brew and Flathub.

Tested so far only on Windows 11, developed under WSL. The Linux and macOS code paths are written and should compile, but they have not been built or run, so treat them as unproven. GPU coverage is NVIDIA-only for now.