Skip to content

Latest commit

 

History

History
158 lines (122 loc) · 9.66 KB

File metadata and controls

158 lines (122 loc) · 9.66 KB

Triton compilation framework Triton-Ascend

[English] | 中文

Quick Reference


Triton-Ascend

Triton-Ascend is a Triton compilation framework built for the Ascend platform, aiming to enable Triton code to run efficiently on Ascend hardware. For details, see Triton-Ascend.

Supported Tags and Dockerfile

Tag specifications

Tag follow the following format:
{triton-ascend version}-{CANN version}-{torch_npu version}-{applicable product}-{os version}-{python version}

Field Example Value
triton-ascend version 3.2.2
CANN version cann9.0.0, cann9.1.0
torch_npu version torch_npu2.7.1.post8
applicable product 910b, a3, 950
os version ubuntu24.04, openeuler24.03
python version py3.11

Triton-Ascend Images

Release 3.2.2

Key Image Components

Components Version
Triton-Ascend 3.2.2
CANN 9.1.0
Torch-NPU 2.7.1.post8

Image List

Tag Dockerfile Docker Pull Command
3.2.2-cann9.1.0-torch_npu2.7.1.post8-910b-debian12-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-910b-debian12-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-910b-ubuntu24.04-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-910b-ubuntu24.04-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-910b-openeuler24.03-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-910b-openeuler24.03-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-debian12-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-debian12-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-ubuntu24.04-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-ubuntu24.04-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-openeuler24.03-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-openeuler24.03-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-950-debian12-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-950-debian12-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-950-ubuntu24.04-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-950-ubuntu24.04-py3.11
3.2.2-cann9.1.0-torch_npu2.7.1.post8-950-openeuler24.03-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-950-openeuler24.03-py3.11

Release 3.2.1

Key Image Components

Components Version
Triton-Ascend 3.2.1
CANN 9.0.0
Torch-NPU 2.7.1.post4

Image List

Tag Dockerfile Docker Pull Command
3.2.1-cann9.0.0-torch_npu2.7.1.post4-910b-debian12-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-910b-debian12-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-910b-ubuntu22.04-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-910b-ubuntu22.04-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-910b-openeuler24.03-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-910b-openeuler24.03-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-a3-debian12-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-a3-debian12-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-a3-ubuntu22.04-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-a3-ubuntu22.04-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-a3-openeuler24.03-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-a3-openeuler24.03-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-950-debian12-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-950-debian12-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-950-ubuntu22.04-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-950-ubuntu22.04-py3.11
3.2.1-cann9.0.0-torch_npu2.7.1.post4-950-openeuler24.03-py3.11 Dockerfile docker pull quay.io/ascend/triton:3.2.1-cann9.0.0-torch_npu2.7.1.post4-950-openeuler24.03-py3.11

Quick Start

Running the Triton-Ascend Container

# Assume that your NPU device model is A3, the device is installed in /dev/davinci1, and the NPU driver is installed in /usr/local/Ascend:
docker run -u 0 -dit --shm-size=512g --name=triton-ascend_container \
--security-opt seccomp=unconfined \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci4 \
--device=/dev/davinci5 \
--device=/dev/davinci6 \
--device=/dev/davinci7 \
--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/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /home:/home \
quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-ubuntu24.04-py3.11 \
/bin/bash

How to Build Locally?

arm64

docker build \
--network host \
--build-arg TARGETPLATFORM=linux/arm64 \
-t triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-ubuntun22.04-py3.11-aarch64 \
-f Dockerfile .

amd64

docker build \
--network host \
--build-arg TARGETPLATFORM=linux/amd64 \
-t triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-ubuntun22.04-py3.11-x86_64 \
-f Dockerfile .

How to Perform Secondary Development?

# Using the triton-ascend image as the base image and adding user software to it.
FROM quay.io/ascend/triton:3.2.2-cann9.1.0-torch_npu2.7.1.post8-a3-ubuntu24.04-py3.11
RUN apt update -y && \
    apt install wget \
    ...

Supported hardware

Chip Series Product Example Architecture
Ascend 910b Atlas 800T A2, Atlas 900 A2 PoD arm64, amd64
Ascend A3 Atlas 800T A3 arm64, amd64
Ascend 950 950PR Series arm64, amd64

License

View the license information of the CANN, Torch-NPU and Triton-Ascend software contained in the image. For details, visit License.
As with all container images, the pre-installed software packages (such as Python and system libraries) may be subject to their own licenses.