picomon monitoring my own mac

Picomon 0.2.0: From AMD Crash Fix to GPU Monitoring That Doesn’t Suck

By Omar Kamali • December 27, 2025 • In AI, GPU, Python, AMD, Nvidia, Apple Silicon

I built picomon because nvtop kept crashing on my AMD rigs with assertion errors. Earlier this month, I whipped up a Python script with an LLM that parsed amd-smi output. It was ugly. It worked. I called it picomon.

Era 1: The Crash

I was training a 7B model on AMD MI200s. nvtop worked fine on NVIDIA. On AMD? Random crashes, assertion failures, zero visibility into memory usage. I needed something that just worked.

Era 2: The Glow-Up

Then I discovered Textual. If you haven’t used it, Textual is what happens when a Python developer gets bored of building web apps and decides terminal UIs should be beautiful. I rewrote picomon from scratch.

What 0.2.0 Actually Does

  • Multi-vendor support: AMD (ROCm), NVIDIA (nvidia-smi), Apple Silicon in one tool
  • Textual TUI: Live-updating dashboard with memory, utilization, temperature, power draw
  • Rig cards: Navigate to a shareable summary of your setup. Mine shows:
╭────────────────────────────────────────────╮
│               P I C O M O N                │
│────────────────────────────────────────────│
│  MacBook-Pro.local                         │
│  arm | 128 GB RAM                          │
│────────────────────────────────────────────│
│  1 × Apple M3 Max GPU                      │
│  128 GB VRAM | 50 W TDP                    │
│────────────────────────────────────────────│
│  GFX  ████████████░░░░░░░░░░░░   50%       │
│  PWR  ██░░░░░░░░░░░░░░░░░░░░░░    6W       │
│  VRAM ██████████████████░░░░░░  97GB       │
╰────────────────────────────────────────────╯
  • Lightweight: No GUI dependencies, installs with pip, runs in a tmux session

The Rig Card Flex

The rig card feature is pure ego. I have a group chat with other ML engineers. We share benchmarks, model configs, and now—server specs. Navigate to it with a quick shortcut, copy the ASCII art, paste it anywhere.

The Technical Bits

The original script used amd-smi --json and parsed the output. The Textual version uses Python’s asyncio to poll metrics every 3 seconds and renders with Rich’s layout engine. The Apple Silicon support was added because I wanted the same tool I use on servers to work on my Mac.

Why This Matters

Most GPU monitoring tools are vendor-locked or bloated. picomon is what you run in a tmux session on a headless server and forget about. The 0.2.0 release just makes it pretty.

Install it: pip install picomon

Source: github.com/omarkamali/picomon

Now back to training models.

***

Timer's up. Publish it.

Omar Kamali

Written by Omar Kamali

Tech Founder & AI Strategist • About me

© 2025 Omar Kamali. All rights reserved.
Made in 🇲🇦 & 🇩🇪