vLLM-Omni + MindIE-SD (Ubuntu)
Quick Reference
| Item | Value |
|---|---|
| Image | mindiesd |
| Tags | v3.0.0-A2-ubuntu22.04-py3.11-aarch64 |
v3.0.0-A3-ubuntu22.04-py3.11-aarch64 |
|
| Base Images | A2: quay.io/ascend/vllm-omni:v0.20.0 |
A3: quay.io/ascend/vllm-omni:v0.20.0-a3 |
|
| Architecture | linux/arm64 (aarch64) |
| OS | Ubuntu 22.04 |
| Python | 3.11 |
| CANN | 8.5.1 |
| License | Mulan PSL v2 |
Image Overview
This image combines vLLM-Omni and MindIE-SD (Mind Inference Engine Stable Diffusion) into a single container, enabling both multi-modal LLM inference and Stable Diffusion image generation on Ascend NPUs.
It is built on top of the quay.io/ascend/vllm-omni base image (which includes CANN 8.5.1, torch, torch_npu, vllm, and vllm_ascend). Two variants are provided for different NPU series:
- A2: based on
quay.io/ascend/vllm-omni:v0.20.0, for Ascend A2 series NPUs - A3: based on
quay.io/ascend/vllm-omni:v0.20.0-a3, for Ascend A3 series NPUs
Both variants add the following Ascend tuning and debugging tools:
| Component | Version | Description |
|---|---|---|
| mindiesd | latest | MindIE Stable Diffusion inference engine |
| msprobe | 0.1.4 | Precision debugging tool |
| msmodelslim | 8.2.1 | Model compression and quantization tool |
| msprof-analyze | 26.0.0 | MindStudio Profiler analysis tool |
| msprof | (bundled with CANN) | NPU profiling tool |
Image Tags & Dockerfile Path
Tag Naming Convention
{version}-cann{cann_version}-{series}-{os}-py{python_version}-{architecture}
| Series | Example Tag | Base Image |
|---|---|---|
| A2 | v3.0.0-A2-ubuntu22.04-py3.11-aarch64 |
quay.io/ascend/vllm-omni:v0.20.0 |
| A3 | v3.0.0-A3-ubuntu22.04-py3.11-aarch64 |
quay.io/ascend/vllm-omni:v0.20.0-a3 |
Dockerfile Path
The Dockerfiles are archived in the MindIE-SD source repository at:
docker/omni/Dockerfile.a2.ubuntu # A2 series
docker/omni/Dockerfile.a3.ubuntu # A3 series
Quick Start
Pull Base Image
Browse all available tags at quay.io/ascend/vllm-omni.
A2:
docker pull quay.io/ascend/vllm-omni:v0.20.0
A3:
docker pull quay.io/ascend/vllm-omni:v0.20.0-a3
Tip: You can also use
podman pullin place ofdocker pullif you prefer Podman as your container runtime.
Run the Container
A2:
docker run -it --rm --name=mindiesd \
--privileged \
--shm-size=1g \
--device /dev/davinci0 \
--device /dev/davinci1 \
--device /dev/davinci2 \
--device /dev/davinci3 \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /root/.cache:/root/.cache \
mindiesd:v3.0.0-A2-ubuntu22.04-py3.11-aarch64 \
bash
A3:
docker run -it --rm --name=mindiesd \
--privileged \
--shm-size=1g \
--device /dev/davinci0 \
--device /dev/davinci1 \
--device /dev/davinci2 \
--device /dev/davinci3 \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /root/.cache:/root/.cache \
mindiesd:v3.0.0-A3-ubuntu22.04-py3.11-aarch64 \
bash
Note: The
--privilegedflag and device mappings are required for NPU access. The host must mount driver libraries (/usr/local/Ascend/driver/lib64), driver version info, DCMI,npu-smi, and Ascend install info into the container.
Build Locally
Clone the MindIE-SD repository and build from the docker/omni directory:
A2:
git clone https://github.com/Ascend/MindIE-SD.git
cd MindIE-SD/docker/omni
docker build -t mindiesd:v3.0.0-A2-ubuntu22.04-py3.11-aarch64 \
-f Dockerfile.a2.ubuntu .
A3:
git clone https://github.com/Ascend/MindIE-SD.git
cd MindIE-SD/docker/omni
docker build -t mindiesd:v3.0.0-A3-ubuntu22.04-py3.11-aarch64 \
-f Dockerfile.a3.ubuntu .
Customize (Secondary Development)
To add your own dependencies or application code, create a new Dockerfile based on this image:
FROM mindiesd:v3.0.0-A2-ubuntu22.04-py3.11-aarch64
# Add your custom packages
RUN pip install --no-cache-dir your-package
# Copy your application
COPY ./your-app /workspace/your-app
WORKDIR /workspace/your-app
Hardware Support
| Item | Requirement |
|---|---|
| NPU | Ascend A2 series (e.g., Atlas 300I Duo, Atlas A2 training series) |
| Ascend A3 series | |
| Driver | Ascend NPU driver must be installed on the host |
| Host Mounts | /usr/local/dcmi, /usr/local/bin/npu-smi, /usr/local/Ascend/driver/lib64/, /usr/local/Ascend/driver/version.info, /etc/ascend_install.info, /root/.cache |
Compatibility Changes
Refer to the MindIE-SD documentation for the latest release notes and compatibility information.
License & Disclaimer
This image is licensed under the Mulan Permissive Software License, Version 2 (Mulan PSL v2). See the LICENSE file for the full text.
By pulling and using this container image, you accept the terms and conditions of the Huawei Container License Agreement. A copy of the license is available at: https://www.hiascend.com/en/legal/ascendhub-download
You agree and undertake that when using Huawei or third-party software in this image, you will comply with the license agreement of the corresponding Huawei or third-party software.