Sign inSign up

ascendai/mindiesd

By ascendai

•Updated 8 days ago

Image
0

431

ascendai/mindiesd repository overview

⁠MindIE-SD

⁠Quick Reference

ItemValue
Imagemindiesd
Tagsv3.0.0-cann8.5.1-torch_npu2.9.0-910b-ubuntu22.04-py3.11-aarch64
v3.0.0-cann8.5.1-torch_npu2.9.0-a3-ubuntu22.04-py3.11-aarch64
Base ImagesAtlas 800I A2 inference server: quay.io/ascend/vllm-omni:v0.20.0
Atlas 800I A3 SuperPoD Server: quay.io/ascend/vllm-omni:v0.20.0-a3
Architecturelinux/arm64 (aarch64)
OSUbuntu 22.04
Python3.11
CANN8.5.1
TorchNPU2.9.0
LicenseMulan PSL v2

This image is maintained by the MindIE community⁠.

Get help:

⁠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 Atlas NPUs.

It is built on top of the quay.io/ascend/vllm-omni base image (which includes CANN 8.5.1, torch, TorchNPU, vllm, and vllm_ascend). Two variants are provided for different NPU series:

  • Atlas 800I A2 inference server: based on quay.io/ascend/vllm-omni:v0.20.0, for Atlas 800I A2 inference server
  • Atlas 800I A3 SuperPoD Server: based on quay.io/ascend/vllm-omni:v0.20.0-a3, for Atlas 800I A3 SuperPoD Server

Both variants add the following Atlas tuning and debugging tools:

ComponentVersionDescription
mindiesdlatestMindIE Stable Diffusion inference engine
msprobe0.1.4Precision debugging tool
msmodelslim8.2.1Model compression and quantization tool
msprof-analyze26.0.0MindStudio Profiler analysis tool
msprof(bundled with CANN)NPU profiling tool

⁠Image Tags & Dockerfile Path

⁠Tag Naming Convention
{version}-{cann version}-{torch_npu version}-{supported product}-{os}-{python version}-{architecture}-{others}
SeriesExample TagBase Image
Atlas 800I A2 inference serverv3.0.0-cann8.5.1-torch_npu2.9.0-910b-ubuntu22.04-py3.11-aarch64quay.io/ascend/vllm-omni:v0.20.0
Atlas 800I A3 SuperPoD Serverv3.0.0-cann8.5.1-torch_npu2.9.0-a3-ubuntu22.04-py3.11-aarch64quay.io/ascend/vllm-omni:v0.20.0-a3
⁠v3.0.0 Version Dockerfile Directory

Each series has a dedicated Dockerfile, archived in the docker/omni directory of the MindIE-SD source repository:

SeriesExample TagDockerfile
Atlas 800I A2 inference serverv3.0.0-cann8.5.1-torch_npu2.9.0-910b-ubuntu22.04-py3.11-aarch64Dockerfile⁠
Atlas 800I A3 SuperPoD Serverv3.0.0-cann8.5.1-torch_npu2.9.0-a3-ubuntu22.04-py3.11-aarch64Dockerfile⁠

⁠Quick Start

⁠Pull Base Image

Browse all available tags at quay.io/ascend/vllm-omni⁠.

Atlas 800I A2 inference server:

docker pull quay.io/ascend/vllm-omni:v0.20.0

Atlas 800I A3 SuperPoD Server:

docker pull quay.io/ascend/vllm-omni:v0.20.0-a3

Tip: You can also use podman pull in place of docker pull if you prefer Podman as your container runtime.

⁠Run the Container

Atlas 800I A2 inference server:

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-cann8.5.1-torch_npu2.9.0-910b-ubuntu22.04-py3.11-aarch64 \
    bash

Atlas 800I A3 SuperPoD Server:

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-cann8.5.1-torch_npu2.9.0-a3-ubuntu22.04-py3.11-aarch64 \
    bash

Note: The --privileged flag 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 Atlas install info into the container.

⁠Build Locally

Clone the MindIE-SD repository and build from the docker/omni directory:

Atlas 800I A2 inference server:

git clone https://gitcode.com/Ascend/MindIE-SD.git
cd MindIE-SD/docker/omni

docker build -t mindiesd:v3.0.0-cann8.5.1-torch_npu2.9.0-910b-ubuntu22.04-py3.11-aarch64 \
    -f Dockerfile.a2.ubuntu .

Atlas 800I A3 SuperPoD Server:

git clone https://gitcode.com/Ascend/MindIE-SD.git
cd MindIE-SD/docker/omni

docker build -t mindiesd:v3.0.0-cann8.5.1-torch_npu2.9.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-cann8.5.1-torch_npu2.9.0-910b-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

ItemRequirement
NPUAtlas 800I A2 inference server
Atlas 800I A3 SuperPoD Server
DriverAtlas 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.

Tag summary

Content type

Image

Digest

sha256:92f09c1cb…

Size

7.2 GB

Last updated

8 days ago

docker pull ascendai/mindiesd:v3.1.0-A5-ubuntu22.04-py3.11