Skip to content

Dev/production doc#824

Open
amd-fuyuajin wants to merge 9 commits into
mainfrom
dev/production-doc
Open

Dev/production doc#824
amd-fuyuajin wants to merge 9 commits into
mainfrom
dev/production-doc

Conversation

@amd-fuyuajin

Copy link
Copy Markdown
Collaborator

working on production documentation

-- --image rocm/primus:v26.3 train pretrain --config <your-config>.yaml
```

3. **Config file default** — `container.options.image` in `runner/.primus.yaml` (or your `~/.primus.yaml`), which ships as `rocm/primus:v26.2`.

@lhzhang333 lhzhang333 Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Primus version numbers (v26.2/v26.3) need to be aligned, consistent with the main branch.

Comment thread docs/README.md
- **[CLI Architecture](./cli/CLI-ARCHITECTURE.md)** - Design philosophy and deep dive

### 📖 User Guides
### User Guides

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Were the icons all removed on purpose or by mistake?

Comment thread docs/README.md Outdated
- **[Megatron Model Extension Guide](./backends/adding-megatron-models.md)** - How to add a new Megatron model config
- **[TorchTitan Model Extension Guide](./backends/adding-torchtitan-models.md)** - How to add a new TorchTitan model config
- **[Backend Extension Guide](./backends/extending-backends.md)** - How to add a new backend
- **[Megatron Model Extension Guide](./backends/adding-megatron-models.md)** - How to add a new Megatron model config

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unnecessary indentation?

| `enable_primus_turbo` | `true` | Master flag for Primus-Turbo optimized kernels and paths. |
| `use_turbo_attention` | `false` | Turbo attention implementation. |
| `use_turbo_parallel_linear` | `false` | Turbo parallel linear layers. |
| `use_turbo_grouped_mlp` | `false` | Turbo grouped GEMM/MLP flag for MoE paths (the preset ships this key; in the Megatron preset it is a deprecated alias of `use_turbo_grouped_gemm`). |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use_turbo_grouped_mlp has already been removed in main branch.

Comment thread production_docs/README.md
@@ -0,0 +1,139 @@
# Primus Documentation

Production-grade documentation for the Primus large-scale foundation model training framework on AMD GPUs.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Production-grade documentation for the Primus large-scale foundation model training framework on AMD GPUs.
Production documentation for **Primus**, a large-scale foundation model training framework for AMD GPUs.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just say ay either "Production documentation" (better, I think, as that is the folder name) or "Complete documentation". It is not a "grade" difference between the short and the full doc.

Comment thread production_docs/README.md

---

## Quick Navigation by Audience

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The title describes what we are doing here, but sounds a bit odd to the audience themselves. Try something like "Choose your path" or "Choose your starting point". Of course, make sure no links are broken after the title change.

Comment thread production_docs/README.md

| I am a... | Start here |
|-----------|------------|
| **New user** getting started | [Getting Started](./01-getting-started/overview.md) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| **New user** getting started | [Getting Started](./01-getting-started/overview.md) |
| **New user** | [Getting Started](./01-getting-started/overview.md) |

Comment thread production_docs/README.md

## Documentation Structure

### [01 - Getting Started](./01-getting-started/)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because no other section layers are numbered, I suggest removing 01, 02, 03, 04, 05. Of course, make sure links don't break after the changes.

@dso-amd dso-amd Jul 8, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the link seems to link back to itself? Either just remove the link, or, probably better: set up a real "Getting started" landing page, that lists all the topics under it?

The same comment applies to 02, 03, 04 .... etc.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also: the contents that are listed below appear in the different order in the book. Let's make sure they are synced up in order.

Comment thread production_docs/README.md

Start here if you are new to Primus.

- [Project Overview](./01-getting-started/overview.md) -- what Primus does, who it is for, key capabilities

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change all " -- " to just "—" (i.e., use the real em dash in place of --, and do not leave spaces before and after), or to ": " (use colon instead of em dash,).

Comment thread production_docs/README.md

Start here if you are new to Primus.

- [Project Overview](./01-getting-started/overview.md) -- what Primus does, who it is for, key capabilities

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Project Overview](./01-getting-started/overview.md) -- what Primus does, who it is for, key capabilities
- [Project overview](./01-getting-started/overview.md) -- what Primus does, who it is for, key capabilities

Comment thread production_docs/README.md
Start here if you are new to Primus.

- [Project Overview](./01-getting-started/overview.md) -- what Primus does, who it is for, key capabilities
- [Installation Guide](./01-getting-started/installation.md) -- prerequisites, Docker/bare-metal/Slurm setup

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Installation Guide](./01-getting-started/installation.md) -- prerequisites, Docker/bare-metal/Slurm setup
- [Installation guide](./01-getting-started/installation.md) -- prerequisites, Docker/bare-metal/Slurm setup

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also see comment on -- for the last line. Same comment applies throughout this page.

Comment thread production_docs/README.md

- [Project Overview](./01-getting-started/overview.md) -- what Primus does, who it is for, key capabilities
- [Installation Guide](./01-getting-started/installation.md) -- prerequisites, Docker/bare-metal/Slurm setup
- [Quick Start](./01-getting-started/quickstart.md) -- first training run in 5 minutes

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Quick Start](./01-getting-started/quickstart.md) -- first training run in 5 minutes
- [Quickstart](./01-getting-started/quickstart.md) -- first training run in 5 minutes

Comment thread production_docs/README.md

Core workflows and day-to-day usage.

- [CLI Reference](./02-user-guide/cli-reference.md) -- `primus-cli` modes, flags, and subcommands

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [CLI Reference](./02-user-guide/cli-reference.md) -- `primus-cli` modes, flags, and subcommands
- [CLI reference](./02-user-guide/cli-reference.md) -- `primus-cli` modes, flags, and subcommands

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't use title case. Again, make sure the actual file title is also changed, or at least everything is consistent!

Comment thread production_docs/README.md
Core workflows and day-to-day usage.

- [CLI Reference](./02-user-guide/cli-reference.md) -- `primus-cli` modes, flags, and subcommands
- [Configuration System](./02-user-guide/configuration-system.md) -- YAML config model, presets, overrides, inheritance

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Configuration System](./02-user-guide/configuration-system.md) -- YAML config model, presets, overrides, inheritance
- [Configuration system](./02-user-guide/configuration-system.md) -- YAML config model, presets, overrides, inheritance

Comment thread production_docs/README.md
- [CLI Reference](./02-user-guide/cli-reference.md) -- `primus-cli` modes, flags, and subcommands
- [Configuration System](./02-user-guide/configuration-system.md) -- YAML config model, presets, overrides, inheritance
- [Pretraining](./02-user-guide/pretraining.md) -- pretraining **concepts**: backends, YAML structure, parallelism, config inventory
- [Backend Training Recipes](./02-user-guide/training-recipes.md) -- pretraining **commands**: copy-paste, GPU-arch-specific run commands

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Backend Training Recipes](./02-user-guide/training-recipes.md) -- pretraining **commands**: copy-paste, GPU-arch-specific run commands
- [Backend training recipes](./02-user-guide/training-recipes.md) -- pretraining **commands**: copy-paste, GPU-arch-specific run commands

Comment thread production_docs/README.md
- [Configuration System](./02-user-guide/configuration-system.md) -- YAML config model, presets, overrides, inheritance
- [Pretraining](./02-user-guide/pretraining.md) -- pretraining **concepts**: backends, YAML structure, parallelism, config inventory
- [Backend Training Recipes](./02-user-guide/training-recipes.md) -- pretraining **commands**: copy-paste, GPU-arch-specific run commands
- [Post-Training](./02-user-guide/posttraining.md) -- SFT and LoRA fine-tuning via Megatron Bridge

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Post-Training](./02-user-guide/posttraining.md) -- SFT and LoRA fine-tuning via Megatron Bridge
- [Post-training](./02-user-guide/posttraining.md) -- SFT and LoRA fine-tuning via Megatron Bridge

Comment thread production_docs/README.md

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

- [Megatron Parameters](./03-configuration-reference/megatron-parameters.md) -- Megatron-LM backend YAML parameters and Primus overrides

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Megatron Parameters](./03-configuration-reference/megatron-parameters.md) -- Megatron-LM backend YAML parameters and Primus overrides
- [Megatron parameters](./03-configuration-reference/megatron-parameters.md) -- Megatron-LM backend YAML parameters and Primus overrides

Comment thread production_docs/README.md
Parameter references for Primus presets, backend-facing keys, and commonly used environment variables.

- [Megatron Parameters](./03-configuration-reference/megatron-parameters.md) -- Megatron-LM backend YAML parameters and Primus overrides
- [TorchTitan Parameters](./03-configuration-reference/torchtitan-parameters.md) -- Primus TorchTitan preset keys and common JobConfig fields

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [TorchTitan Parameters](./03-configuration-reference/torchtitan-parameters.md) -- Primus TorchTitan preset keys and common JobConfig fields
- [TorchTitan parameters](./03-configuration-reference/torchtitan-parameters.md) -- Primus TorchTitan preset keys and common JobConfig fields

Comment thread production_docs/README.md

- [Megatron Parameters](./03-configuration-reference/megatron-parameters.md) -- Megatron-LM backend YAML parameters and Primus overrides
- [TorchTitan Parameters](./03-configuration-reference/torchtitan-parameters.md) -- Primus TorchTitan preset keys and common JobConfig fields
- [MaxText Parameters](./03-configuration-reference/maxtext-parameters.md) -- Primus MaxText overlay defaults and common fields

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [MaxText Parameters](./03-configuration-reference/maxtext-parameters.md) -- Primus MaxText overlay defaults and common fields
- [MaxText parameters](./03-configuration-reference/maxtext-parameters.md) -- Primus MaxText overlay defaults and common fields

Comment thread production_docs/README.md
- [Megatron Parameters](./03-configuration-reference/megatron-parameters.md) -- Megatron-LM backend YAML parameters and Primus overrides
- [TorchTitan Parameters](./03-configuration-reference/torchtitan-parameters.md) -- Primus TorchTitan preset keys and common JobConfig fields
- [MaxText Parameters](./03-configuration-reference/maxtext-parameters.md) -- Primus MaxText overlay defaults and common fields
- [Megatron Bridge Parameters](./03-configuration-reference/megatron-bridge-parameters.md) -- Megatron Bridge recipe, SFT, and pretraining fields surfaced through Primus

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Megatron Bridge Parameters](./03-configuration-reference/megatron-bridge-parameters.md) -- Megatron Bridge recipe, SFT, and pretraining fields surfaced through Primus
- [Megatron Bridge parameters](./03-configuration-reference/megatron-bridge-parameters.md) -- Megatron Bridge recipe, SFT, and pretraining fields surfaced through Primus

Comment thread production_docs/README.md
- [TorchTitan Parameters](./03-configuration-reference/torchtitan-parameters.md) -- Primus TorchTitan preset keys and common JobConfig fields
- [MaxText Parameters](./03-configuration-reference/maxtext-parameters.md) -- Primus MaxText overlay defaults and common fields
- [Megatron Bridge Parameters](./03-configuration-reference/megatron-bridge-parameters.md) -- Megatron Bridge recipe, SFT, and pretraining fields surfaced through Primus
- [Environment Variables](./03-configuration-reference/environment-variables.md) -- practical reference for commonly encountered environment variables

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Environment Variables](./03-configuration-reference/environment-variables.md) -- practical reference for commonly encountered environment variables
- [Environment variables](./03-configuration-reference/environment-variables.md) -- practical reference for commonly encountered environment variables

Comment thread production_docs/README.md
- [Megatron Bridge Parameters](./03-configuration-reference/megatron-bridge-parameters.md) -- Megatron Bridge recipe, SFT, and pretraining fields surfaced through Primus
- [Environment Variables](./03-configuration-reference/environment-variables.md) -- practical reference for commonly encountered environment variables

### [04 - Technical Guides](./04-technical-guides/)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### [04 - Technical Guides](./04-technical-guides/)
### [04 - Technical guides](./04-technical-guides/)

Comment thread production_docs/README.md

Deep technical topics for advanced users.

- [Parallelism Strategies](./04-technical-guides/parallelism-strategies.md) -- DP, TP, PP, SP, CP, EP, FSDP explained

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change all titles to use sentence case. I will skipping commenting them one by one below....


## Executive summary

**Primus (Primus-LM)** is a YAML-driven training framework for large-scale foundation model work on AMD GPUs (ROCm). It targets **machine learning engineers**, **researchers**, and **platform/operations teams** who need reproducible, multi-backend training pipelines on AMD Instinct hardware.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not clear what is Primus-LM and how it is related to Primus. Either add some explanations, for remove Primus-LM.


**Repository:** [https://github.com/AMD-AIG-AIMA/Primus](https://github.com/AMD-AIG-AIMA/Primus)

**License:** The project README states Apache License 2.0; the repository root `LICENSE` file is MIT. Treat licensing as project-specific and confirm with your compliance process before redistribution.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not look to be the right place for discussing licensing. And it's also not clear when we have 2 licenses for this software, and what should users do with that. Move this to e.g. end of the doc (?), and give clear explanations.

| **Multi-backend training** | One workflow surface over Megatron-LM, TorchTitan, JAX MaxText, Megatron Bridge, and HummingbirdXT. |
| **Unified CLI** | `primus-cli` with **direct** (bare metal), **container** (Docker/Podman), and **slurm** (cluster) execution modes. |
| **YAML-driven configuration** | Experiment, model, module, and platform presets composed from reusable fragments under `primus/configs/`. |
| **Benchmark suite** | Built-in benchmarks (for example GEMM) for quick hardware and stack validation. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| **Benchmark suite** | Built-in benchmarks (for example GEMM) for quick hardware and stack validation. |
| **Benchmark suite** | Built-in benchmarks (for example, GEMM) for quick hardware and stack validation. |

| **Preflight diagnostics** | Cluster-oriented checks for host, GPU, and network health before long jobs. |
| **Performance projection** | Tools to estimate memory use and throughput without occupying a full cluster. |

Workflows span **pretraining** and **post-training** (including SFT and LoRA). Some Megatron configuration files include RL-related parameters, but this doc set does not treat RL workflows as publication-ready until maintainers add examples and support guidance.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't discuss there what is or is not publication ready and when they will be published. Explain it better here why RL workflows are not published (without promising we will publish them).

| **Network** | Network configuration relevant to distributed training |
| **Performance tests** | Heavier GEMM and communication tests (slower than info-only) |

Running `preflight` with **no selection flags** runs the full workflow (informational report plus performance tests). Narrow flags restrict work to the pieces you need.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is redundant, as it is illustrated below. Remove?

primus-cli direct -- preflight --host --gpu --network
```

