Skip to content

Latest commit

 

History

History

README.md

Primus documentation

Documentation for Primus, a large-scale foundation model training framework for AMD GPUs.


Choose your starting point

I am a... Start here
New user Getting started
User running training jobs User guide
User writing YAML configurations Configuration reference
Engineer tuning performance Technical guides
Operator deploying to production Operations
Contributor to the codebase Developer guide

Documentation structure

Start here if you are new to Primus.

Core workflows and day-to-day usage.

  • CLI reference: primus-cli modes, flags, and subcommands
  • Configuration system: YAML configuration model, presets, overrides, inheritance
  • Pretraining: pretraining concepts: backends, YAML structure, parallelism, configuration inventory
  • Backend training recipes: pretraining commands: copy-paste, GPU-arch-specific run commands
  • Post-training: SFT and LoRA fine-tuning via Megatron Bridge
  • Benchmarking: GEMM, RCCL, and dense-GEMM benchmark suites
  • Preflight: cluster diagnostics and environment validation
  • Projection: memory and performance projection tools
  • Tuning agent: LLM-driven search for an optimal training configuration (uses projection as an oracle)
  • Primus tools: catalog of all Primus tools and ecosystem projects with how-to starting points

Parameter references for Primus presets, backend-facing keys, and commonly used environment variables.

Deep technical topics for advanced users.

Production deployment and operational guidance.

For contributors and maintainers.


Common use cases

I want to...

Goal Document
Understand what Primus is Overview
Browse all Primus tools Primus tools
Install Primus Installation
Run my first training Quickstart
Get an exact run command for my model/GPU Backend training recipes
Write a training YAML configuration Configuration system
Look up a Megatron parameter Megatron parameters
Look up a TorchTitan parameter TorchTitan parameters
Look up an environment variable Environment variables
Understand parallelism strategies Parallelism strategies
Configure parallelism for my model Parallelism configuration
Tune training performance Performance tuning
Train a Mixture-of-Experts model MoE training deep-dive
Train a diffusion (Flux) model Diffusion models
Fine-tune with native SFT / LoRA Native SFT and LoRA
Auto-tune my training configuration Tuning agent
Profile a training run Profiling and observability
Track experiments (WandB/MLflow/TensorBoard) Logging and experiment tracking
Survive node failures on long runs Fault tolerance and elastic training
Reproduce results bit-for-bit Determinism and reproducibility
Prepare training data Data preparation
Deploy to a Slurm cluster Deployment
Debug a training failure Troubleshooting
Contribute to Primus Contributing
Understand the code architecture Architecture
Add a new training backend Extending backends

External resources


Need help? Open an issue on GitHub.