What problem does it solve?
This Skill solves the common failure-prone task of converting single-node PyTorch distributed commands into reliable multi-node Slurm sbatch jobs for containerized training and debugging.
Core Features & Use Cases
- Convert launchers: Turn single-node
uv run ... torch.distributed.run workflows into proper multi-node Slurm sbatch jobs using either an srun-native approach or a legacy torch.distributed approach.
- Avoid distributed edge-case failures: Diagnose and mitigate NCCL rendezvous/barrier timeouts, port collisions, incorrect WORLD_SIZE setup, container cache inconsistencies, and common MoE OOMs.
- Container + shared cache correctness: Ensure
NEMO_HOME, HF/UV caches, and warmup steps are on a shared filesystem so all nodes see the same prepared artifacts.
- Interactive debugging path: Provide an
salloc + srun workflow to iteratively reproduce and fix multi-node issues.
Quick Start
Use the Skill to generate a two-phase sbatch script that warms the uv cache on one process and then launches a multi-node srun-based distributed run with MASTER_ADDR, MASTER_PORT, and ranks auto-derived from SLURM environment variables.