### Full preflight (info and performance tests)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Full preflight (info and performance tests)
### Full preflight (information and performance tests)

primus-cli direct -- preflight --host --gpu --network
```

### Full preflight (info and performance tests)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Full preflight (info and performance tests)
### Full preflight (information and performance tests)


### Performance tests only

Skips the host/GPU/network info report and runs GEMM + communication tests.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Skips the host/GPU/network info report and runs GEMM + communication tests.
Skips the host, GPU, and network information report and runs GEMM + communication tests.

| `--host` | Include host information (CPU, memory, PCIe). Alias: `--check-host`. |
| `--gpu` | Include GPU information. Alias: `--check-gpu`. |
| `--network` | Include network information. Alias: `--check-network`. |
| `--perf-test` | Run **only** performance tests (GEMM and intra/inter-node communication); skips the info report. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `--perf-test` | Run **only** performance tests (GEMM and intra/inter-node communication); skips the info report. |
| `--perf-test` | Run **only** performance tests (GEMM plus intra- and inter-node communication); skip the information report. |

| `--network` | Include network information. Alias: `--check-network`. |
| `--perf-test` | Run **only** performance tests (GEMM and intra/inter-node communication); skips the info report. |
| `--plot` | Generate plots when used with `--perf-test`. |
| `--dist-timeout-sec` | Timeout in seconds for `torch.distributed` process-group init (default: 120). On failure, preflight still attempts to write the info report and exits non-zero. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `--dist-timeout-sec` | Timeout in seconds for `torch.distributed` process-group init (default: 120). On failure, preflight still attempts to write the info report and exits non-zero. |
| `--dist-timeout-sec` | Timeout in seconds for `torch.distributed` process-group initialization (default: 120). On failure, `preflight` still attempts to write the information report and exits with a non-zero status. |


**Behavior notes**

- With **no** `--host`, `--gpu`, or `--network` flags and **no** `--perf-test`, preflight runs the **full** default (info plus perf tests).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- With **no** `--host`, `--gpu`, or `--network` flags and **no** `--perf-test`, preflight runs the **full** default (info plus perf tests).
- With **no** `--host`, `--gpu`, or `--network` flags and **no** `--perf-test`, `preflight` runs in the **full** workflow (information plus performance tests).

**Behavior notes**

- With **no** `--host`, `--gpu`, or `--network` flags and **no** `--perf-test`, preflight runs the **full** default (info plus perf tests).
- Combine `--host`, `--gpu`, and `--network` to limit the informational report to those sections.

@dso-amd dso-amd Jul 8, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Combine `--host`, `--gpu`, and `--network` to limit the informational report to those sections.
- Combine `--host`, `--gpu`, and `--network` to limit the information report to include only those sections.

primus-cli direct -- preflight --host --gpu --network
```

