@@ -40,21 +40,29 @@ jobs:
40
40
build-wheel :
41
41
name : " Build Triton Wheel"
42
42
needs : get-label-type
43
- runs-on : " ${{ needs.get-label-type.outputs.label-type }}linux.4xlarge "
43
+ runs-on : ${{ matrix.runs_on }}
44
44
strategy :
45
45
fail-fast : false
46
46
matrix :
47
47
py_vers : [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t" ]
48
- device : ["cuda", "rocm", "xpu"]
48
+ device : ["cuda", "rocm", "xpu", "aarch64" ]
49
49
docker-image : ["pytorch/manylinux2_28-builder:cpu"]
50
50
include :
51
51
- device : " rocm"
52
52
rocm_version : " 6.3"
53
+ runs_on : " ${{ needs.get-label-type.outputs.label-type }}linux.4xlarge"
53
54
- device : " cuda"
54
55
rocm_version : " "
56
+ runs_on : " ${{ needs.get-label-type.outputs.label-type }}linux.4xlarge"
57
+ - device : " xpu"
58
+ rocm_version : " "
59
+ runs_on : " ${{ needs.get-label-type.outputs.label-type }}linux.4xlarge"
60
+ - device : " aarch64"
61
+ rocm_version : " "
62
+ runs_on : " ${{ needs.get-label-type.outputs.label-type }}linux.arm64.2xlarge"
55
63
timeout-minutes : 40
56
64
env :
57
- DOCKER_IMAGE : ${{ matrix.device == 'rocm' && format('pytorch/manylinux2_28-builder:rocm{0}', matrix.rocm_version) || matrix.docker-image }}
65
+ DOCKER_IMAGE : ${{ matrix.device == 'rocm' && format('pytorch/manylinux2_28-builder:rocm{0}', matrix.rocm_version) || matrix.device == 'aarch64' && 'pytorch/manylinux2_28_aarch64-builder:cpu-aarch64' || matrix. docker-image }}
58
66
PY_VERS : ${{ matrix.py_vers }}
59
67
BUILD_DEVICE : ${{ matrix.device }}
60
68
PLATFORM : ' manylinux_2_28_x86_64'
@@ -125,18 +133,21 @@ jobs:
125
133
fi
126
134
127
135
docker exec -t "${container_name}" yum install -y zlib-devel zip
128
- docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" -m pip install -U setuptools==67.4.0 pybind11==2.13.1 auditwheel
129
- if [[ ("${{ matrix.device }}" == "cuda" || "${{ matrix.device }}" == "rocm") ]]; then
136
+ docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" -m pip install -U setuptools==67.4.0 pybind11==2.13.1 auditwheel wheel
137
+
138
+ if [[ ("${{ matrix.device }}" == "cuda" || "${{ matrix.device }}" == "rocm" || "${{ matrix.device }}" == "aarch64" ) ]]; then
130
139
# With this install, it gets clang 16.0.6.
131
140
docker exec -t "${container_name}" dnf install clang lld -y
132
141
WITH_CLANG_LDD="--with-clang-ldd"
133
142
fi
143
+
134
144
if [[ "${BUILD_DEVICE}" == xpu ]]; then
135
145
docker exec -t "${container_name}" bash -c "dnf install -y gcc-toolset-13-gcc-c++"
136
146
docker exec -t "${container_name}" bash -c "source /opt/rh/gcc-toolset-13/enable && ${PYTHON_EXECUTABLE} /pytorch/.github/scripts/build_triton_wheel.py --device=$BUILD_DEVICE $RELEASE"
137
147
else
138
148
docker exec -t "${container_name}" bash -c "${PYTHON_EXECUTABLE} /pytorch/.github/scripts/build_triton_wheel.py --device=$BUILD_DEVICE $RELEASE $WITH_CLANG_LDD"
139
149
fi
150
+
140
151
if [[ ("${{ matrix.device }}" == "cuda" || "${{ matrix.device }}" == "xpu") ]]; then
141
152
docker exec -t "${container_name}" bash -c "auditwheel repair --plat ${PLATFORM} //artifacts/*.whl"
142
153
else
0 commit comments