2026-09-11 02:41:45 -07:00
<!-- markdownlint-disable MD001 MD025 -->
2025-12-11 17:42:05 +08:00
# --8<-- [start:requirements]
- GPU: Validated on gfx942 (It should be supported on the AMD GPUs that are supported by vLLM.)
# --8<-- [end:requirements]
2026-09-11 02:41:45 -07:00
2025-12-11 17:42:05 +08:00
# --8<-- [start:set-up-using-python]
2026-09-11 02:41:45 -07:00
For ROCm, vLLM-Omni currently recommends the setup steps through Docker Images.
2026-09-22 23:52:01 +08:00
vLLM-Omni depends on the matching major/minor release of vLLM. The 0.30
development line uses vLLM 0.30.x. Published 0.28.0 wheels and images use vLLM
2026-09-11 02:41:45 -07:00
0.28.x.
The Dockerfile's `BASE_IMAGE` pin applies only to Docker builds. The
`vllm-omni` package does not install vLLM as a dependency, so non-Docker source
installs must install the matching ROCm vLLM release explicitly before
installing vLLM-Omni, as shown below.
2025-12-11 17:42:05 +08:00
# --8<-- [start:pre-built-wheels]
2026-02-05 21:47:41 +08:00
#### Installation of vLLM
2026-09-22 23:52:01 +08:00
These pre-built wheel instructions install the published vLLM-Omni 0.28.0 release. For the 0.30 development line, use the source-install instructions below.
2026-09-10 12:08:28 +08:00
2026-02-05 21:47:41 +08:00
vLLM-Omni is built based on vLLM. Please install it with command below.
2026-09-11 02:41:45 -07:00
2026-02-05 21:47:41 +08:00
```bash
2026-08-27 14:12:55 +08:00
uv pip install vllm == 0.28.0+rocm723 --extra-index-url https://wheels.vllm.ai/rocm/0.28.0/rocm723
2026-02-05 21:47:41 +08:00
```
#### Installation of vLLM-Omni
```bash
# we need to add --no-build-isolation as the torch
# is not obtained from pypi, we have to install using the
# torch installed in our environment
2026-09-10 12:08:28 +08:00
uv pip install vllm-omni== 0.28.0
2026-02-05 21:47:41 +08:00
# Optional if want to run Qwen3 TTS
uv pip uninstall onnxruntime # should be removed before we can install onnxruntime-rocm
2026-04-16 21:24:47 -04:00
uv pip install onnxruntime-rocm
2026-02-05 21:47:41 +08:00
```
2025-12-11 17:42:05 +08:00
# --8<-- [end:pre-built-wheels]
# --8<-- [start:build-wheel-from-source]
2026-02-05 21:47:41 +08:00
#### Installation of vLLM
2026-09-11 02:41:45 -07:00
2026-09-22 23:52:01 +08:00
If you do not need to modify source code of vLLM, you can directly install the stable 0.30.0 release version of the library
2026-02-05 21:47:41 +08:00
```bash
2026-09-22 23:52:01 +08:00
uv pip install vllm == 0.30.0+rocm723 --extra-index-url https://wheels.vllm.ai/rocm/0.30.0/rocm723
2026-02-05 21:47:41 +08:00
```
2026-09-22 23:52:01 +08:00
The pre-built 0.30.0 vLLM wheel targets ROCm 7.2.3. If you need a different ROCm stack or want to reuse an existing PyTorch installation, build vLLM from source instead.
2026-02-05 21:47:41 +08:00
#### Installation of vLLM-Omni
2026-09-11 02:41:45 -07:00
2026-02-05 21:47:41 +08:00
Since vllm-omni is rapidly evolving, it's recommended to install it from source
2026-09-11 02:41:45 -07:00
2026-02-05 21:47:41 +08:00
```bash
git clone https://github.com/vllm-project/vllm-omni.git
cd vllm-omni
VLLM_OMNI_TARGET_DEVICE = rocm uv pip install -e .
# OR
uv pip install -e . --no-build-isolation
```
<details><summary>(Optional) Installation of vLLM from source</summary>
If you want to check, modify or debug with source code of vLLM, install the library from source with the following instructions:
```bash
git clone https://github.com/vllm-project/vllm.git
cd vllm
2026-09-22 23:52:01 +08:00
git checkout v0.30.0
2026-02-05 21:47:41 +08:00
python3 -m pip install -r requirements/rocm.txt
python3 setup.py develop
```
2025-12-11 17:42:05 +08:00
# --8<-- [end:build-wheel-from-source]
2025-12-21 12:51:37 +09:00
# --8<-- [start:build-docker]
#### Build docker image
2026-09-11 02:41:45 -07:00
The source build defaults to the published upstream base image
2026-09-22 23:52:01 +08:00
`vllm/vllm-openai-rocm:v0.30.0` , aligned with the vLLM release used by CI.
2026-09-11 02:41:45 -07:00
Older or custom bases must provide the vLLM APIs checked by the Dockerfile's
image-build canary. This upstream base is distinct from the prebuilt
`vllm/vllm-omni-rocm` images discussed below; their published-tag availability
is tracked in [#7405 ](https://github.com/vllm-project/vllm-omni/issues/7405 ).
2025-12-21 12:51:37 +09:00
```bash
DOCKER_BUILDKIT = 1 docker build -f docker/Dockerfile.rocm -t vllm-omni-rocm .
```
2026-09-11 02:41:45 -07:00
To select the upstream ROCm base explicitly, pass `BASE_IMAGE` :
```bash
DOCKER_BUILDKIT = 1 docker build \
-f docker/Dockerfile.rocm \
2026-09-22 23:52:01 +08:00
--build-arg BASE_IMAGE = vllm/vllm-openai-rocm:v0.30.0 \
2026-09-11 02:41:45 -07:00
-t vllm-omni-rocm .
```
2025-12-21 12:51:37 +09:00
#### Launch the docker image
2026-01-21 22:39:45 +08:00
##### Launch with OpenAI API Server
2026-09-11 02:41:45 -07:00
```bash
2026-01-21 22:39:45 +08:00
docker run --rm \
--group-add= video \
--ipc= host \
--cap-add= SYS_PTRACE \
--security-opt seccomp = unconfined \
--device /dev/kfd \
--device /dev/dri \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN= $HF_TOKEN " \
-p 8091:8091 \
--ipc= host \
vllm-omni-rocm \
--model Qwen/Qwen3-Omni-30B-A3B-Instruct --port 8091
```
##### Launch with interactive session for development
2026-09-11 02:41:45 -07:00
```bash
2026-01-21 22:39:45 +08:00
docker run --rm -it \
2025-12-21 12:51:37 +09:00
--network= host \
--group-add= video \
--ipc= host \
--cap-add= SYS_PTRACE \
--security-opt seccomp = unconfined \
--device /dev/kfd \
--device /dev/dri \
-v <path/to/model>:/app/model \
2026-01-21 22:39:45 +08:00
-v ~/.cache/huggingface:/root/.cache/huggingface \
--entrypoint bash \
vllm-omni-rocm
2025-12-21 12:51:37 +09:00
```
# --8<-- [end:build-docker]
2025-12-11 17:42:05 +08:00
# --8<-- [start:pre-built-images]
2026-01-07 17:06:48 +08:00
vLLM-Omni offers an official docker image for deployment. These images are built on top of vLLM docker images and available on Docker Hub as [vllm/vllm-omni-rocm ](https://hub.docker.com/r/vllm/vllm-omni-rocm/tags ). The version of vLLM-Omni indicates which release of vLLM it is based on.
#### Launch vLLM-Omni Server
2026-09-11 02:41:45 -07:00
2026-01-07 17:06:48 +08:00
Here's an example deployment command that has been verified on 2 x MI300's:
2026-09-11 02:41:45 -07:00
2026-01-07 17:06:48 +08:00
```bash
2026-01-21 22:39:45 +08:00
docker run --rm \
2026-01-07 17:06:48 +08:00
--group-add= video \
--ipc= host \
--cap-add= SYS_PTRACE \
--security-opt seccomp = unconfined \
--device /dev/kfd \
--device /dev/dri \
-v <path/to/model>:/app/model \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN= $HF_TOKEN " \
2026-01-21 22:39:45 +08:00
-p 8091:8091 \
2026-08-27 14:12:55 +08:00
vllm/vllm-omni-rocm:v0.28.0 \
2026-01-21 22:39:45 +08:00
--model Qwen/Qwen3-Omni-30B-A3B-Instruct --omni --port 8091
2026-01-07 17:06:48 +08:00
```
2026-09-11 02:41:45 -07:00
#### Launch an interactive terminal with prebuilt docker image
2026-01-07 17:06:48 +08:00
If you want to run in dev environment you can launch the docker image as follows:
2026-09-11 02:41:45 -07:00
2026-01-07 17:06:48 +08:00
```bash
2026-01-21 22:39:45 +08:00
docker run --rm -it \
2026-01-07 17:06:48 +08:00
--network= host \
--group-add= video \
--ipc= host \
--cap-add= SYS_PTRACE \
--security-opt seccomp = unconfined \
--device /dev/kfd \
--device /dev/dri \
-v <path/to/model>:/app/model \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN= $HF_TOKEN " \
2026-01-21 22:39:45 +08:00
--entrypoint bash \
2026-08-27 14:12:55 +08:00
vllm/vllm-omni-rocm:v0.28.0
2026-01-07 17:06:48 +08:00
```
2025-12-11 17:42:05 +08:00
# --8<-- [end:pre-built-images]