### Multi-node (Slurm example)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Multi-node (Slurm example)
### Multi-node (Slurm mode)

primus-cli slurm srun -N 4 -- preflight --host --gpu --network
```

Full preflight:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Full preflight:
Full `preflight`:

primus-cli slurm srun -N 4 -- preflight --perf-test
```

Use the same launcher pattern you rely on for training so distributed environment variables (`WORLD_SIZE`, `RANK`, `MASTER_ADDR`, etc.) are consistent.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Use the same launcher pattern you rely on for training so distributed environment variables (`WORLD_SIZE`, `RANK`, `MASTER_ADDR`, etc.) are consistent.
Use the same launcher pattern you reply on for training to ensure that distributed environment variables (`WORLD_SIZE`, `RANK`, `MASTER_ADDR`, etc.) are consistent.


| File(s) | Contents |
|---------|----------|
| `<name>.md` / `<name>.pdf` | **Informational** report: host, GPU, and network sections when those checks are enabled. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `<name>.md` / `<name>.pdf` | **Informational** report: host, GPU, and network sections when those checks are enabled. |
| `<name>.md` / `<name>.pdf` | **Information** report: host, GPU, and network sections when those checks are enabled. |

| File(s) | Contents |
|---------|----------|
| `<name>.md` / `<name>.pdf` | **Informational** report: host, GPU, and network sections when those checks are enabled. |
| `<name>_perf.md` / `<name>_perf.pdf` | **Performance** report: GEMM and communication results from the perf test path. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `<name>_perf.md` / `<name>_perf.pdf` | **Performance** report: GEMM and communication results from the perf test path. |
| `<name>_perf.md` / `<name>_perf.pdf` | **Performance** report: GEMM and communication results from the performance test path. |


