verl on ROCm installation#
2026-09-25
2 min read time
System requirements#
To use verl 0.9.0, you need the following prerequisites:
Install verl#
To run verl with ROCm enabled, build from source using the provided Dockerfile.
Build verl from source#
Clone the verl repository containing the Dockerfile:
git clone --recursive --branch release/0.9.0.amd0 https://github.com/AMD-Ecosystem/verl.git cd verl/docker/rocm
Build the Docker image:
docker build -t verl-release-v0.9.0amd0 -f Dockerfile.rocm .
This builds an image with verl 0.9.0 and the required dependencies, including PyTorch 2.12.0, vLLM 0.27.0, SGLang 0.5.19, and Ray 2.58.0.
Run the Docker container:
mkdir -p $HOME/verl-workspace docker run -it \ --name verl-release \ --device /dev/kfd \ --device /dev/dri \ --privileged \ --network=host \ --group-add video \ --cap-add=SYS_PTRACE \ --security-opt seccomp=unconfined \ --shm-size=2048g \ --ulimit memlock=-1 \ --ulimit stack=67108864 \ -v $HOME/verl-workspace:/verl-workspace \ -w /workspace \ verl-release-v0.9.0amd0 \ /bin/bash
Note
--shm-size=2048gis the recommended shared-memory allocation for large multi-GPU ROCm training in this image.
Test the verl installation#
After starting the container, verify that verl and ROCm are working correctly.
Confirm that verl is installed:
pip list | grep verl
Expected output:
verl 0.9.0
Confirm GPU visibility from the container. On ROCm, PyTorch reports AMD GPUs through the CUDA-compatible API:
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"
This should print
Trueand the name of your AMD Instinct GPU (for example,AMD Instinct MI300X,MI325X,MI350XorMI355X).Verify key dependency versions:
python -c "import torch; print('PyTorch', torch.__version__)" pip show vllm ray | grep -E '^(Name|Version):'
If all checks pass, proceed to run a verl example or run a PPO or GRPO training workflow.