
Making distributed PyTorch training slowdowns easier to spot
I have been working on TraceML, a local-first runtime diagnostics tool for PyTorch training.
The latest work is focused on distributed runs: making multi-rank / multi-node training easier to inspect after the run finishes. The idea is to produce a compact performance summary for each run, including:
- step time breakdown
- dataloader overhead
- compute vs wait time
- GPU memory behaviour
- rank skew / stragglers
The goal is more of a first-pass regression check: did this run get slower, and where?
For people running DDP/FSDP jobs: what distributed performance issues do you usually miss until too late?
If you have run into these kinds of issues, I would love feedback on what signals would make a distributed training summary actually useful.
Tool info: https://github.com/traceopt-ai/traceml