## Interpreting results

1. **Info report:** Confirm GPU count, model match expectations, and PCIe topology is sensible for your workload. Network sections should reflect the interfaces you intend for distributed training.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. **Info report:** Confirm GPU count, model match expectations, and PCIe topology is sensible for your workload. Network sections should reflect the interfaces you intend for distributed training.
1. **Information report:** Confirm GPU count, model match expectations, and PCIe topology is sensible for your workload. Network sections should reflect the interfaces you intend for distributed training.

## Interpreting results

1. **Info report:** Confirm GPU count, model match expectations, and PCIe topology is sensible for your workload. Network sections should reflect the interfaces you intend for distributed training.
2. **Perf report:** Compare GEMM and collective results across nodes. Large outliers on one node often indicate driver, fabric, or process placement issues.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. **Perf report:** Compare GEMM and collective results across nodes. Large outliers on one node often indicate driver, fabric, or process placement issues.
2. **Performance report:** Compare GEMM and collective results across nodes. Large outliers on one node often indicate driver, fabric, or process placement issues.


1. **Info report:** Confirm GPU count, model match expectations, and PCIe topology is sensible for your workload. Network sections should reflect the interfaces you intend for distributed training.
2. **Perf report:** Compare GEMM and collective results across nodes. Large outliers on one node often indicate driver, fabric, or process placement issues.
3. **Timeouts:** If `--dist-timeout-sec` is exceeded, inspect firewall rules, interface bindings, and `MASTER_ADDR` / `MASTER_PORT` before scaling up training.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. **Timeouts:** If `--dist-timeout-sec` is exceeded, inspect firewall rules, interface bindings, and `MASTER_ADDR` / `MASTER_PORT` before scaling up training.
3. **Timeouts:** If `--dist-timeout-sec` is exceeded, inspect firewall rules, interface bindings, `MASTER_ADDR`, and `MASTER_PORT` before scaling up training.


