MILES_HARDWARE_PLATFORM=rocm already set. The recipes and train.py
flags are the same as on NVIDIA; what changes is the image, the docker run flags, and the
launcher path.
Images
The twomi35x images are built daily from main by the sgl-project/sglang nightly
workflows and published to Docker Hub under
rocm/sgl-dev:
Each undated tag moves with every build; append
-YYYYMMDD (e.g.
miles-rocm10-mi35x-20260916) to pin one.
To build an image yourself, docker/Dockerfile.rocm holds the recipe:
Start the container
On the host:/root/miles, Megatron-LM
at /root/Megatron-LM, and SGLang at /sgl-workspace/sglang.
Everything from here on runs inside the container.
Verify
Confirm Miles imports and the GPUs are visible:Launch training
The AMD launchers live underscripts/amd/ and mirror the CUDA recipes. Download the model
and data and convert the checkpoint as in the Quick Start
(Steps 2 and 3), then launch:
scripts/amd/ launch the same way.
Next steps
- Quick Start — the same Qwen3-4B run, step by step.
- Hardware requirements — per-GPU status.
- Low Precision RL — FP8 block-wise on MI350X / MI355X.
- Docker build — the ROCm Dockerfile, variants, and tags.

