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#

Getting started#

Start here if you are new to Primus.

  • Project overview: what Primus does, who it is for, key capabilities

  • Installation guide: prerequisites, Docker/bare-metal/Slurm setup

  • Quickstart: first training run in 5 minutes

  • Release notes: published training image tags and their full software stacks (single source of truth)

  • Glossary: terms, acronyms, and domain concepts

User guide#

Core workflows and day-to-day usage.

Configuration reference#

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

Technical guides#

Deep technical topics for advanced users.

Operations#

Production deployment and operational guidance.

Developer guide#

For contributors and maintainers.

Technical blogs#

Long-form articles on the reasoning behind Primus features, most of them published on ROCm Blogs.

  • Blog index: every Primus article, published and in progress, with the documentation each one maps to


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

Find out what is inside a training image

Release notes

Get an exact run command for my model/GPU

End-to-end training recipes

Train a SpecForge drafter on ROCm

SpecForge on Primus

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

Use the fused MegaMoE layer

MegaMoE fused MoE layer

Train a diffusion (Flux) model

Diffusion models

Fine-tune with native SFT / LoRA

Native SFT and LoRA

Run native LoRA on MI455X (gfx1250)

Native SFT LoRA on MI455X

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

Read the technical blogs behind a feature

Blog index

Cite Primus in a paper

Citation


External resources#


Need help? Open an issue on GitHub.