| Symptom | What to verify in reports |
|---------|---------------------------|
| Missing or wrong GPU count | GPU section; ROCm health on the node |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Missing or wrong GPU count | GPU section; ROCm health on the node |
| Missing or wrong GPU count | GPU section: ROCm health on the node |

| Symptom | What to verify in reports |
|---------|---------------------------|
| Missing or wrong GPU count | GPU section; ROCm health on the node |
| Wrong network device or address | Network section; NCCL/RCCL environment |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Wrong network device or address | Network section; NCCL/RCCL environment |
| Wrong network device or address | Network section: NCCL/RCCL environment |

|---------|---------------------------|
| Missing or wrong GPU count | GPU section; ROCm health on the node |
| Wrong network device or address | Network section; NCCL/RCCL environment |
| Slow or asymmetric inter-node comm | Perf report; compare ranks or nodes |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Slow or asymmetric inter-node comm | Perf report; compare ranks or nodes |
| Slow or asymmetric inter-node comm | Performance report: compare ranks or nodes |

| Missing or wrong GPU count | GPU section; ROCm health on the node |
| Wrong network device or address | Network section; NCCL/RCCL environment |
| Slow or asymmetric inter-node comm | Perf report; compare ranks or nodes |
| Hangs at distributed init | Use `--dist-timeout-sec`; check rendezvous and Slurm network setup |

@dso-amd dso-amd Jul 8, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Hangs at distributed init | Use `--dist-timeout-sec`; check rendezvous and Slurm network setup |
| Hangs at distributed process group initialization | Use `--dist-timeout-sec` to avoid, then check rendezvous and Slurm network setup |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants