mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-30 03:34:56 +08:00
Compare commits
1 Commits
dev/joona/
...
yihan_quan
| Author | SHA1 | Date | |
|---|---|---|---|
| 099216fbc1 |
@ -1,5 +0,0 @@
|
|||||||
0.6b
|
|
||||||
manylinux_2_17
|
|
||||||
rocm6.1
|
|
||||||
7f07e8a1cb1f99627eb6d77f5c0e9295c775f3c7
|
|
||||||
77c29fa3f3b614e187d7213d745e989a92708cee2bc6020419ab49019af399d1
|
|
||||||
@ -91,9 +91,9 @@ _UCC_COMMIT=20eae37090a4ce1b32bcce6144ccad0b49943e0b
|
|||||||
# configuration, so we hardcode everything here rather than do it
|
# configuration, so we hardcode everything here rather than do it
|
||||||
# from scratch
|
# from scratch
|
||||||
case "$image" in
|
case "$image" in
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9)
|
pytorch-linux-focal-cuda12.4-cudnn8-py3-gcc9)
|
||||||
CUDA_VERSION=12.4.0
|
CUDA_VERSION=12.4.0
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=9
|
GCC_VERSION=9
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
@ -105,9 +105,9 @@ case "$image" in
|
|||||||
CONDA_CMAKE=yes
|
CONDA_CMAKE=yes
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9)
|
pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9)
|
||||||
CUDA_VERSION=12.1.1
|
CUDA_VERSION=12.1.1
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=9
|
GCC_VERSION=9
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
@ -119,9 +119,9 @@ case "$image" in
|
|||||||
CONDA_CMAKE=yes
|
CONDA_CMAKE=yes
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9-inductor-benchmarks)
|
pytorch-linux-focal-cuda12.4-cudnn8-py3-gcc9-inductor-benchmarks)
|
||||||
CUDA_VERSION=12.4.0
|
CUDA_VERSION=12.4.0
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=9
|
GCC_VERSION=9
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
@ -134,9 +134,9 @@ case "$image" in
|
|||||||
TRITON=yes
|
TRITON=yes
|
||||||
INDUCTOR_BENCHMARKS=yes
|
INDUCTOR_BENCHMARKS=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks)
|
pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks)
|
||||||
CUDA_VERSION=12.1.1
|
CUDA_VERSION=12.1.1
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=9
|
GCC_VERSION=9
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
@ -149,39 +149,9 @@ case "$image" in
|
|||||||
TRITON=yes
|
TRITON=yes
|
||||||
INDUCTOR_BENCHMARKS=yes
|
INDUCTOR_BENCHMARKS=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-focal-cuda12.1-cudnn9-py3.12-gcc9-inductor-benchmarks)
|
pytorch-linux-focal-cuda11.8-cudnn8-py3-gcc9)
|
||||||
CUDA_VERSION=12.1.1
|
|
||||||
CUDNN_VERSION=9
|
|
||||||
ANACONDA_PYTHON_VERSION=3.12
|
|
||||||
GCC_VERSION=9
|
|
||||||
PROTOBUF=yes
|
|
||||||
DB=yes
|
|
||||||
VISION=yes
|
|
||||||
KATEX=yes
|
|
||||||
UCX_COMMIT=${_UCX_COMMIT}
|
|
||||||
UCC_COMMIT=${_UCC_COMMIT}
|
|
||||||
CONDA_CMAKE=yes
|
|
||||||
TRITON=yes
|
|
||||||
INDUCTOR_BENCHMARKS=yes
|
|
||||||
;;
|
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3.12-gcc9-inductor-benchmarks)
|
|
||||||
CUDA_VERSION=12.4.0
|
|
||||||
CUDNN_VERSION=9
|
|
||||||
ANACONDA_PYTHON_VERSION=3.12
|
|
||||||
GCC_VERSION=9
|
|
||||||
PROTOBUF=yes
|
|
||||||
DB=yes
|
|
||||||
VISION=yes
|
|
||||||
KATEX=yes
|
|
||||||
UCX_COMMIT=${_UCX_COMMIT}
|
|
||||||
UCC_COMMIT=${_UCC_COMMIT}
|
|
||||||
CONDA_CMAKE=yes
|
|
||||||
TRITON=yes
|
|
||||||
INDUCTOR_BENCHMARKS=yes
|
|
||||||
;;
|
|
||||||
pytorch-linux-focal-cuda11.8-cudnn9-py3-gcc9)
|
|
||||||
CUDA_VERSION=11.8.0
|
CUDA_VERSION=11.8.0
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=9
|
GCC_VERSION=9
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
@ -193,9 +163,9 @@ case "$image" in
|
|||||||
CONDA_CMAKE=yes
|
CONDA_CMAKE=yes
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9)
|
pytorch-linux-focal-cuda12.4-cudnn8-py3-gcc9)
|
||||||
CUDA_VERSION=12.4.0
|
CUDA_VERSION=12.4.0
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=9
|
GCC_VERSION=9
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
@ -207,23 +177,9 @@ case "$image" in
|
|||||||
CONDA_CMAKE=yes
|
CONDA_CMAKE=yes
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9)
|
pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9)
|
||||||
CUDA_VERSION=12.1.1
|
CUDA_VERSION=12.1.1
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
|
||||||
GCC_VERSION=9
|
|
||||||
PROTOBUF=yes
|
|
||||||
DB=yes
|
|
||||||
VISION=yes
|
|
||||||
KATEX=yes
|
|
||||||
UCX_COMMIT=${_UCX_COMMIT}
|
|
||||||
UCC_COMMIT=${_UCC_COMMIT}
|
|
||||||
CONDA_CMAKE=yes
|
|
||||||
TRITON=yes
|
|
||||||
;;
|
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9)
|
|
||||||
CUDA_VERSION=12.4.0
|
|
||||||
CUDNN_VERSION=9
|
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=9
|
GCC_VERSION=9
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
@ -330,10 +286,10 @@ case "$image" in
|
|||||||
DOCS=yes
|
DOCS=yes
|
||||||
INDUCTOR_BENCHMARKS=yes
|
INDUCTOR_BENCHMARKS=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-cuda11.8-cudnn9-py3.8-clang12)
|
pytorch-linux-jammy-cuda11.8-cudnn8-py3.8-clang12)
|
||||||
ANACONDA_PYTHON_VERSION=3.8
|
ANACONDA_PYTHON_VERSION=3.8
|
||||||
CUDA_VERSION=11.8
|
CUDA_VERSION=11.8
|
||||||
CUDNN_VERSION=9
|
CUDNN_VERSION=8
|
||||||
CLANG_VERSION=12
|
CLANG_VERSION=12
|
||||||
PROTOBUF=yes
|
PROTOBUF=yes
|
||||||
DB=yes
|
DB=yes
|
||||||
@ -373,13 +329,6 @@ case "$image" in
|
|||||||
CONDA_CMAKE=yes
|
CONDA_CMAKE=yes
|
||||||
EXECUTORCH=yes
|
EXECUTORCH=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-py3.12-halide)
|
|
||||||
CUDA_VERSION=12.4
|
|
||||||
ANACONDA_PYTHON_VERSION=3.12
|
|
||||||
GCC_VERSION=11
|
|
||||||
CONDA_CMAKE=yes
|
|
||||||
HALIDE=yes
|
|
||||||
;;
|
|
||||||
pytorch-linux-focal-linter)
|
pytorch-linux-focal-linter)
|
||||||
# TODO: Use 3.9 here because of this issue https://github.com/python/mypy/issues/13627.
|
# TODO: Use 3.9 here because of this issue https://github.com/python/mypy/issues/13627.
|
||||||
# We will need to update mypy version eventually, but that's for another day. The task
|
# We will need to update mypy version eventually, but that's for another day. The task
|
||||||
@ -387,7 +336,7 @@ case "$image" in
|
|||||||
ANACONDA_PYTHON_VERSION=3.9
|
ANACONDA_PYTHON_VERSION=3.9
|
||||||
CONDA_CMAKE=yes
|
CONDA_CMAKE=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-cuda11.8-cudnn9-py3.9-linter)
|
pytorch-linux-jammy-cuda11.8-cudnn8-py3.9-linter)
|
||||||
ANACONDA_PYTHON_VERSION=3.9
|
ANACONDA_PYTHON_VERSION=3.9
|
||||||
CUDA_VERSION=11.8
|
CUDA_VERSION=11.8
|
||||||
CONDA_CMAKE=yes
|
CONDA_CMAKE=yes
|
||||||
@ -454,7 +403,7 @@ tmp_tag=$(basename "$(mktemp -u)" | tr '[:upper:]' '[:lower:]')
|
|||||||
#when using cudnn version 8 install it separately from cuda
|
#when using cudnn version 8 install it separately from cuda
|
||||||
if [[ "$image" == *cuda* && ${OS} == "ubuntu" ]]; then
|
if [[ "$image" == *cuda* && ${OS} == "ubuntu" ]]; then
|
||||||
IMAGE_NAME="nvidia/cuda:${CUDA_VERSION}-cudnn${CUDNN_VERSION}-devel-ubuntu${UBUNTU_VERSION}"
|
IMAGE_NAME="nvidia/cuda:${CUDA_VERSION}-cudnn${CUDNN_VERSION}-devel-ubuntu${UBUNTU_VERSION}"
|
||||||
if [[ ${CUDNN_VERSION} == 9 ]]; then
|
if [[ ${CUDNN_VERSION} == 8 ]]; then
|
||||||
IMAGE_NAME="nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION}"
|
IMAGE_NAME="nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -497,7 +446,6 @@ docker build \
|
|||||||
--build-arg "DOCS=${DOCS}" \
|
--build-arg "DOCS=${DOCS}" \
|
||||||
--build-arg "INDUCTOR_BENCHMARKS=${INDUCTOR_BENCHMARKS}" \
|
--build-arg "INDUCTOR_BENCHMARKS=${INDUCTOR_BENCHMARKS}" \
|
||||||
--build-arg "EXECUTORCH=${EXECUTORCH}" \
|
--build-arg "EXECUTORCH=${EXECUTORCH}" \
|
||||||
--build-arg "HALIDE=${HALIDE}" \
|
|
||||||
--build-arg "XPU_VERSION=${XPU_VERSION}" \
|
--build-arg "XPU_VERSION=${XPU_VERSION}" \
|
||||||
--build-arg "ACL=${ACL:-}" \
|
--build-arg "ACL=${ACL:-}" \
|
||||||
--build-arg "SKIP_SCCACHE_INSTALL=${SKIP_SCCACHE_INSTALL:-}" \
|
--build-arg "SKIP_SCCACHE_INSTALL=${SKIP_SCCACHE_INSTALL:-}" \
|
||||||
@ -507,7 +455,7 @@ docker build \
|
|||||||
"$@" \
|
"$@" \
|
||||||
.
|
.
|
||||||
|
|
||||||
# NVIDIA dockers for RC releases use tag names like `11.0-cudnn9-devel-ubuntu18.04-rc`,
|
# NVIDIA dockers for RC releases use tag names like `11.0-cudnn8-devel-ubuntu18.04-rc`,
|
||||||
# for this case we will set UBUNTU_VERSION to `18.04-rc` so that the Dockerfile could
|
# for this case we will set UBUNTU_VERSION to `18.04-rc` so that the Dockerfile could
|
||||||
# find the correct image. As a result, here we have to replace the
|
# find the correct image. As a result, here we have to replace the
|
||||||
# "$UBUNTU_VERSION" == "18.04-rc"
|
# "$UBUNTU_VERSION" == "18.04-rc"
|
||||||
|
|||||||
@ -77,9 +77,6 @@ RUN rm install_rocm.sh
|
|||||||
COPY ./common/install_rocm_magma.sh install_rocm_magma.sh
|
COPY ./common/install_rocm_magma.sh install_rocm_magma.sh
|
||||||
RUN bash ./install_rocm_magma.sh
|
RUN bash ./install_rocm_magma.sh
|
||||||
RUN rm install_rocm_magma.sh
|
RUN rm install_rocm_magma.sh
|
||||||
COPY ./common/install_amdsmi.sh install_amdsmi.sh
|
|
||||||
RUN bash ./install_amdsmi.sh
|
|
||||||
RUN rm install_amdsmi.sh
|
|
||||||
ENV PATH /opt/rocm/bin:$PATH
|
ENV PATH /opt/rocm/bin:$PATH
|
||||||
ENV PATH /opt/rocm/hcc/bin:$PATH
|
ENV PATH /opt/rocm/hcc/bin:$PATH
|
||||||
ENV PATH /opt/rocm/hip/bin:$PATH
|
ENV PATH /opt/rocm/hip/bin:$PATH
|
||||||
@ -113,13 +110,6 @@ COPY triton_version.txt triton_version.txt
|
|||||||
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
|
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
|
||||||
RUN rm install_triton.sh common_utils.sh triton-rocm.txt triton_version.txt
|
RUN rm install_triton.sh common_utils.sh triton-rocm.txt triton_version.txt
|
||||||
|
|
||||||
# Install AOTriton (Early fail)
|
|
||||||
COPY ./aotriton_version.txt aotriton_version.txt
|
|
||||||
COPY ./common/common_utils.sh common_utils.sh
|
|
||||||
COPY ./common/install_aotriton.sh install_aotriton.sh
|
|
||||||
RUN ["/bin/bash", "-c", "./install_aotriton.sh /opt/rocm && rm -rf install_aotriton.sh aotriton_version.txt common_utils.sh"]
|
|
||||||
ENV AOTRITON_INSTALLED_PREFIX /opt/rocm/aotriton
|
|
||||||
|
|
||||||
# Install ccache/sccache (do this last, so we get priority in PATH)
|
# Install ccache/sccache (do this last, so we get priority in PATH)
|
||||||
COPY ./common/install_cache.sh install_cache.sh
|
COPY ./common/install_cache.sh install_cache.sh
|
||||||
ENV PATH /opt/cache/bin:$PATH
|
ENV PATH /opt/cache/bin:$PATH
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
c572f9e509b5ec5d56f4d218271e36269bba244f
|
d4b3e5cc607e97afdba79dc90f8ef968142f347c
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
340136fec6d3ebc73e7a19eba1663e9b0ba8ab2d
|
|
||||||
@ -1 +1 @@
|
|||||||
21eae954efa5bf584da70324b640288c3ee7aede
|
bbe6246e37d8aa791c67daaf9d9d61b26c9ccfdc
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
1b2f15840e0d70eec50d84c7a0575cb835524def
|
b8c64f64c18d8cac598b3adb355c21e7439c21de
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
dedb7bdf339a3546896d4820366ca562c586bfa0
|
45fff310c891f5a92d55445adf8cc9d29df5841e
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
readonly version=v24.04
|
readonly version=v23.08
|
||||||
readonly src_host=https://review.mlplatform.org/ml
|
readonly src_host=https://review.mlplatform.org/ml
|
||||||
readonly src_repo=ComputeLibrary
|
readonly src_repo=ComputeLibrary
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
cd /opt/rocm/share/amd_smi && pip install .
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh"
|
|
||||||
|
|
||||||
TARBALL='aotriton.tar.bz2'
|
|
||||||
# This read command alwasy returns with exit code 1
|
|
||||||
read -d "\n" VER MANYLINUX ROCMBASE PINNED_COMMIT SHA256 < aotriton_version.txt || true
|
|
||||||
ARCH=$(uname -m)
|
|
||||||
AOTRITON_INSTALL_PREFIX="$1"
|
|
||||||
AOTRITON_URL="https://github.com/ROCm/aotriton/releases/download/${VER}/aotriton-${VER}-${MANYLINUX}_${ARCH}-${ROCMBASE}-shared.tar.bz2"
|
|
||||||
|
|
||||||
cd "${AOTRITON_INSTALL_PREFIX}"
|
|
||||||
# Must use -L to follow redirects
|
|
||||||
curl -L --retry 3 -o "${TARBALL}" "${AOTRITON_URL}"
|
|
||||||
ACTUAL_SHA256=$(sha256sum "${TARBALL}" | cut -d " " -f 1)
|
|
||||||
if [ "${SHA256}" != "${ACTUAL_SHA256}" ]; then
|
|
||||||
echo -n "Error: The SHA256 of downloaded tarball is ${ACTUAL_SHA256},"
|
|
||||||
echo " which does not match the expected value ${SHA256}."
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
tar xf "${TARBALL}" && rm -rf "${TARBALL}"
|
|
||||||
@ -3,7 +3,7 @@
|
|||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
install_ubuntu() {
|
install_ubuntu() {
|
||||||
# NVIDIA dockers for RC releases use tag names like `11.0-cudnn9-devel-ubuntu18.04-rc`,
|
# NVIDIA dockers for RC releases use tag names like `11.0-cudnn8-devel-ubuntu18.04-rc`,
|
||||||
# for this case we will set UBUNTU_VERSION to `18.04-rc` so that the Dockerfile could
|
# for this case we will set UBUNTU_VERSION to `18.04-rc` so that the Dockerfile could
|
||||||
# find the correct image. As a result, here we have to check for
|
# find the correct image. As a result, here we have to check for
|
||||||
# "$UBUNTU_VERSION" == "18.04"*
|
# "$UBUNTU_VERSION" == "18.04"*
|
||||||
|
|||||||
@ -85,7 +85,7 @@ fi
|
|||||||
else
|
else
|
||||||
CONDA_COMMON_DEPS="astunparse pyyaml mkl=2021.4.0 mkl-include=2021.4.0 setuptools"
|
CONDA_COMMON_DEPS="astunparse pyyaml mkl=2021.4.0 mkl-include=2021.4.0 setuptools"
|
||||||
|
|
||||||
if [ "$ANACONDA_PYTHON_VERSION" = "3.11" ] || [ "$ANACONDA_PYTHON_VERSION" = "3.12" ] || [ "$ANACONDA_PYTHON_VERSION" = "3.13" ]; then
|
if [ "$ANACONDA_PYTHON_VERSION" = "3.11" ] || [ "$ANACONDA_PYTHON_VERSION" = "3.12" ]; then
|
||||||
conda_install numpy=1.26.0 ${CONDA_COMMON_DEPS}
|
conda_install numpy=1.26.0 ${CONDA_COMMON_DEPS}
|
||||||
else
|
else
|
||||||
conda_install numpy=1.21.2 ${CONDA_COMMON_DEPS}
|
conda_install numpy=1.21.2 ${CONDA_COMMON_DEPS}
|
||||||
|
|||||||
@ -1,18 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [[ -n "${CUDNN_VERSION}" ]]; then
|
if [[ ${CUDNN_VERSION} == 8 ]]; then
|
||||||
# cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
|
# cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
|
||||||
mkdir tmp_cudnn
|
mkdir tmp_cudnn
|
||||||
pushd tmp_cudnn
|
pushd tmp_cudnn
|
||||||
if [[ ${CUDA_VERSION:0:2} == "12" ]]; then
|
if [[ ${CUDA_VERSION:0:4} == "12.4" ]]; then
|
||||||
CUDNN_NAME="cudnn-linux-x86_64-9.1.0.70_cuda12-archive"
|
CUDNN_NAME="cudnn-linux-x86_64-8.9.7.29_cuda12-archive"
|
||||||
elif [[ ${CUDA_VERSION:0:2} == "11" ]]; then
|
curl --retry 3 -OLs https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/${CUDNN_NAME}.tar.xz
|
||||||
CUDNN_NAME="cudnn-linux-x86_64-9.1.0.70_cuda11-archive"
|
elif [[ ${CUDA_VERSION:0:4} == "12.1" ]]; then
|
||||||
|
CUDNN_NAME="cudnn-linux-x86_64-8.9.2.26_cuda12-archive"
|
||||||
|
curl --retry 3 -OLs https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/${CUDNN_NAME}.tar.xz
|
||||||
|
elif [[ ${CUDA_VERSION:0:4} == "11.8" ]]; then
|
||||||
|
CUDNN_NAME="cudnn-linux-x86_64-8.7.0.84_cuda11-archive"
|
||||||
|
curl --retry 3 -OLs https://developer.download.nvidia.com/compute/redist/cudnn/v8.7.0/local_installers/11.8/${CUDNN_NAME}.tar.xz
|
||||||
else
|
else
|
||||||
print "Unsupported CUDA version ${CUDA_VERSION}"
|
print "Unsupported CUDA version ${CUDA_VERSION}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
curl --retry 3 -OLs https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/${CUDNN_NAME}.tar.xz
|
|
||||||
tar xf ${CUDNN_NAME}.tar.xz
|
tar xf ${CUDNN_NAME}.tar.xz
|
||||||
cp -a ${CUDNN_NAME}/include/* /usr/local/cuda/include/
|
cp -a ${CUDNN_NAME}/include/* /usr/local/cuda/include/
|
||||||
cp -a ${CUDNN_NAME}/lib/* /usr/local/cuda/lib64/
|
cp -a ${CUDNN_NAME}/lib/* /usr/local/cuda/lib64/
|
||||||
|
|||||||
@ -37,9 +37,6 @@ install_conda_dependencies() {
|
|||||||
|
|
||||||
install_pip_dependencies() {
|
install_pip_dependencies() {
|
||||||
pushd executorch/.ci/docker
|
pushd executorch/.ci/docker
|
||||||
# Install PyTorch CPU build beforehand to avoid installing the much bigger CUDA
|
|
||||||
# binaries later, ExecuTorch only needs CPU
|
|
||||||
pip_install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
|
|
||||||
# Install all Python dependencies
|
# Install all Python dependencies
|
||||||
pip_install -r requirements-ci.txt
|
pip_install -r requirements-ci.txt
|
||||||
popd
|
popd
|
||||||
@ -47,14 +44,13 @@ install_pip_dependencies() {
|
|||||||
|
|
||||||
setup_executorch() {
|
setup_executorch() {
|
||||||
pushd executorch
|
pushd executorch
|
||||||
# Setup swiftshader and Vulkan SDK which are required to build the Vulkan delegate
|
source .ci/scripts/utils.sh
|
||||||
as_jenkins bash .ci/scripts/setup-vulkan-linux-deps.sh
|
|
||||||
|
|
||||||
export PYTHON_EXECUTABLE=python
|
install_flatc_from_source
|
||||||
export EXECUTORCH_BUILD_PYBIND=ON
|
pip_install .
|
||||||
export CMAKE_ARGS="-DEXECUTORCH_BUILD_XNNPACK=ON -DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON"
|
|
||||||
|
|
||||||
as_jenkins .ci/scripts/setup-linux.sh cmake
|
# Make sure that all the newly generate files are owned by Jenkins
|
||||||
|
chown -R jenkins .
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,46 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh"
|
|
||||||
|
|
||||||
COMMIT=$(get_pinned_commit halide)
|
|
||||||
test -n "$COMMIT"
|
|
||||||
|
|
||||||
# activate conda to populate CONDA_PREFIX
|
|
||||||
test -n "$ANACONDA_PYTHON_VERSION"
|
|
||||||
eval "$(conda shell.bash hook)"
|
|
||||||
conda activate py_$ANACONDA_PYTHON_VERSION
|
|
||||||
|
|
||||||
if [ -n "${UBUNTU_VERSION}" ];then
|
|
||||||
apt update
|
|
||||||
apt-get install -y lld liblld-15-dev libpng-dev libjpeg-dev libgl-dev \
|
|
||||||
libopenblas-dev libeigen3-dev libatlas-base-dev libzstd-dev
|
|
||||||
fi
|
|
||||||
|
|
||||||
conda_install numpy scipy imageio cmake ninja
|
|
||||||
|
|
||||||
git clone --depth 1 --branch release/16.x --recursive https://github.com/llvm/llvm-project.git
|
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DLLVM_ENABLE_PROJECTS="clang" \
|
|
||||||
-DLLVM_TARGETS_TO_BUILD="X86;NVPTX" \
|
|
||||||
-DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_ASSERTIONS=ON \
|
|
||||||
-DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_BUILD_32_BITS=OFF \
|
|
||||||
-S llvm-project/llvm -B llvm-build -G Ninja
|
|
||||||
cmake --build llvm-build
|
|
||||||
cmake --install llvm-build --prefix llvm-install
|
|
||||||
export LLVM_ROOT=`pwd`/llvm-install
|
|
||||||
export LLVM_CONFIG=$LLVM_ROOT/bin/llvm-config
|
|
||||||
|
|
||||||
git clone https://github.com/halide/Halide.git
|
|
||||||
pushd Halide
|
|
||||||
git checkout ${COMMIT} && git submodule update --init --recursive
|
|
||||||
pip_install -r requirements.txt
|
|
||||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S . -B build
|
|
||||||
cmake --build build
|
|
||||||
test -e ${CONDA_PREFIX}/lib/python3 || ln -s python${ANACONDA_PYTHON_VERSION} ${CONDA_PREFIX}/lib/python3
|
|
||||||
cmake --install build --prefix ${CONDA_PREFIX}
|
|
||||||
chown -R jenkins ${CONDA_PREFIX}
|
|
||||||
popd
|
|
||||||
rm -rf Halide llvm-build llvm-project llvm-install
|
|
||||||
|
|
||||||
python -c "import halide" # check for errors
|
|
||||||
@ -30,12 +30,10 @@ pip_install \
|
|||||||
|
|
||||||
pip_install coloredlogs packaging
|
pip_install coloredlogs packaging
|
||||||
|
|
||||||
pip_install onnxruntime==1.18
|
pip_install onnxruntime==1.17.0
|
||||||
pip_install onnx==1.16.0
|
pip_install onnx==1.15.0
|
||||||
# pip_install "onnxscript@git+https://github.com/microsoft/onnxscript@3e869ef8ccf19b5ebd21c10d3e9c267c9a9fa729" --no-deps
|
# pip_install "onnxscript@git+https://github.com/microsoft/onnxscript@3e869ef8ccf19b5ebd21c10d3e9c267c9a9fa729" --no-deps
|
||||||
pip_install onnxscript==0.1.0.dev20240613 --no-deps
|
pip_install onnxscript==0.1.0.dev20240315 --no-deps
|
||||||
# required by onnxscript
|
|
||||||
pip_install ml_dtypes
|
|
||||||
|
|
||||||
# Cache the transformers model to be used later by ONNX tests. We need to run the transformers
|
# Cache the transformers model to be used later by ONNX tests. We need to run the transformers
|
||||||
# package to download the model. By default, the model is cached at ~/.cache/huggingface/hub/
|
# package to download the model. By default, the model is cached at ~/.cache/huggingface/hub/
|
||||||
|
|||||||
@ -39,8 +39,7 @@ install_ubuntu() {
|
|||||||
rocm-libs \
|
rocm-libs \
|
||||||
rccl \
|
rccl \
|
||||||
rocprofiler-dev \
|
rocprofiler-dev \
|
||||||
roctracer-dev \
|
roctracer-dev
|
||||||
amd-smi-lib
|
|
||||||
|
|
||||||
if [[ $(ver $ROCM_VERSION) -ge $(ver 6.1) ]]; then
|
if [[ $(ver $ROCM_VERSION) -ge $(ver 6.1) ]]; then
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated rocm-llvm-dev
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated rocm-llvm-dev
|
||||||
@ -107,8 +106,7 @@ install_centos() {
|
|||||||
rocm-libs \
|
rocm-libs \
|
||||||
rccl \
|
rccl \
|
||||||
rocprofiler-dev \
|
rocprofiler-dev \
|
||||||
roctracer-dev \
|
roctracer-dev
|
||||||
amd-smi-lib
|
|
||||||
|
|
||||||
# precompiled miopen kernels; search for all unversioned packages
|
# precompiled miopen kernels; search for all unversioned packages
|
||||||
# if search fails it will abort this script; use true to avoid case where search fails
|
# if search fails it will abort this script; use true to avoid case where search fails
|
||||||
|
|||||||
@ -85,10 +85,10 @@ librosa>=0.6.2 ; python_version < "3.11"
|
|||||||
#Pinned versions:
|
#Pinned versions:
|
||||||
#test that import:
|
#test that import:
|
||||||
|
|
||||||
mypy==1.10.0
|
mypy==1.9.0
|
||||||
# Pin MyPy version because new errors are likely to appear with each release
|
# Pin MyPy version because new errors are likely to appear with each release
|
||||||
#Description: linter
|
#Description: linter
|
||||||
#Pinned versions: 1.10.0
|
#Pinned versions: 1.9.0
|
||||||
#test that import: test_typing.py, test_type_hints.py
|
#test that import: test_typing.py, test_type_hints.py
|
||||||
|
|
||||||
networkx==2.8.8
|
networkx==2.8.8
|
||||||
@ -306,7 +306,7 @@ pywavelets==1.5.0 ; python_version >= "3.12"
|
|||||||
#Pinned versions: 1.4.1
|
#Pinned versions: 1.4.1
|
||||||
#test that import:
|
#test that import:
|
||||||
|
|
||||||
lxml==5.0.0
|
lxml==5.0.0.
|
||||||
#Description: This is a requirement of unittest-xml-reporting
|
#Description: This is a requirement of unittest-xml-reporting
|
||||||
|
|
||||||
# Python-3.9 binaries
|
# Python-3.9 binaries
|
||||||
|
|||||||
@ -103,14 +103,6 @@ COPY triton_version.txt triton_version.txt
|
|||||||
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
|
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
|
||||||
RUN rm install_triton.sh common_utils.sh triton.txt triton_version.txt
|
RUN rm install_triton.sh common_utils.sh triton.txt triton_version.txt
|
||||||
|
|
||||||
ARG HALIDE
|
|
||||||
# Build and install halide
|
|
||||||
COPY ./common/install_halide.sh install_halide.sh
|
|
||||||
COPY ./common/common_utils.sh common_utils.sh
|
|
||||||
COPY ci_commit_pins/halide.txt halide.txt
|
|
||||||
RUN if [ -n "${HALIDE}" ]; then bash ./install_halide.sh; fi
|
|
||||||
RUN rm install_halide.sh common_utils.sh halide.txt
|
|
||||||
|
|
||||||
# Install ccache/sccache (do this last, so we get priority in PATH)
|
# Install ccache/sccache (do this last, so we get priority in PATH)
|
||||||
COPY ./common/install_cache.sh install_cache.sh
|
COPY ./common/install_cache.sh install_cache.sh
|
||||||
ENV PATH /opt/cache/bin:$PATH
|
ENV PATH /opt/cache/bin:$PATH
|
||||||
@ -147,7 +139,7 @@ COPY --from=pytorch/llvm:9.0.1 /opt/llvm /opt/llvm
|
|||||||
ARG CUDNN_VERSION
|
ARG CUDNN_VERSION
|
||||||
ARG CUDA_VERSION
|
ARG CUDA_VERSION
|
||||||
COPY ./common/install_cudnn.sh install_cudnn.sh
|
COPY ./common/install_cudnn.sh install_cudnn.sh
|
||||||
RUN if [ -n "${CUDNN_VERSION}" ]; then bash install_cudnn.sh; fi
|
RUN if [ "${CUDNN_VERSION}" -eq 8 ]; then bash install_cudnn.sh; fi
|
||||||
RUN rm install_cudnn.sh
|
RUN rm install_cudnn.sh
|
||||||
|
|
||||||
# Install CUSPARSELT
|
# Install CUSPARSELT
|
||||||
@ -160,7 +152,7 @@ RUN rm install_cusparselt.sh
|
|||||||
RUN if [ -h /usr/local/cuda-11.6/cuda-11.6 ]; then rm /usr/local/cuda-11.6/cuda-11.6; fi
|
RUN if [ -h /usr/local/cuda-11.6/cuda-11.6 ]; then rm /usr/local/cuda-11.6/cuda-11.6; fi
|
||||||
RUN if [ -h /usr/local/cuda-11.7/cuda-11.7 ]; then rm /usr/local/cuda-11.7/cuda-11.7; fi
|
RUN if [ -h /usr/local/cuda-11.7/cuda-11.7 ]; then rm /usr/local/cuda-11.7/cuda-11.7; fi
|
||||||
RUN if [ -h /usr/local/cuda-12.1/cuda-12.1 ]; then rm /usr/local/cuda-12.1/cuda-12.1; fi
|
RUN if [ -h /usr/local/cuda-12.1/cuda-12.1 ]; then rm /usr/local/cuda-12.1/cuda-12.1; fi
|
||||||
RUN if [ -h /usr/local/cuda-12.4/cuda-12.4 ]; then rm /usr/local/cuda-12.4/cuda-12.4; fi
|
RUN if [ -h /usr/local/cuda-12.1/cuda-12.4 ]; then rm /usr/local/cuda-12.1/cuda-12.4; fi
|
||||||
|
|
||||||
USER jenkins
|
USER jenkins
|
||||||
CMD ["bash"]
|
CMD ["bash"]
|
||||||
|
|||||||
@ -78,11 +78,6 @@ ENV MAGMA_HOME /opt/rocm/magma
|
|||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
ENV LC_ALL C.UTF-8
|
ENV LC_ALL C.UTF-8
|
||||||
|
|
||||||
# Install amdsmi
|
|
||||||
COPY ./common/install_amdsmi.sh install_amdsmi.sh
|
|
||||||
RUN bash ./install_amdsmi.sh
|
|
||||||
RUN rm install_amdsmi.sh
|
|
||||||
|
|
||||||
# (optional) Install non-default CMake version
|
# (optional) Install non-default CMake version
|
||||||
ARG CMAKE_VERSION
|
ARG CMAKE_VERSION
|
||||||
COPY ./common/install_cmake.sh install_cmake.sh
|
COPY ./common/install_cmake.sh install_cmake.sh
|
||||||
@ -105,13 +100,6 @@ COPY triton_version.txt triton_version.txt
|
|||||||
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
|
RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi
|
||||||
RUN rm install_triton.sh common_utils.sh triton-rocm.txt triton_version.txt
|
RUN rm install_triton.sh common_utils.sh triton-rocm.txt triton_version.txt
|
||||||
|
|
||||||
# Install AOTriton
|
|
||||||
COPY ./aotriton_version.txt aotriton_version.txt
|
|
||||||
COPY ./common/common_utils.sh common_utils.sh
|
|
||||||
COPY ./common/install_aotriton.sh install_aotriton.sh
|
|
||||||
RUN ["/bin/bash", "-c", "./install_aotriton.sh /opt/rocm && rm -rf install_aotriton.sh aotriton_version.txt common_utils.sh"]
|
|
||||||
ENV AOTRITON_INSTALLED_PREFIX /opt/rocm/aotriton
|
|
||||||
|
|
||||||
# Install ccache/sccache (do this last, so we get priority in PATH)
|
# Install ccache/sccache (do this last, so we get priority in PATH)
|
||||||
COPY ./common/install_cache.sh install_cache.sh
|
COPY ./common/install_cache.sh install_cache.sh
|
||||||
ENV PATH /opt/cache/bin:$PATH
|
ENV PATH /opt/cache/bin:$PATH
|
||||||
|
|||||||
@ -155,14 +155,6 @@ COPY ci_commit_pins/executorch.txt executorch.txt
|
|||||||
RUN if [ -n "${EXECUTORCH}" ]; then bash ./install_executorch.sh; fi
|
RUN if [ -n "${EXECUTORCH}" ]; then bash ./install_executorch.sh; fi
|
||||||
RUN rm install_executorch.sh common_utils.sh executorch.txt
|
RUN rm install_executorch.sh common_utils.sh executorch.txt
|
||||||
|
|
||||||
ARG HALIDE
|
|
||||||
# Build and install halide
|
|
||||||
COPY ./common/install_halide.sh install_halide.sh
|
|
||||||
COPY ./common/common_utils.sh common_utils.sh
|
|
||||||
COPY ci_commit_pins/halide.txt halide.txt
|
|
||||||
RUN if [ -n "${HALIDE}" ]; then bash ./install_halide.sh; fi
|
|
||||||
RUN rm install_halide.sh common_utils.sh halide.txt
|
|
||||||
|
|
||||||
ARG ONNX
|
ARG ONNX
|
||||||
# Install ONNX dependencies
|
# Install ONNX dependencies
|
||||||
COPY ./common/install_onnx.sh ./common/common_utils.sh ./
|
COPY ./common/install_onnx.sh ./common/common_utils.sh ./
|
||||||
|
|||||||
@ -44,7 +44,10 @@ if [[ "$BUILD_ENVIRONMENT" == *cuda11* ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${BUILD_ENVIRONMENT} == *"parallelnative"* ]]; then
|
if [[ ${BUILD_ENVIRONMENT} == *"paralleltbb"* ]]; then
|
||||||
|
export ATEN_THREADING=TBB
|
||||||
|
export USE_TBB=1
|
||||||
|
elif [[ ${BUILD_ENVIRONMENT} == *"parallelnative"* ]]; then
|
||||||
export ATEN_THREADING=NATIVE
|
export ATEN_THREADING=NATIVE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -230,10 +233,6 @@ if [[ "${BUILD_ENVIRONMENT}" != *android* && "${BUILD_ENVIRONMENT}" != *cuda* ]]
|
|||||||
export BUILD_STATIC_RUNTIME_BENCHMARK=ON
|
export BUILD_STATIC_RUNTIME_BENCHMARK=ON
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$BUILD_ENVIRONMENT" == *-debug* ]]; then
|
|
||||||
export CMAKE_BUILD_TYPE=RelWithAssert
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Do not change workspace permissions for ROCm CI jobs
|
# Do not change workspace permissions for ROCm CI jobs
|
||||||
# as it can leave workspace with bad permissions for cancelled jobs
|
# as it can leave workspace with bad permissions for cancelled jobs
|
||||||
if [[ "$BUILD_ENVIRONMENT" != *rocm* ]]; then
|
if [[ "$BUILD_ENVIRONMENT" != *rocm* ]]; then
|
||||||
@ -288,26 +287,9 @@ else
|
|||||||
# Which should be backward compatible with Numpy-1.X
|
# Which should be backward compatible with Numpy-1.X
|
||||||
python -mpip install --pre numpy==2.0.0rc1
|
python -mpip install --pre numpy==2.0.0rc1
|
||||||
fi
|
fi
|
||||||
|
WERROR=1 python setup.py bdist_wheel
|
||||||
WERROR=1 python setup.py clean
|
|
||||||
|
|
||||||
if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
|
|
||||||
BUILD_LIBTORCH_WHL=1 BUILD_PYTHON_ONLY=0 python setup.py bdist_wheel
|
|
||||||
BUILD_LIBTORCH_WHL=0 BUILD_PYTHON_ONLY=1 python setup.py bdist_wheel --cmake
|
|
||||||
else
|
|
||||||
WERROR=1 python setup.py bdist_wheel
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
python setup.py clean
|
python setup.py bdist_wheel
|
||||||
if [[ "$BUILD_ENVIRONMENT" == *xla* ]]; then
|
|
||||||
source .ci/pytorch/install_cache_xla.sh
|
|
||||||
fi
|
|
||||||
if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
|
|
||||||
echo "USE_SPLIT_BUILD cannot be used with xla or rocm"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
python setup.py bdist_wheel
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
pip_install_whl "$(echo dist/*.whl)"
|
pip_install_whl "$(echo dist/*.whl)"
|
||||||
|
|
||||||
@ -346,10 +328,9 @@ else
|
|||||||
CUSTOM_OP_TEST="$PWD/test/custom_operator"
|
CUSTOM_OP_TEST="$PWD/test/custom_operator"
|
||||||
python --version
|
python --version
|
||||||
SITE_PACKAGES="$(python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())')"
|
SITE_PACKAGES="$(python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())')"
|
||||||
|
|
||||||
mkdir -p "$CUSTOM_OP_BUILD"
|
mkdir -p "$CUSTOM_OP_BUILD"
|
||||||
pushd "$CUSTOM_OP_BUILD"
|
pushd "$CUSTOM_OP_BUILD"
|
||||||
cmake "$CUSTOM_OP_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES/torch;$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \
|
cmake "$CUSTOM_OP_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES/torch" -DPYTHON_EXECUTABLE="$(which python)" \
|
||||||
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
||||||
make VERBOSE=1
|
make VERBOSE=1
|
||||||
popd
|
popd
|
||||||
@ -362,7 +343,7 @@ else
|
|||||||
SITE_PACKAGES="$(python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())')"
|
SITE_PACKAGES="$(python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())')"
|
||||||
mkdir -p "$JIT_HOOK_BUILD"
|
mkdir -p "$JIT_HOOK_BUILD"
|
||||||
pushd "$JIT_HOOK_BUILD"
|
pushd "$JIT_HOOK_BUILD"
|
||||||
cmake "$JIT_HOOK_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES/torch;$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \
|
cmake "$JIT_HOOK_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES/torch" -DPYTHON_EXECUTABLE="$(which python)" \
|
||||||
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
||||||
make VERBOSE=1
|
make VERBOSE=1
|
||||||
popd
|
popd
|
||||||
@ -374,7 +355,7 @@ else
|
|||||||
python --version
|
python --version
|
||||||
mkdir -p "$CUSTOM_BACKEND_BUILD"
|
mkdir -p "$CUSTOM_BACKEND_BUILD"
|
||||||
pushd "$CUSTOM_BACKEND_BUILD"
|
pushd "$CUSTOM_BACKEND_BUILD"
|
||||||
cmake "$CUSTOM_BACKEND_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES/torch;$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \
|
cmake "$CUSTOM_BACKEND_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES/torch" -DPYTHON_EXECUTABLE="$(which python)" \
|
||||||
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
||||||
make VERBOSE=1
|
make VERBOSE=1
|
||||||
popd
|
popd
|
||||||
|
|||||||
@ -56,29 +56,9 @@ function assert_git_not_dirty() {
|
|||||||
function pip_install_whl() {
|
function pip_install_whl() {
|
||||||
# This is used to install PyTorch and other build artifacts wheel locally
|
# This is used to install PyTorch and other build artifacts wheel locally
|
||||||
# without using any network connection
|
# without using any network connection
|
||||||
|
python3 -mpip install --no-index --no-deps "$@"
|
||||||
# Convert the input arguments into an array
|
|
||||||
local args=("$@")
|
|
||||||
|
|
||||||
# Check if the first argument contains multiple paths separated by spaces
|
|
||||||
if [[ "${args[0]}" == *" "* ]]; then
|
|
||||||
# Split the string by spaces into an array
|
|
||||||
IFS=' ' read -r -a paths <<< "${args[0]}"
|
|
||||||
# Loop through each path and install individually
|
|
||||||
for path in "${paths[@]}"; do
|
|
||||||
echo "Installing $path"
|
|
||||||
python3 -mpip install --no-index --no-deps "$path"
|
|
||||||
done
|
|
||||||
else
|
|
||||||
# Loop through each argument and install individually
|
|
||||||
for path in "${args[@]}"; do
|
|
||||||
echo "Installing $path"
|
|
||||||
python3 -mpip install --no-index --no-deps "$path"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function pip_install() {
|
function pip_install() {
|
||||||
# retry 3 times
|
# retry 3 times
|
||||||
# old versions of pip don't have the "--progress-bar" flag
|
# old versions of pip don't have the "--progress-bar" flag
|
||||||
@ -208,6 +188,28 @@ function clone_pytorch_xla() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function checkout_install_torchdeploy() {
|
||||||
|
local commit
|
||||||
|
commit=$(get_pinned_commit multipy)
|
||||||
|
pushd ..
|
||||||
|
git clone --recurse-submodules https://github.com/pytorch/multipy.git
|
||||||
|
pushd multipy
|
||||||
|
git checkout "${commit}"
|
||||||
|
python multipy/runtime/example/generate_examples.py
|
||||||
|
BUILD_CUDA_TESTS=1 pip install -e .
|
||||||
|
popd
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
function test_torch_deploy(){
|
||||||
|
pushd ..
|
||||||
|
pushd multipy
|
||||||
|
./multipy/runtime/build/test_deploy
|
||||||
|
./multipy/runtime/build/test_deploy_gpu
|
||||||
|
popd
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
function checkout_install_torchbench() {
|
function checkout_install_torchbench() {
|
||||||
local commit
|
local commit
|
||||||
commit=$(get_pinned_commit torchbench)
|
commit=$(get_pinned_commit torchbench)
|
||||||
@ -222,8 +224,6 @@ function checkout_install_torchbench() {
|
|||||||
# to install and test other models
|
# to install and test other models
|
||||||
python install.py --continue_on_fail
|
python install.py --continue_on_fail
|
||||||
fi
|
fi
|
||||||
echo "Print all dependencies after TorchBench is installed"
|
|
||||||
python -mpip freeze
|
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,37 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Script for installing sccache on the xla build job, which uses xla's docker
|
|
||||||
# image and doesn't have sccache installed on it. This is mostly copied from
|
|
||||||
# .ci/docker/install_cache.sh. Changes are: removing checks that will always
|
|
||||||
# return the same thing, ex checks for for rocm, CUDA, and changing the path
|
|
||||||
# where sccache is installed, and not changing /etc/environment.
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
install_binary() {
|
|
||||||
echo "Downloading sccache binary from S3 repo"
|
|
||||||
curl --retry 3 https://s3.amazonaws.com/ossci-linux/sccache -o /tmp/cache/bin/sccache
|
|
||||||
}
|
|
||||||
|
|
||||||
mkdir -p /tmp/cache/bin
|
|
||||||
mkdir -p /tmp/cache/lib
|
|
||||||
export PATH="/tmp/cache/bin:$PATH"
|
|
||||||
|
|
||||||
install_binary
|
|
||||||
chmod a+x /tmp/cache/bin/sccache
|
|
||||||
|
|
||||||
function write_sccache_stub() {
|
|
||||||
# Unset LD_PRELOAD for ps because of asan + ps issues
|
|
||||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90589
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
# shellcheck disable=SC2059
|
|
||||||
printf "#!/bin/sh\nif [ \$(env -u LD_PRELOAD ps -p \$PPID -o comm=) != sccache ]; then\n exec sccache $(which $1) \"\$@\"\nelse\n exec $(which $1) \"\$@\"\nfi" > "/tmp/cache/bin/$1"
|
|
||||||
chmod a+x "/tmp/cache/bin/$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
write_sccache_stub cc
|
|
||||||
write_sccache_stub c++
|
|
||||||
write_sccache_stub gcc
|
|
||||||
write_sccache_stub g++
|
|
||||||
write_sccache_stub clang
|
|
||||||
write_sccache_stub clang++
|
|
||||||
@ -19,7 +19,6 @@ time python test/run_test.py --verbose -i distributed/test_c10d_nccl
|
|||||||
time python test/run_test.py --verbose -i distributed/test_c10d_spawn_gloo
|
time python test/run_test.py --verbose -i distributed/test_c10d_spawn_gloo
|
||||||
time python test/run_test.py --verbose -i distributed/test_c10d_spawn_nccl
|
time python test/run_test.py --verbose -i distributed/test_c10d_spawn_nccl
|
||||||
time python test/run_test.py --verbose -i distributed/test_store
|
time python test/run_test.py --verbose -i distributed/test_store
|
||||||
time python test/run_test.py --verbose -i distributed/test_symmetric_memory
|
|
||||||
time python test/run_test.py --verbose -i distributed/test_pg_wrapper
|
time python test/run_test.py --verbose -i distributed/test_pg_wrapper
|
||||||
time python test/run_test.py --verbose -i distributed/rpc/cuda/test_tensorpipe_agent
|
time python test/run_test.py --verbose -i distributed/rpc/cuda/test_tensorpipe_agent
|
||||||
# FSDP tests
|
# FSDP tests
|
||||||
@ -51,9 +50,6 @@ time python test/run_test.py --verbose -i distributed/tensor/parallel/test_tp_ra
|
|||||||
# FSDP2 tests
|
# FSDP2 tests
|
||||||
time python test/run_test.py --verbose -i distributed/_composable/fsdp/test_fully_shard_training -- -k test_2d_mlp_with_nd_mesh
|
time python test/run_test.py --verbose -i distributed/_composable/fsdp/test_fully_shard_training -- -k test_2d_mlp_with_nd_mesh
|
||||||
|
|
||||||
# Pipelining composability tests
|
|
||||||
time python test/run_test.py --verbose -i distributed/pipelining/test_composability.py
|
|
||||||
|
|
||||||
# Other tests
|
# Other tests
|
||||||
time python test/run_test.py --verbose -i test_cuda_primary_ctx
|
time python test/run_test.py --verbose -i test_cuda_primary_ctx
|
||||||
time python test/run_test.py --verbose -i test_optim -- -k test_forloop_goes_right_direction_multigpu
|
time python test/run_test.py --verbose -i test_optim -- -k test_forloop_goes_right_direction_multigpu
|
||||||
|
|||||||
@ -249,7 +249,9 @@ fi
|
|||||||
# This tests that the debug asserts are working correctly.
|
# This tests that the debug asserts are working correctly.
|
||||||
if [[ "$BUILD_ENVIRONMENT" == *-debug* ]]; then
|
if [[ "$BUILD_ENVIRONMENT" == *-debug* ]]; then
|
||||||
echo "We are in debug mode: $BUILD_ENVIRONMENT. Expect the python assertion to fail"
|
echo "We are in debug mode: $BUILD_ENVIRONMENT. Expect the python assertion to fail"
|
||||||
(cd test && ! get_exit_code python -c "import torch; torch._C._crash_if_debug_asserts_fail(424242)")
|
# TODO: Enable the check after we setup the build to run debug asserts without having
|
||||||
|
# to do a full (and slow) debug build
|
||||||
|
# (cd test && ! get_exit_code python -c "import torch; torch._C._crash_if_debug_asserts_fail(424242)")
|
||||||
elif [[ "$BUILD_ENVIRONMENT" != *-bazel-* ]]; then
|
elif [[ "$BUILD_ENVIRONMENT" != *-bazel-* ]]; then
|
||||||
# Noop when debug is disabled. Skip bazel jobs because torch isn't available there yet.
|
# Noop when debug is disabled. Skip bazel jobs because torch isn't available there yet.
|
||||||
echo "We are not in debug mode: $BUILD_ENVIRONMENT. Expect the assertion to pass"
|
echo "We are not in debug mode: $BUILD_ENVIRONMENT. Expect the assertion to pass"
|
||||||
@ -275,9 +277,6 @@ test_python_shard() {
|
|||||||
|
|
||||||
# Bare --include flag is not supported and quoting for lint ends up with flag not being interpreted correctly
|
# Bare --include flag is not supported and quoting for lint ends up with flag not being interpreted correctly
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
|
|
||||||
# modify LD_LIBRARY_PATH to ensure it has the conda env.
|
|
||||||
# This set of tests has been shown to be buggy without it for the split-build
|
|
||||||
time python test/run_test.py --exclude-jit-executor --exclude-distributed-tests $INCLUDE_CLAUSE --shard "$1" "$NUM_TEST_SHARDS" --verbose $PYTHON_TEST_EXTRA_OPTION
|
time python test/run_test.py --exclude-jit-executor --exclude-distributed-tests $INCLUDE_CLAUSE --shard "$1" "$NUM_TEST_SHARDS" --verbose $PYTHON_TEST_EXTRA_OPTION
|
||||||
|
|
||||||
assert_git_not_dirty
|
assert_git_not_dirty
|
||||||
@ -327,7 +326,6 @@ test_inductor_distributed() {
|
|||||||
python test/run_test.py -i distributed/_composable/fsdp/test_fully_shard_frozen.py --verbose
|
python test/run_test.py -i distributed/_composable/fsdp/test_fully_shard_frozen.py --verbose
|
||||||
python test/run_test.py -i distributed/_composable/fsdp/test_fully_shard_mixed_precision.py -k test_compute_dtype --verbose
|
python test/run_test.py -i distributed/_composable/fsdp/test_fully_shard_mixed_precision.py -k test_compute_dtype --verbose
|
||||||
python test/run_test.py -i distributed/_composable/fsdp/test_fully_shard_mixed_precision.py -k test_reduce_dtype --verbose
|
python test/run_test.py -i distributed/_composable/fsdp/test_fully_shard_mixed_precision.py -k test_reduce_dtype --verbose
|
||||||
python test/run_test.py -i distributed/_composable/fsdp/test_fully_shard_clip_grad_norm_.py -k test_clip_grad_norm_2d --verbose
|
|
||||||
python test/run_test.py -i distributed/fsdp/test_fsdp_tp_integration.py -k test_fsdp_tp_integration --verbose
|
python test/run_test.py -i distributed/fsdp/test_fsdp_tp_integration.py -k test_fsdp_tp_integration --verbose
|
||||||
|
|
||||||
# this runs on both single-gpu and multi-gpu instance. It should be smart about skipping tests that aren't supported
|
# this runs on both single-gpu and multi-gpu instance. It should be smart about skipping tests that aren't supported
|
||||||
@ -336,50 +334,26 @@ test_inductor_distributed() {
|
|||||||
assert_git_not_dirty
|
assert_git_not_dirty
|
||||||
}
|
}
|
||||||
|
|
||||||
test_inductor_shard() {
|
test_inductor() {
|
||||||
if [[ -z "$NUM_TEST_SHARDS" ]]; then
|
|
||||||
echo "NUM_TEST_SHARDS must be defined to run a Python test shard"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
python tools/dynamo/verify_dynamo.py
|
python tools/dynamo/verify_dynamo.py
|
||||||
python test/run_test.py --inductor \
|
python test/run_test.py --inductor --include test_modules test_ops test_ops_gradients test_torch --verbose
|
||||||
--include test_modules test_ops test_ops_gradients test_torch \
|
|
||||||
--shard "$1" "$NUM_TEST_SHARDS" \
|
|
||||||
--verbose
|
|
||||||
|
|
||||||
# Do not add --inductor for the following inductor unit tests, otherwise we will fail because of nested dynamo state
|
# Do not add --inductor for the following inductor unit tests, otherwise we will fail because of nested dynamo state
|
||||||
python test/run_test.py \
|
python test/run_test.py --include inductor/test_torchinductor inductor/test_torchinductor_opinfo inductor/test_aot_inductor --verbose
|
||||||
--include inductor/test_torchinductor inductor/test_torchinductor_opinfo inductor/test_aot_inductor \
|
|
||||||
--shard "$1" "$NUM_TEST_SHARDS" \
|
|
||||||
--verbose
|
|
||||||
}
|
|
||||||
|
|
||||||
test_inductor_aoti() {
|
|
||||||
# docker build uses bdist_wheel which does not work with test_aot_inductor
|
# docker build uses bdist_wheel which does not work with test_aot_inductor
|
||||||
# TODO: need a faster way to build
|
# TODO: need a faster way to build
|
||||||
if [[ "$BUILD_ENVIRONMENT" != *rocm* ]]; then
|
if [[ "$BUILD_ENVIRONMENT" != *rocm* ]]; then
|
||||||
BUILD_AOT_INDUCTOR_TEST=1 python setup.py develop
|
BUILD_AOT_INDUCTOR_TEST=1 python setup.py develop
|
||||||
CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="${TORCH_LIB_DIR}" python test/run_test.py --cpp --verbose -i cpp/test_aoti_abi_check cpp/test_aoti_inference
|
CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="${TORCH_LIB_DIR}" python test/run_test.py --cpp --verbose -i cpp/test_aoti_abi_check cpp/test_aoti_inference
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
test_inductor_cpp_wrapper_abi_compatible() {
|
test_inductor_cpp_wrapper_abi_compatible() {
|
||||||
export TORCHINDUCTOR_ABI_COMPATIBLE=1
|
export TORCHINDUCTOR_ABI_COMPATIBLE=1
|
||||||
TEST_REPORTS_DIR=$(pwd)/test/test-reports
|
|
||||||
mkdir -p "$TEST_REPORTS_DIR"
|
|
||||||
|
|
||||||
echo "Testing Inductor cpp wrapper mode with TORCHINDUCTOR_ABI_COMPATIBLE=1"
|
echo "Testing Inductor cpp wrapper mode with TORCHINDUCTOR_ABI_COMPATIBLE=1"
|
||||||
# cpu stack allocation causes segfault and needs more investigation
|
# cpu stack allocation causes segfault and needs more investigation
|
||||||
PYTORCH_TESTING_DEVICE_ONLY_FOR="" python test/run_test.py --include inductor/test_cpu_cpp_wrapper
|
TORCHINDUCTOR_STACK_ALLOCATION=0 python test/run_test.py --include inductor/test_cpu_cpp_wrapper
|
||||||
python test/run_test.py --include inductor/test_cuda_cpp_wrapper
|
python test/run_test.py --include inductor/test_cuda_cpp_wrapper
|
||||||
|
|
||||||
TORCHINDUCTOR_CPP_WRAPPER=1 python benchmarks/dynamo/timm_models.py --device cuda --accuracy --amp \
|
|
||||||
--training --inductor --disable-cudagraphs --only vit_base_patch16_224 \
|
|
||||||
--output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_training.csv"
|
|
||||||
python benchmarks/dynamo/check_accuracy.py \
|
|
||||||
--actual "$TEST_REPORTS_DIR/inductor_cpp_wrapper_training.csv" \
|
|
||||||
--expected "benchmarks/dynamo/ci_expected_accuracy/inductor_timm_training.csv"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# "Global" flags for inductor benchmarking controlled by TEST_CONFIG
|
# "Global" flags for inductor benchmarking controlled by TEST_CONFIG
|
||||||
@ -404,7 +378,7 @@ if [[ "${TEST_CONFIG}" == *dynamic* ]]; then
|
|||||||
DYNAMO_BENCHMARK_FLAGS+=(--dynamic-shapes --dynamic-batch-only)
|
DYNAMO_BENCHMARK_FLAGS+=(--dynamic-shapes --dynamic-batch-only)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${TEST_CONFIG}" == *cpu_inductor* || "${TEST_CONFIG}" == *cpu_aot_inductor* ]]; then
|
if [[ "${TEST_CONFIG}" == *cpu_inductor* ]]; then
|
||||||
DYNAMO_BENCHMARK_FLAGS+=(--device cpu)
|
DYNAMO_BENCHMARK_FLAGS+=(--device cpu)
|
||||||
else
|
else
|
||||||
DYNAMO_BENCHMARK_FLAGS+=(--device cuda)
|
DYNAMO_BENCHMARK_FLAGS+=(--device cuda)
|
||||||
@ -529,10 +503,9 @@ test_single_dynamo_benchmark() {
|
|||||||
test_perf_for_dashboard "$suite" \
|
test_perf_for_dashboard "$suite" \
|
||||||
"${DYNAMO_BENCHMARK_FLAGS[@]}" "$@" "${partition_flags[@]}"
|
"${DYNAMO_BENCHMARK_FLAGS[@]}" "$@" "${partition_flags[@]}"
|
||||||
else
|
else
|
||||||
if [[ "${TEST_CONFIG}" == *aot_inductor* && "${TEST_CONFIG}" != *cpu_aot_inductor* ]]; then
|
if [[ "${TEST_CONFIG}" == *aot_inductor* ]]; then
|
||||||
# Test AOTInductor with the ABI-compatible mode on CI
|
# Test AOTInductor with the ABI-compatible mode on CI
|
||||||
# This can be removed once the ABI-compatible mode becomes default.
|
# This can be removed once the ABI-compatible mode becomes default.
|
||||||
# For CPU device, we perfer non ABI-compatible mode on CI when testing AOTInductor.
|
|
||||||
export TORCHINDUCTOR_ABI_COMPATIBLE=1
|
export TORCHINDUCTOR_ABI_COMPATIBLE=1
|
||||||
fi
|
fi
|
||||||
python "benchmarks/dynamo/$suite.py" \
|
python "benchmarks/dynamo/$suite.py" \
|
||||||
@ -554,11 +527,6 @@ test_inductor_micro_benchmark() {
|
|||||||
python benchmarks/gpt_fast/benchmark.py --output "${TEST_REPORTS_DIR}/gpt_fast_benchmark.csv"
|
python benchmarks/gpt_fast/benchmark.py --output "${TEST_REPORTS_DIR}/gpt_fast_benchmark.csv"
|
||||||
}
|
}
|
||||||
|
|
||||||
test_inductor_halide() {
|
|
||||||
python test/run_test.py --include inductor/test_halide.py --verbose
|
|
||||||
assert_git_not_dirty
|
|
||||||
}
|
|
||||||
|
|
||||||
test_dynamo_benchmark() {
|
test_dynamo_benchmark() {
|
||||||
# Usage: test_dynamo_benchmark huggingface 0
|
# Usage: test_dynamo_benchmark huggingface 0
|
||||||
TEST_REPORTS_DIR=$(pwd)/test/test-reports
|
TEST_REPORTS_DIR=$(pwd)/test/test-reports
|
||||||
@ -573,16 +541,8 @@ test_dynamo_benchmark() {
|
|||||||
elif [[ "${TEST_CONFIG}" == *perf* ]]; then
|
elif [[ "${TEST_CONFIG}" == *perf* ]]; then
|
||||||
test_single_dynamo_benchmark "dashboard" "$suite" "$shard_id" "$@"
|
test_single_dynamo_benchmark "dashboard" "$suite" "$shard_id" "$@"
|
||||||
else
|
else
|
||||||
if [[ "${TEST_CONFIG}" == *cpu_inductor* || "${TEST_CONFIG}" == *cpu_aot_inductor* ]]; then
|
if [[ "${TEST_CONFIG}" == *cpu_inductor* ]]; then
|
||||||
local dt="float32"
|
test_single_dynamo_benchmark "inference" "$suite" "$shard_id" --inference --float32 "$@"
|
||||||
if [[ "${TEST_CONFIG}" == *amp* ]]; then
|
|
||||||
dt="amp"
|
|
||||||
fi
|
|
||||||
if [[ "${TEST_CONFIG}" == *freezing* ]]; then
|
|
||||||
test_single_dynamo_benchmark "inference" "$suite" "$shard_id" --inference --"$dt" --freezing "$@"
|
|
||||||
else
|
|
||||||
test_single_dynamo_benchmark "inference" "$suite" "$shard_id" --inference --"$dt" "$@"
|
|
||||||
fi
|
|
||||||
elif [[ "${TEST_CONFIG}" == *aot_inductor* ]]; then
|
elif [[ "${TEST_CONFIG}" == *aot_inductor* ]]; then
|
||||||
test_single_dynamo_benchmark "inference" "$suite" "$shard_id" --inference --bfloat16 "$@"
|
test_single_dynamo_benchmark "inference" "$suite" "$shard_id" --inference --bfloat16 "$@"
|
||||||
else
|
else
|
||||||
@ -596,16 +556,12 @@ test_inductor_torchbench_smoketest_perf() {
|
|||||||
TEST_REPORTS_DIR=$(pwd)/test/test-reports
|
TEST_REPORTS_DIR=$(pwd)/test/test-reports
|
||||||
mkdir -p "$TEST_REPORTS_DIR"
|
mkdir -p "$TEST_REPORTS_DIR"
|
||||||
|
|
||||||
# Test some models in the cpp wrapper mode
|
# smoke test the cpp_wrapper mode
|
||||||
TORCHINDUCTOR_ABI_COMPATIBLE=1 TORCHINDUCTOR_CPP_WRAPPER=1 python benchmarks/dynamo/torchbench.py --device cuda --accuracy \
|
TORCHINDUCTOR_CPP_WRAPPER=1 python benchmarks/dynamo/torchbench.py --device cuda --accuracy --bfloat16 \
|
||||||
--bfloat16 --inference --inductor --only hf_T5 --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv"
|
--inference --inductor --only hf_T5 --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_smoketest.csv"
|
||||||
TORCHINDUCTOR_ABI_COMPATIBLE=1 TORCHINDUCTOR_CPP_WRAPPER=1 python benchmarks/dynamo/torchbench.py --device cuda --accuracy \
|
|
||||||
--bfloat16 --inference --inductor --only llama --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv"
|
|
||||||
TORCHINDUCTOR_ABI_COMPATIBLE=1 TORCHINDUCTOR_CPP_WRAPPER=1 python benchmarks/dynamo/torchbench.py --device cuda --accuracy \
|
|
||||||
--bfloat16 --inference --inductor --only moco --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv"
|
|
||||||
python benchmarks/dynamo/check_accuracy.py \
|
python benchmarks/dynamo/check_accuracy.py \
|
||||||
--actual "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv" \
|
--actual "$TEST_REPORTS_DIR/inductor_cpp_wrapper_smoketest.csv" \
|
||||||
--expected "benchmarks/dynamo/ci_expected_accuracy/inductor_torchbench_inference.csv"
|
--expected "benchmarks/dynamo/ci_expected_accuracy/inductor_torchbench_inference.csv"
|
||||||
|
|
||||||
python benchmarks/dynamo/torchbench.py --device cuda --performance --backend inductor --float16 --training \
|
python benchmarks/dynamo/torchbench.py --device cuda --performance --backend inductor --float16 --training \
|
||||||
--batch-size-file "$(realpath benchmarks/dynamo/torchbench_models_list.txt)" --only hf_Bert \
|
--batch-size-file "$(realpath benchmarks/dynamo/torchbench_models_list.txt)" --only hf_Bert \
|
||||||
@ -620,8 +576,7 @@ test_inductor_torchbench_smoketest_perf() {
|
|||||||
# https://github.com/pytorch/pytorch/actions/runs/7158691360/job/19491437314,
|
# https://github.com/pytorch/pytorch/actions/runs/7158691360/job/19491437314,
|
||||||
# and thus we lower its threshold to reduce flakiness. If this continues to be a problem,
|
# and thus we lower its threshold to reduce flakiness. If this continues to be a problem,
|
||||||
# we switch to use some other model.
|
# we switch to use some other model.
|
||||||
# lowering threshold from 4.9 to 4.7 for cu124. Will bump it up after cuda 12.4.0->12.4.1 update
|
python benchmarks/dynamo/check_perf_csv.py -f "$TEST_REPORTS_DIR/inductor_inference_smoketest.csv" -t 4.9
|
||||||
python benchmarks/dynamo/check_perf_csv.py -f "$TEST_REPORTS_DIR/inductor_inference_smoketest.csv" -t 4.7
|
|
||||||
|
|
||||||
# Check memory compression ratio for a few models
|
# Check memory compression ratio for a few models
|
||||||
for test in hf_Albert timm_vision_transformer; do
|
for test in hf_Albert timm_vision_transformer; do
|
||||||
@ -725,6 +680,7 @@ test_aten() {
|
|||||||
${SUDO} ln -sf "$TORCH_LIB_DIR"/libmkldnn* "$TEST_BASE_DIR"
|
${SUDO} ln -sf "$TORCH_LIB_DIR"/libmkldnn* "$TEST_BASE_DIR"
|
||||||
${SUDO} ln -sf "$TORCH_LIB_DIR"/libnccl* "$TEST_BASE_DIR"
|
${SUDO} ln -sf "$TORCH_LIB_DIR"/libnccl* "$TEST_BASE_DIR"
|
||||||
${SUDO} ln -sf "$TORCH_LIB_DIR"/libtorch* "$TEST_BASE_DIR"
|
${SUDO} ln -sf "$TORCH_LIB_DIR"/libtorch* "$TEST_BASE_DIR"
|
||||||
|
${SUDO} ln -sf "$TORCH_LIB_DIR"/libtbb* "$TEST_BASE_DIR"
|
||||||
|
|
||||||
ls "$TEST_BASE_DIR"
|
ls "$TEST_BASE_DIR"
|
||||||
aten/tools/run_tests.sh "$TEST_BASE_DIR"
|
aten/tools/run_tests.sh "$TEST_BASE_DIR"
|
||||||
@ -749,6 +705,21 @@ test_without_numpy() {
|
|||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# pytorch extensions require including torch/extension.h which includes all.h
|
||||||
|
# which includes utils.h which includes Parallel.h.
|
||||||
|
# So you can call for instance parallel_for() from your extension,
|
||||||
|
# but the compilation will fail because of Parallel.h has only declarations
|
||||||
|
# and definitions are conditionally included Parallel.h(see last lines of Parallel.h).
|
||||||
|
# I tried to solve it #39612 and #39881 by including Config.h into Parallel.h
|
||||||
|
# But if Pytorch is built with TBB it provides Config.h
|
||||||
|
# that has AT_PARALLEL_NATIVE_TBB=1(see #3961 or #39881) and it means that if you include
|
||||||
|
# torch/extension.h which transitively includes Parallel.h
|
||||||
|
# which transitively includes tbb.h which is not available!
|
||||||
|
if [[ "${BUILD_ENVIRONMENT}" == *tbb* ]]; then
|
||||||
|
sudo mkdir -p /usr/include/tbb
|
||||||
|
sudo cp -r "$PWD"/third_party/tbb/include/tbb/* /usr/include/tbb
|
||||||
|
fi
|
||||||
|
|
||||||
test_libtorch() {
|
test_libtorch() {
|
||||||
local SHARD="$1"
|
local SHARD="$1"
|
||||||
|
|
||||||
@ -762,6 +733,7 @@ test_libtorch() {
|
|||||||
ln -sf "$TORCH_LIB_DIR"/libc10* "$TORCH_BIN_DIR"
|
ln -sf "$TORCH_LIB_DIR"/libc10* "$TORCH_BIN_DIR"
|
||||||
ln -sf "$TORCH_LIB_DIR"/libshm* "$TORCH_BIN_DIR"
|
ln -sf "$TORCH_LIB_DIR"/libshm* "$TORCH_BIN_DIR"
|
||||||
ln -sf "$TORCH_LIB_DIR"/libtorch* "$TORCH_BIN_DIR"
|
ln -sf "$TORCH_LIB_DIR"/libtorch* "$TORCH_BIN_DIR"
|
||||||
|
ln -sf "$TORCH_LIB_DIR"/libtbb* "$TORCH_BIN_DIR"
|
||||||
ln -sf "$TORCH_LIB_DIR"/libnvfuser* "$TORCH_BIN_DIR"
|
ln -sf "$TORCH_LIB_DIR"/libnvfuser* "$TORCH_BIN_DIR"
|
||||||
|
|
||||||
export CPP_TESTS_DIR="${TORCH_BIN_DIR}"
|
export CPP_TESTS_DIR="${TORCH_BIN_DIR}"
|
||||||
@ -898,6 +870,7 @@ test_rpc() {
|
|||||||
# test reporting process to function as expected.
|
# test reporting process to function as expected.
|
||||||
ln -sf "$TORCH_LIB_DIR"/libtorch* "$TORCH_BIN_DIR"
|
ln -sf "$TORCH_LIB_DIR"/libtorch* "$TORCH_BIN_DIR"
|
||||||
ln -sf "$TORCH_LIB_DIR"/libc10* "$TORCH_BIN_DIR"
|
ln -sf "$TORCH_LIB_DIR"/libc10* "$TORCH_BIN_DIR"
|
||||||
|
ln -sf "$TORCH_LIB_DIR"/libtbb* "$TORCH_BIN_DIR"
|
||||||
|
|
||||||
CPP_TESTS_DIR="${TORCH_BIN_DIR}" python test/run_test.py --cpp --verbose -i cpp/test_cpp_rpc
|
CPP_TESTS_DIR="${TORCH_BIN_DIR}" python test/run_test.py --cpp --verbose -i cpp/test_cpp_rpc
|
||||||
}
|
}
|
||||||
@ -1177,21 +1150,15 @@ test_executorch() {
|
|||||||
|
|
||||||
pushd /executorch
|
pushd /executorch
|
||||||
|
|
||||||
export PYTHON_EXECUTABLE=python
|
# NB: We need to build ExecuTorch runner here and not inside the Docker image
|
||||||
export EXECUTORCH_BUILD_PYBIND=ON
|
# because it depends on PyTorch
|
||||||
export CMAKE_ARGS="-DEXECUTORCH_BUILD_XNNPACK=ON -DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON"
|
|
||||||
|
|
||||||
# NB: We need to rebuild ExecuTorch runner here because it depends on PyTorch
|
|
||||||
# from the PR
|
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source .ci/scripts/setup-linux.sh cmake
|
source .ci/scripts/utils.sh
|
||||||
|
build_executorch_runner "cmake"
|
||||||
echo "Run ExecuTorch unit tests"
|
|
||||||
pytest -v -n auto
|
|
||||||
# shellcheck disable=SC1091
|
|
||||||
LLVM_PROFDATA=llvm-profdata-12 LLVM_COV=llvm-cov-12 bash test/run_oss_cpp_tests.sh
|
|
||||||
|
|
||||||
echo "Run ExecuTorch regression tests for some models"
|
echo "Run ExecuTorch regression tests for some models"
|
||||||
|
# NB: This is a sample model, more can be added here
|
||||||
|
export PYTHON_EXECUTABLE=python
|
||||||
# TODO(huydhn): Add more coverage here using ExecuTorch's gather models script
|
# TODO(huydhn): Add more coverage here using ExecuTorch's gather models script
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source .ci/scripts/test.sh mv3 cmake xnnpack-quantization-delegation ''
|
source .ci/scripts/test.sh mv3 cmake xnnpack-quantization-delegation ''
|
||||||
@ -1251,10 +1218,11 @@ elif [[ "$TEST_CONFIG" == distributed ]]; then
|
|||||||
if [[ "${SHARD_NUMBER}" == 1 ]]; then
|
if [[ "${SHARD_NUMBER}" == 1 ]]; then
|
||||||
test_rpc
|
test_rpc
|
||||||
fi
|
fi
|
||||||
|
elif [[ "$TEST_CONFIG" == deploy ]]; then
|
||||||
|
checkout_install_torchdeploy
|
||||||
|
test_torch_deploy
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor_distributed* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor_distributed* ]]; then
|
||||||
test_inductor_distributed
|
test_inductor_distributed
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor-halide* ]]; then
|
|
||||||
test_inductor_halide
|
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor-micro-benchmark* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor-micro-benchmark* ]]; then
|
||||||
test_inductor_micro_benchmark
|
test_inductor_micro_benchmark
|
||||||
elif [[ "${TEST_CONFIG}" == *huggingface* ]]; then
|
elif [[ "${TEST_CONFIG}" == *huggingface* ]]; then
|
||||||
@ -1266,14 +1234,13 @@ elif [[ "${TEST_CONFIG}" == *timm* ]]; then
|
|||||||
id=$((SHARD_NUMBER-1))
|
id=$((SHARD_NUMBER-1))
|
||||||
test_dynamo_benchmark timm_models "$id"
|
test_dynamo_benchmark timm_models "$id"
|
||||||
elif [[ "${TEST_CONFIG}" == *torchbench* ]]; then
|
elif [[ "${TEST_CONFIG}" == *torchbench* ]]; then
|
||||||
if [[ "${TEST_CONFIG}" == *cpu_inductor* || "${TEST_CONFIG}" == *cpu_aot_inductor* ]]; then
|
if [[ "${TEST_CONFIG}" == *cpu_inductor* ]]; then
|
||||||
install_torchaudio cpu
|
install_torchaudio cpu
|
||||||
else
|
else
|
||||||
install_torchaudio cuda
|
install_torchaudio cuda
|
||||||
fi
|
fi
|
||||||
install_torchtext
|
install_torchtext
|
||||||
install_torchvision
|
install_torchvision
|
||||||
TORCH_CUDA_ARCH_LIST="8.0;8.6" pip_install git+https://github.com/pytorch/ao.git
|
|
||||||
id=$((SHARD_NUMBER-1))
|
id=$((SHARD_NUMBER-1))
|
||||||
# https://github.com/opencv/opencv-python/issues/885
|
# https://github.com/opencv/opencv-python/issues/885
|
||||||
pip_install opencv-python==4.8.0.74
|
pip_install opencv-python==4.8.0.74
|
||||||
@ -1292,7 +1259,7 @@ elif [[ "${TEST_CONFIG}" == *torchbench* ]]; then
|
|||||||
checkout_install_torchbench
|
checkout_install_torchbench
|
||||||
# Do this after checkout_install_torchbench to ensure we clobber any
|
# Do this after checkout_install_torchbench to ensure we clobber any
|
||||||
# nightlies that torchbench may pull in
|
# nightlies that torchbench may pull in
|
||||||
if [[ "${TEST_CONFIG}" != *cpu_inductor* && "${TEST_CONFIG}" != *cpu_aot_inductor* ]]; then
|
if [[ "${TEST_CONFIG}" != *cpu_inductor* ]]; then
|
||||||
install_torchrec_and_fbgemm
|
install_torchrec_and_fbgemm
|
||||||
fi
|
fi
|
||||||
PYTHONPATH=$(pwd)/torchbench test_dynamo_benchmark torchbench "$id"
|
PYTHONPATH=$(pwd)/torchbench test_dynamo_benchmark torchbench "$id"
|
||||||
@ -1300,19 +1267,17 @@ elif [[ "${TEST_CONFIG}" == *torchbench* ]]; then
|
|||||||
elif [[ "${TEST_CONFIG}" == *inductor_cpp_wrapper_abi_compatible* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor_cpp_wrapper_abi_compatible* ]]; then
|
||||||
install_torchvision
|
install_torchvision
|
||||||
test_inductor_cpp_wrapper_abi_compatible
|
test_inductor_cpp_wrapper_abi_compatible
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor* && "${SHARD_NUMBER}" == 1 ]]; then
|
||||||
install_torchvision
|
install_torchvision
|
||||||
test_inductor_shard "${SHARD_NUMBER}"
|
test_inductor
|
||||||
if [[ "${SHARD_NUMBER}" == 1 ]]; then
|
test_inductor_distributed
|
||||||
test_inductor_aoti
|
elif [[ "${TEST_CONFIG}" == *dynamo* && "${SHARD_NUMBER}" == 1 && $NUM_TEST_SHARDS -gt 1 ]]; then
|
||||||
test_inductor_distributed
|
install_torchvision
|
||||||
fi
|
test_dynamo_shard 1
|
||||||
elif [[ "${TEST_CONFIG}" == *dynamo* ]]; then
|
test_aten
|
||||||
|
elif [[ "${TEST_CONFIG}" == *dynamo* && $SHARD_NUMBER -gt 1 && $NUM_TEST_SHARDS -gt 1 ]]; then
|
||||||
install_torchvision
|
install_torchvision
|
||||||
test_dynamo_shard "${SHARD_NUMBER}"
|
test_dynamo_shard "${SHARD_NUMBER}"
|
||||||
if [[ "${SHARD_NUMBER}" == 1 ]]; then
|
|
||||||
test_aten
|
|
||||||
fi
|
|
||||||
elif [[ "${BUILD_ENVIRONMENT}" == *rocm* && -n "$TESTS_TO_INCLUDE" ]]; then
|
elif [[ "${BUILD_ENVIRONMENT}" == *rocm* && -n "$TESTS_TO_INCLUDE" ]]; then
|
||||||
install_torchvision
|
install_torchvision
|
||||||
test_python_shard "$SHARD_NUMBER"
|
test_python_shard "$SHARD_NUMBER"
|
||||||
|
|||||||
@ -97,16 +97,8 @@ if [[ "$PACKAGE_TYPE" == conda ]]; then
|
|||||||
)
|
)
|
||||||
elif [[ "$PACKAGE_TYPE" != libtorch ]]; then
|
elif [[ "$PACKAGE_TYPE" != libtorch ]]; then
|
||||||
if [[ "\$BUILD_ENVIRONMENT" != *s390x* ]]; then
|
if [[ "\$BUILD_ENVIRONMENT" != *s390x* ]]; then
|
||||||
if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
|
pip install "\$pkg" --index-url "https://download.pytorch.org/whl/\${CHANNEL}/${DESIRED_CUDA}"
|
||||||
pkg_no_python="$(ls -1 /final_pkgs/torch_no_python* | sort |tail -1)"
|
retry pip install -q numpy protobuf typing-extensions
|
||||||
pkg_torch="$(ls -1 /final_pkgs/torch-* | sort |tail -1)"
|
|
||||||
# todo: after folder is populated use the pypi_pkg channel instead
|
|
||||||
pip install "\$pkg_no_python" "\$pkg_torch" --index-url "https://download.pytorch.org/whl/\${CHANNEL}/${DESIRED_CUDA}_pypi_pkg"
|
|
||||||
retry pip install -q numpy protobuf typing-extensions
|
|
||||||
else
|
|
||||||
pip install "\$pkg" --index-url "https://download.pytorch.org/whl/\${CHANNEL}/${DESIRED_CUDA}"
|
|
||||||
retry pip install -q numpy protobuf typing-extensions
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
pip install "\$pkg"
|
pip install "\$pkg"
|
||||||
retry pip install -q numpy protobuf typing-extensions
|
retry pip install -q numpy protobuf typing-extensions
|
||||||
|
|||||||
@ -33,9 +33,9 @@ if [[ -z "$DOCKER_IMAGE" ]]; then
|
|||||||
if [[ "$PACKAGE_TYPE" == conda ]]; then
|
if [[ "$PACKAGE_TYPE" == conda ]]; then
|
||||||
export DOCKER_IMAGE="pytorch/conda-cuda"
|
export DOCKER_IMAGE="pytorch/conda-cuda"
|
||||||
elif [[ "$DESIRED_CUDA" == cpu ]]; then
|
elif [[ "$DESIRED_CUDA" == cpu ]]; then
|
||||||
export DOCKER_IMAGE="pytorch/manylinux:cpu"
|
export DOCKER_IMAGE="pytorch/manylinux-cpu"
|
||||||
else
|
else
|
||||||
export DOCKER_IMAGE="pytorch/manylinux-builder:${DESIRED_CUDA:2}"
|
export DOCKER_IMAGE="pytorch/manylinux-cuda${DESIRED_CUDA:2}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -75,9 +75,9 @@ export PYTORCH_BUILD_NUMBER=1
|
|||||||
TRITON_VERSION=$(cat $PYTORCH_ROOT/.ci/docker/triton_version.txt)
|
TRITON_VERSION=$(cat $PYTORCH_ROOT/.ci/docker/triton_version.txt)
|
||||||
|
|
||||||
# Here PYTORCH_EXTRA_INSTALL_REQUIREMENTS is already set for the all the wheel builds hence append TRITON_CONSTRAINT
|
# Here PYTORCH_EXTRA_INSTALL_REQUIREMENTS is already set for the all the wheel builds hence append TRITON_CONSTRAINT
|
||||||
TRITON_CONSTRAINT="platform_system == 'Linux' and platform_machine == 'x86_64' and python_version < '3.13'"
|
|
||||||
if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "${PYTORCH_EXTRA_INSTALL_REQUIREMENTS:-}" ]]; then
|
if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "${PYTORCH_EXTRA_INSTALL_REQUIREMENTS:-}" ]]; then
|
||||||
# Only linux Python < 3.13 are supported wheels for triton
|
# Only linux Python < 3.12 are supported wheels for triton
|
||||||
|
TRITON_CONSTRAINT="platform_system == 'Linux' and platform_machine == 'x86_64' and python_version < '3.12'"
|
||||||
TRITON_REQUIREMENT="triton==${TRITON_VERSION}; ${TRITON_CONSTRAINT}"
|
TRITON_REQUIREMENT="triton==${TRITON_VERSION}; ${TRITON_CONSTRAINT}"
|
||||||
if [[ -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*dev.* ]]; then
|
if [[ -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*dev.* ]]; then
|
||||||
TRITON_SHORTHASH=$(cut -c1-10 $PYTORCH_ROOT/.ci/docker/ci_commit_pins/triton.txt)
|
TRITON_SHORTHASH=$(cut -c1-10 $PYTORCH_ROOT/.ci/docker/ci_commit_pins/triton.txt)
|
||||||
@ -87,11 +87,11 @@ if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "${PYTORCH_EXTRA_INSTALL_REQUIREMENTS:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Set triton via PYTORCH_EXTRA_INSTALL_REQUIREMENTS for triton rocm package
|
# Set triton via PYTORCH_EXTRA_INSTALL_REQUIREMENTS for triton rocm package
|
||||||
if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*rocm.* && $(uname) == "Linux" ]]; then
|
if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*rocm.* && $(uname) == "Linux" && "$DESIRED_PYTHON" != "3.12" ]]; then
|
||||||
TRITON_REQUIREMENT="pytorch-triton-rocm==${TRITON_VERSION}; ${TRITON_CONSTRAINT}"
|
TRITON_REQUIREMENT="pytorch-triton-rocm==${TRITON_VERSION}"
|
||||||
if [[ -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*dev.* ]]; then
|
if [[ -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*dev.* ]]; then
|
||||||
TRITON_SHORTHASH=$(cut -c1-10 $PYTORCH_ROOT/.ci/docker/ci_commit_pins/triton-rocm.txt)
|
TRITON_SHORTHASH=$(cut -c1-10 $PYTORCH_ROOT/.ci/docker/ci_commit_pins/triton-rocm.txt)
|
||||||
TRITON_REQUIREMENT="pytorch-triton-rocm==${TRITON_VERSION}+${TRITON_SHORTHASH}; ${TRITON_CONSTRAINT}"
|
TRITON_REQUIREMENT="pytorch-triton-rocm==${TRITON_VERSION}+${TRITON_SHORTHASH}"
|
||||||
fi
|
fi
|
||||||
if [[ -z "${PYTORCH_EXTRA_INSTALL_REQUIREMENTS:-}" ]]; then
|
if [[ -z "${PYTORCH_EXTRA_INSTALL_REQUIREMENTS:-}" ]]; then
|
||||||
export PYTORCH_EXTRA_INSTALL_REQUIREMENTS="${TRITON_REQUIREMENT}"
|
export PYTORCH_EXTRA_INSTALL_REQUIREMENTS="${TRITON_REQUIREMENT}"
|
||||||
@ -100,6 +100,32 @@ if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_B
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
JAVA_HOME=
|
||||||
|
BUILD_JNI=OFF
|
||||||
|
if [[ "$PACKAGE_TYPE" == libtorch ]]; then
|
||||||
|
POSSIBLE_JAVA_HOMES=()
|
||||||
|
POSSIBLE_JAVA_HOMES+=(/usr/local)
|
||||||
|
POSSIBLE_JAVA_HOMES+=(/usr/lib/jvm/java-8-openjdk-amd64)
|
||||||
|
POSSIBLE_JAVA_HOMES+=(/Library/Java/JavaVirtualMachines/*.jdk/Contents/Home)
|
||||||
|
# Add the Windows-specific JNI path
|
||||||
|
POSSIBLE_JAVA_HOMES+=("$PWD/pytorch/.circleci/windows-jni/")
|
||||||
|
for JH in "${POSSIBLE_JAVA_HOMES[@]}" ; do
|
||||||
|
if [[ -e "$JH/include/jni.h" ]] ; then
|
||||||
|
# Skip if we're not on Windows but haven't found a JAVA_HOME
|
||||||
|
if [[ "$JH" == "$PWD/pytorch/.circleci/windows-jni/" && "$OSTYPE" != "msys" ]] ; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo "Found jni.h under $JH"
|
||||||
|
JAVA_HOME="$JH"
|
||||||
|
BUILD_JNI=ON
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ -z "$JAVA_HOME" ]; then
|
||||||
|
echo "Did not find jni.h"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
cat >"$envfile" <<EOL
|
cat >"$envfile" <<EOL
|
||||||
# =================== The following code will be executed inside Docker container ===================
|
# =================== The following code will be executed inside Docker container ===================
|
||||||
export TZ=UTC
|
export TZ=UTC
|
||||||
@ -110,7 +136,6 @@ export DESIRED_PYTHON="${DESIRED_PYTHON:-}"
|
|||||||
export DESIRED_CUDA="$DESIRED_CUDA"
|
export DESIRED_CUDA="$DESIRED_CUDA"
|
||||||
export LIBTORCH_VARIANT="${LIBTORCH_VARIANT:-}"
|
export LIBTORCH_VARIANT="${LIBTORCH_VARIANT:-}"
|
||||||
export BUILD_PYTHONLESS="${BUILD_PYTHONLESS:-}"
|
export BUILD_PYTHONLESS="${BUILD_PYTHONLESS:-}"
|
||||||
export USE_SPLIT_BUILD="${USE_SPLIT_BUILD:-}"
|
|
||||||
if [[ "${OSTYPE}" == "msys" ]]; then
|
if [[ "${OSTYPE}" == "msys" ]]; then
|
||||||
export LIBTORCH_CONFIG="${LIBTORCH_CONFIG:-}"
|
export LIBTORCH_CONFIG="${LIBTORCH_CONFIG:-}"
|
||||||
if [[ "${LIBTORCH_CONFIG:-}" == 'debug' ]]; then
|
if [[ "${LIBTORCH_CONFIG:-}" == 'debug' ]]; then
|
||||||
@ -134,6 +159,8 @@ export TORCH_CONDA_BUILD_FOLDER='pytorch-nightly'
|
|||||||
export ANACONDA_USER='pytorch'
|
export ANACONDA_USER='pytorch'
|
||||||
|
|
||||||
export USE_FBGEMM=1
|
export USE_FBGEMM=1
|
||||||
|
export JAVA_HOME=$JAVA_HOME
|
||||||
|
export BUILD_JNI=$BUILD_JNI
|
||||||
export PIP_UPLOAD_FOLDER="$PIP_UPLOAD_FOLDER"
|
export PIP_UPLOAD_FOLDER="$PIP_UPLOAD_FOLDER"
|
||||||
export DOCKER_IMAGE="$DOCKER_IMAGE"
|
export DOCKER_IMAGE="$DOCKER_IMAGE"
|
||||||
|
|
||||||
|
|||||||
@ -25,15 +25,6 @@ if [[ "${DRY_RUN}" = "disabled" ]]; then
|
|||||||
AWS_S3_CP="aws s3 cp"
|
AWS_S3_CP="aws s3 cp"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${USE_SPLIT_BUILD:-false}" == "true" ]]; then
|
|
||||||
UPLOAD_SUBFOLDER="${UPLOAD_SUBFOLDER}_pypi_pkg"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# this is special build with all dependencies packaged
|
|
||||||
if [[ ${BUILD_NAME} == *-full* ]]; then
|
|
||||||
UPLOAD_SUBFOLDER="${UPLOAD_SUBFOLDER}_full"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Sleep 2 minutes between retries for conda upload
|
# Sleep 2 minutes between retries for conda upload
|
||||||
retry () {
|
retry () {
|
||||||
"$@" || (sleep 5m && "$@") || (sleep 5m && "$@") || (sleep 5m && "$@") || (sleep 5m && "$@")
|
"$@" || (sleep 5m && "$@") || (sleep 5m && "$@") || (sleep 5m && "$@") || (sleep 5m && "$@")
|
||||||
|
|||||||
@ -62,6 +62,4 @@ readability-string-compare,
|
|||||||
'
|
'
|
||||||
HeaderFilterRegex: '^(aten/|c10/|torch/).*$'
|
HeaderFilterRegex: '^(aten/|c10/|torch/).*$'
|
||||||
WarningsAsErrors: '*'
|
WarningsAsErrors: '*'
|
||||||
CheckOptions:
|
|
||||||
misc-header-include-cycle.IgnoredFilesList: 'format.h;ivalue.h;custom_class.h;Dict.h;List.h'
|
|
||||||
...
|
...
|
||||||
|
|||||||
29
.github/actionlint.yaml
vendored
29
.github/actionlint.yaml
vendored
@ -1,12 +1,9 @@
|
|||||||
self-hosted-runner:
|
self-hosted-runner:
|
||||||
labels:
|
labels:
|
||||||
# GitHub hosted x86 Linux runners
|
|
||||||
- linux.20_04.4x
|
- linux.20_04.4x
|
||||||
- linux.20_04.16x
|
- linux.20_04.16x
|
||||||
# Repo-specific LF hosted ARC runners
|
|
||||||
- linux.large.arc
|
|
||||||
# Organization-wide AWS Linux Runners
|
|
||||||
- linux.large
|
- linux.large
|
||||||
|
- linux.large.arc
|
||||||
- linux.2xlarge
|
- linux.2xlarge
|
||||||
- linux.4xlarge
|
- linux.4xlarge
|
||||||
- linux.12xlarge
|
- linux.12xlarge
|
||||||
@ -16,34 +13,18 @@ self-hosted-runner:
|
|||||||
- linux.8xlarge.nvidia.gpu
|
- linux.8xlarge.nvidia.gpu
|
||||||
- linux.16xlarge.nvidia.gpu
|
- linux.16xlarge.nvidia.gpu
|
||||||
- linux.g5.4xlarge.nvidia.gpu
|
- linux.g5.4xlarge.nvidia.gpu
|
||||||
# Organization-wide AWS Linux Runners on Linux Foundation account
|
|
||||||
- lf.linux.large
|
|
||||||
- lf.linux.2xlarge
|
|
||||||
- lf.linux.4xlarge
|
|
||||||
- lf.linux.12xlarge
|
|
||||||
- lf.linux.24xlarge
|
|
||||||
- lf.linux.arm64.2xlarge
|
|
||||||
- lf.linux.4xlarge.nvidia.gpu
|
|
||||||
- lf.linux.8xlarge.nvidia.gpu
|
|
||||||
- lf.linux.16xlarge.nvidia.gpu
|
|
||||||
- lf.linux.g5.4xlarge.nvidia.gpu
|
|
||||||
# Repo-specific IBM hosted S390x runner
|
|
||||||
- linux.s390x
|
- linux.s390x
|
||||||
# Organization wide AWS Windows runners
|
|
||||||
- windows.4xlarge.nonephemeral
|
- windows.4xlarge.nonephemeral
|
||||||
- windows.8xlarge.nvidia.gpu
|
- windows.8xlarge.nvidia.gpu
|
||||||
- windows.8xlarge.nvidia.gpu.nonephemeral
|
- windows.8xlarge.nvidia.gpu.nonephemeral
|
||||||
- windows.g5.4xlarge.nvidia.gpu
|
- windows.g5.4xlarge.nvidia.gpu
|
||||||
# Organization-wide AMD hosted MI300 runners
|
- bm-runner
|
||||||
- linux.rocm.gpu
|
- linux.rocm.gpu
|
||||||
# Repo-specific Apple hosted runners
|
|
||||||
- macos-m1-ultra
|
|
||||||
- macos-m2-14
|
|
||||||
# Org wise AWS `mac2.metal` runners (2020 Mac mini hardware powered by Apple silicon M1 processors)
|
|
||||||
- macos-m1-stable
|
- macos-m1-stable
|
||||||
- macos-m1-13
|
- macos-m1-13
|
||||||
- macos-m1-14
|
- macos-m1-14
|
||||||
# GitHub-hosted MacOS runners
|
- macos-12-xl
|
||||||
|
- macos-12
|
||||||
|
- macos12.3-m1
|
||||||
- macos-latest-xlarge
|
- macos-latest-xlarge
|
||||||
- macos-13-xlarge
|
- macos-13-xlarge
|
||||||
- macos-14-xlarge
|
|
||||||
|
|||||||
6
.github/actions/diskspace-cleanup/action.yml
vendored
6
.github/actions/diskspace-cleanup/action.yml
vendored
@ -14,14 +14,12 @@ runs:
|
|||||||
- name: Cleans up diskspace
|
- name: Cleans up diskspace
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -ex
|
|
||||||
diskspace_cutoff=${{ inputs.diskspace-cutoff }}
|
diskspace_cutoff=${{ inputs.diskspace-cutoff }}
|
||||||
docker_root_dir=$(docker info -f '{{.DockerRootDir}}')
|
diskspace=$(df -H / --output=pcent | sed -n 2p | sed 's/%//' | sed 's/ //')
|
||||||
diskspace=$(df -H --output=pcent ${docker_root_dir} | sed -n 2p | sed 's/%//' | sed 's/ //')
|
|
||||||
msg="Please file an issue on pytorch/pytorch reporting the faulty runner. Include a link to the runner logs so the runner can be identified"
|
msg="Please file an issue on pytorch/pytorch reporting the faulty runner. Include a link to the runner logs so the runner can be identified"
|
||||||
if [[ "$diskspace" -ge "$diskspace_cutoff" ]] ; then
|
if [[ "$diskspace" -ge "$diskspace_cutoff" ]] ; then
|
||||||
docker system prune -af
|
docker system prune -af
|
||||||
diskspace_new=$(df -H --output=pcent ${docker_root_dir} | sed -n 2p | sed 's/%//' | sed 's/ //')
|
diskspace_new=$(df -H / --output=pcent | sed -n 2p | sed 's/%//' | sed 's/ //')
|
||||||
if [[ "$diskspace_new" -gt "$diskspace_cutoff" ]] ; then
|
if [[ "$diskspace_new" -gt "$diskspace_cutoff" ]] ; then
|
||||||
echo "Error: Available diskspace is less than $diskspace_cutoff percent. Not enough diskspace."
|
echo "Error: Available diskspace is less than $diskspace_cutoff percent. Not enough diskspace."
|
||||||
echo "$msg"
|
echo "$msg"
|
||||||
|
|||||||
@ -66,8 +66,7 @@ runs:
|
|||||||
command: |
|
command: |
|
||||||
set -eux
|
set -eux
|
||||||
# PyYAML 6.0 doesn't work with MacOS x86 anymore
|
# PyYAML 6.0 doesn't work with MacOS x86 anymore
|
||||||
# This must run on Python-3.7 (AmazonLinux2) so can't use request=3.32.2
|
python3 -m pip install requests==2.26.0 pyyaml==6.0.1
|
||||||
python3 -m pip install requests==2.27.1 pyyaml==6.0.1
|
|
||||||
|
|
||||||
- name: Parse ref
|
- name: Parse ref
|
||||||
id: parse-ref
|
id: parse-ref
|
||||||
|
|||||||
21
.github/actions/linux-build/action.yml
vendored
21
.github/actions/linux-build/action.yml
vendored
@ -52,13 +52,6 @@ inputs:
|
|||||||
description: Hugging Face Hub token
|
description: Hugging Face Hub token
|
||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
use_split_build:
|
|
||||||
description: |
|
|
||||||
[Experimental] Build a libtorch only wheel and build pytorch such that
|
|
||||||
are built from the libtorch wheel.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
outputs:
|
outputs:
|
||||||
docker-image:
|
docker-image:
|
||||||
value: ${{ steps.calculate-docker-image.outputs.docker-image }}
|
value: ${{ steps.calculate-docker-image.outputs.docker-image }}
|
||||||
@ -151,7 +144,6 @@ runs:
|
|||||||
DEBUG: ${{ inputs.build-with-debug == 'true' && '1' || '0' }}
|
DEBUG: ${{ inputs.build-with-debug == 'true' && '1' || '0' }}
|
||||||
OUR_GITHUB_JOB_ID: ${{ steps.get-job-id.outputs.job-id }}
|
OUR_GITHUB_JOB_ID: ${{ steps.get-job-id.outputs.job-id }}
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ inputs.HUGGING_FACE_HUB_TOKEN }}
|
HUGGING_FACE_HUB_TOKEN: ${{ inputs.HUGGING_FACE_HUB_TOKEN }}
|
||||||
USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
|
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
# detached container should get cleaned up by teardown_ec2_linux
|
# detached container should get cleaned up by teardown_ec2_linux
|
||||||
@ -171,7 +163,6 @@ runs:
|
|||||||
-e PR_LABELS \
|
-e PR_LABELS \
|
||||||
-e OUR_GITHUB_JOB_ID \
|
-e OUR_GITHUB_JOB_ID \
|
||||||
-e HUGGING_FACE_HUB_TOKEN \
|
-e HUGGING_FACE_HUB_TOKEN \
|
||||||
-e USE_SPLIT_BUILD \
|
|
||||||
--env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
|
--env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
|
||||||
--security-opt seccomp=unconfined \
|
--security-opt seccomp=unconfined \
|
||||||
--cap-add=SYS_PTRACE \
|
--cap-add=SYS_PTRACE \
|
||||||
@ -192,7 +183,7 @@ runs:
|
|||||||
|
|
||||||
- name: Store PyTorch Build Artifacts on S3
|
- name: Store PyTorch Build Artifacts on S3
|
||||||
uses: seemethere/upload-artifact-s3@v5
|
uses: seemethere/upload-artifact-s3@v5
|
||||||
if: inputs.build-generates-artifacts == 'true' && steps.build.outcome != 'skipped' && inputs.use_split_build != 'true'
|
if: inputs.build-generates-artifacts == 'true' && steps.build.outcome != 'skipped'
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.build-environment }}
|
name: ${{ inputs.build-environment }}
|
||||||
retention-days: 14
|
retention-days: 14
|
||||||
@ -200,16 +191,6 @@ runs:
|
|||||||
path: artifacts.zip
|
path: artifacts.zip
|
||||||
s3-bucket: ${{ inputs.s3-bucket }}
|
s3-bucket: ${{ inputs.s3-bucket }}
|
||||||
|
|
||||||
- name: Store PyTorch Build Artifacts on S3 for split build
|
|
||||||
uses: seemethere/upload-artifact-s3@v5
|
|
||||||
if: inputs.build-generates-artifacts == 'true' && steps.build.outcome != 'skipped' && inputs.use_split_build == 'true'
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.build-environment }}-experimental-split-build
|
|
||||||
retention-days: 14
|
|
||||||
if-no-files-found: error
|
|
||||||
path: artifacts.zip
|
|
||||||
s3-bucket: ${{ inputs.s3-bucket }}
|
|
||||||
|
|
||||||
- name: Upload sccache stats
|
- name: Upload sccache stats
|
||||||
if: steps.build.outcome != 'skipped'
|
if: steps.build.outcome != 'skipped'
|
||||||
uses: seemethere/upload-artifact-s3@v5
|
uses: seemethere/upload-artifact-s3@v5
|
||||||
|
|||||||
@ -26,7 +26,6 @@ runs:
|
|||||||
-e PYTORCH_FINAL_PACKAGE_DIR \
|
-e PYTORCH_FINAL_PACKAGE_DIR \
|
||||||
-e PYTORCH_ROOT \
|
-e PYTORCH_ROOT \
|
||||||
-e SKIP_ALL_TESTS \
|
-e SKIP_ALL_TESTS \
|
||||||
-e USE_SPLIT_BUILD \
|
|
||||||
--tty \
|
--tty \
|
||||||
--detach \
|
--detach \
|
||||||
-v "${GITHUB_WORKSPACE}/pytorch:/pytorch" \
|
-v "${GITHUB_WORKSPACE}/pytorch:/pytorch" \
|
||||||
|
|||||||
2
.github/ci_commit_pins/audio.txt
vendored
2
.github/ci_commit_pins/audio.txt
vendored
@ -1 +1 @@
|
|||||||
69b2a0adc2ec03ab99990d7e8be3d4510438c148
|
1980f8af5bcd0bb2ce51965cf79d8d4c25dad8a0
|
||||||
|
|||||||
2
.github/ci_commit_pins/torchbench.txt
vendored
2
.github/ci_commit_pins/torchbench.txt
vendored
@ -1 +1 @@
|
|||||||
23512dbebd44a11eb84afbf53c3c071dd105297e
|
d6015d42d9a1834bc7595c4bd6852562fb80b30b
|
||||||
|
|||||||
154
.github/lf-canary-scale-config.yml
vendored
154
.github/lf-canary-scale-config.yml
vendored
@ -1,154 +0,0 @@
|
|||||||
# Defines runner types that will be provisioned by by LF Self-hosted
|
|
||||||
# runners for pytorch/pytorch-canary and their labels.
|
|
||||||
#
|
|
||||||
# Runners listed here will be available as self hosted runners.
|
|
||||||
# Configuration is directly pulled from the main branch.
|
|
||||||
#
|
|
||||||
# Default values:
|
|
||||||
#
|
|
||||||
# runner_types:
|
|
||||||
# runner_label: # label to specify in the Github Actions workflow
|
|
||||||
# instance_type: m4.large
|
|
||||||
# os: linux
|
|
||||||
# max_available: 20
|
|
||||||
# disk_size: 50
|
|
||||||
# is_ephemeral: true
|
|
||||||
|
|
||||||
runner_types:
|
|
||||||
lf.c.linux.12xlarge:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c5.12xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 1000
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.24xl.spr-metal:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c7i.metal-24xl
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.16xlarge.spr:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c7i.16xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.12xlarge.ephemeral:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c5.12xlarge
|
|
||||||
is_ephemeral: true
|
|
||||||
max_available: 300
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.16xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g3.16xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.24xlarge:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: c5.24xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 250
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.2xlarge:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: c5.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 3120
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.4xlarge:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: c5.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 1000
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.4xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g3.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 520
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.8xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g3.8xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 400
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.g4dn.12xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g4dn.12xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 50
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.g4dn.metal.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g4dn.metal
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.g5.48xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g5.48xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 20
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.g5.12xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g5.12xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 150
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.g5.4xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g5.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 1200
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.large:
|
|
||||||
disk_size: 15
|
|
||||||
instance_type: c5.large
|
|
||||||
is_ephemeral: false
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.arm64.2xlarge:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: t4g.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 200
|
|
||||||
os: linux
|
|
||||||
lf.c.linux.arm64.m7g.2xlarge:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: m7g.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 20
|
|
||||||
os: linux
|
|
||||||
lf.c.windows.4xlarge:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: c5d.4xlarge
|
|
||||||
is_ephemeral: true
|
|
||||||
max_available: 420
|
|
||||||
os: windows
|
|
||||||
lf.c.windows.4xlarge.nonephemeral:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: c5d.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 420
|
|
||||||
os: windows
|
|
||||||
lf.c.windows.8xlarge.nvidia.gpu:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: p3.2xlarge
|
|
||||||
is_ephemeral: true
|
|
||||||
max_available: 150
|
|
||||||
os: windows
|
|
||||||
lf.c.windows.8xlarge.nvidia.gpu.nonephemeral:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: p3.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 150
|
|
||||||
os: windows
|
|
||||||
lf.c.windows.g5.4xlarge.nvidia.gpu:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: g5.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 250
|
|
||||||
os: windows
|
|
||||||
154
.github/lf-scale-config.yml
vendored
154
.github/lf-scale-config.yml
vendored
@ -1,154 +0,0 @@
|
|||||||
# Defines runner types that will be provisioned by by LF Self-hosted
|
|
||||||
# runners for pytorch/pytorch and their labels.
|
|
||||||
#
|
|
||||||
# Runners listed here will be available as self hosted runners.
|
|
||||||
# Configuration is directly pulled from the main branch.
|
|
||||||
#
|
|
||||||
# Default values:
|
|
||||||
#
|
|
||||||
# runner_types:
|
|
||||||
# runner_label: # label to specify in the Github Actions workflow
|
|
||||||
# instance_type: m4.large
|
|
||||||
# os: linux
|
|
||||||
# max_available: 20
|
|
||||||
# disk_size: 50
|
|
||||||
# is_ephemeral: true
|
|
||||||
|
|
||||||
runner_types:
|
|
||||||
lf.linux.12xlarge:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c5.12xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 1000
|
|
||||||
os: linux
|
|
||||||
lf.linux.24xl.spr-metal:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c7i.metal-24xl
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.linux.16xlarge.spr:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c7i.16xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.linux.12xlarge.ephemeral:
|
|
||||||
disk_size: 200
|
|
||||||
instance_type: c5.12xlarge
|
|
||||||
is_ephemeral: true
|
|
||||||
max_available: 300
|
|
||||||
os: linux
|
|
||||||
lf.linux.16xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g3.16xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.linux.24xlarge:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: c5.24xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 250
|
|
||||||
os: linux
|
|
||||||
lf.linux.2xlarge:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: c5.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 3120
|
|
||||||
os: linux
|
|
||||||
lf.linux.4xlarge:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: c5.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 1000
|
|
||||||
os: linux
|
|
||||||
lf.linux.4xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g3.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 520
|
|
||||||
os: linux
|
|
||||||
lf.linux.8xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g3.8xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 400
|
|
||||||
os: linux
|
|
||||||
lf.linux.g4dn.12xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g4dn.12xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 50
|
|
||||||
os: linux
|
|
||||||
lf.linux.g4dn.metal.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g4dn.metal
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 30
|
|
||||||
os: linux
|
|
||||||
lf.linux.g5.48xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g5.48xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 20
|
|
||||||
os: linux
|
|
||||||
lf.linux.g5.12xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g5.12xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 150
|
|
||||||
os: linux
|
|
||||||
lf.linux.g5.4xlarge.nvidia.gpu:
|
|
||||||
disk_size: 150
|
|
||||||
instance_type: g5.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 1200
|
|
||||||
os: linux
|
|
||||||
lf.linux.large:
|
|
||||||
disk_size: 15
|
|
||||||
instance_type: c5.large
|
|
||||||
is_ephemeral: false
|
|
||||||
os: linux
|
|
||||||
lf.linux.arm64.2xlarge:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: t4g.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 200
|
|
||||||
os: linux
|
|
||||||
lf.linux.arm64.m7g.2xlarge:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: m7g.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 20
|
|
||||||
os: linux
|
|
||||||
lf.windows.4xlarge:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: c5d.4xlarge
|
|
||||||
is_ephemeral: true
|
|
||||||
max_available: 420
|
|
||||||
os: windows
|
|
||||||
lf.windows.4xlarge.nonephemeral:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: c5d.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 420
|
|
||||||
os: windows
|
|
||||||
lf.windows.8xlarge.nvidia.gpu:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: p3.2xlarge
|
|
||||||
is_ephemeral: true
|
|
||||||
max_available: 150
|
|
||||||
os: windows
|
|
||||||
lf.windows.8xlarge.nvidia.gpu.nonephemeral:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: p3.2xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 150
|
|
||||||
os: windows
|
|
||||||
lf.windows.g5.4xlarge.nvidia.gpu:
|
|
||||||
disk_size: 256
|
|
||||||
instance_type: g5.4xlarge
|
|
||||||
is_ephemeral: false
|
|
||||||
max_available: 250
|
|
||||||
os: windows
|
|
||||||
34
.github/merge_rules.yaml
vendored
34
.github/merge_rules.yaml
vendored
@ -27,9 +27,11 @@
|
|||||||
- third_party/onnx
|
- third_party/onnx
|
||||||
- caffe2/python/onnx/**
|
- caffe2/python/onnx/**
|
||||||
approved_by:
|
approved_by:
|
||||||
|
- BowenBao
|
||||||
- justinchuby
|
- justinchuby
|
||||||
- liqunfu
|
- liqunfu
|
||||||
- shubhambhokare1
|
- shubhambhokare1
|
||||||
|
- thiagocrepaldi
|
||||||
- titaiwangms
|
- titaiwangms
|
||||||
- wschin
|
- wschin
|
||||||
- xadupre
|
- xadupre
|
||||||
@ -242,9 +244,7 @@
|
|||||||
- torch/csrc/xpu/**
|
- torch/csrc/xpu/**
|
||||||
- torch/xpu/**
|
- torch/xpu/**
|
||||||
- test/xpu/**
|
- test/xpu/**
|
||||||
- test/test_xpu.py
|
|
||||||
- third_party/xpu.txt
|
- third_party/xpu.txt
|
||||||
- .ci/docker/ci_commit_pins/triton-xpu.txt
|
|
||||||
approved_by:
|
approved_by:
|
||||||
- EikanWang
|
- EikanWang
|
||||||
- jgong5
|
- jgong5
|
||||||
@ -286,7 +286,6 @@
|
|||||||
- test/cpp/dist_autograd/**
|
- test/cpp/dist_autograd/**
|
||||||
- test/cpp/rpc/**
|
- test/cpp/rpc/**
|
||||||
approved_by:
|
approved_by:
|
||||||
- wconstab
|
|
||||||
- mrshenli
|
- mrshenli
|
||||||
- pritamdamania87
|
- pritamdamania87
|
||||||
- zhaojuanmao
|
- zhaojuanmao
|
||||||
@ -313,25 +312,6 @@
|
|||||||
- Lint
|
- Lint
|
||||||
- pull
|
- pull
|
||||||
|
|
||||||
- name: DCP
|
|
||||||
patterns:
|
|
||||||
- torch/distributed/checkpoint/**
|
|
||||||
approved_by:
|
|
||||||
- LucasLLC
|
|
||||||
- fegin
|
|
||||||
- wz337
|
|
||||||
- saumishr
|
|
||||||
- daulet-askarov
|
|
||||||
- pradeepdfb
|
|
||||||
- kirtiteja
|
|
||||||
- mhorowitz
|
|
||||||
- saiteja64
|
|
||||||
mandatory_checks_name:
|
|
||||||
- EasyCLA
|
|
||||||
- Lint
|
|
||||||
- pull
|
|
||||||
|
|
||||||
|
|
||||||
- name: IDEEP
|
- name: IDEEP
|
||||||
patterns:
|
patterns:
|
||||||
- third_party/ideep
|
- third_party/ideep
|
||||||
@ -395,21 +375,13 @@
|
|||||||
|
|
||||||
- name: CPU inductor
|
- name: CPU inductor
|
||||||
patterns:
|
patterns:
|
||||||
- torch/_inductor/mkldnn_ir.py
|
|
||||||
- torch/_inductor/mkldnn_lowerings.py
|
- torch/_inductor/mkldnn_lowerings.py
|
||||||
- torch/_inductor/fx_passes/mkldnn_fusion.py
|
- torch/_inductor/fx_passes/mkldnn_fusion.py
|
||||||
- torch/_inductor/fx_passes/quantization.py
|
- torch/_inductor/fx_passes/quantization.py
|
||||||
- torch/_inductor/codegen/cpp_prefix.h
|
|
||||||
- torch/_inductor/codegen/cpp.py
|
- torch/_inductor/codegen/cpp.py
|
||||||
- torch/_inductor/codegen/cpp_utils.py
|
|
||||||
- torch/_inductor/codegen/cpp_micro_gemm.py
|
|
||||||
- torch/_inductor/codegen/cpp_template_kernel.py
|
|
||||||
- torch/_inductor/codegen/cpp_template.py
|
|
||||||
- torch/_inductor/codegen/cpp_gemm_template.py
|
|
||||||
- test/inductor/test_mkldnn_pattern_matcher.py
|
- test/inductor/test_mkldnn_pattern_matcher.py
|
||||||
- test/inductor/test_cpu_repro.py
|
- test/inductor/test_cpu_repo.py
|
||||||
- test/inductor/test_cpu_cpp_wrapper.py
|
- test/inductor/test_cpu_cpp_wrapper.py
|
||||||
- test/inductor/test_cpu_select_algorithm.py
|
|
||||||
- aten/src/ATen/cpu/**
|
- aten/src/ATen/cpu/**
|
||||||
- aten/src/ATen/native/quantized/cpu/**
|
- aten/src/ATen/native/quantized/cpu/**
|
||||||
- test/quantization/core/test_quantized_op.py
|
- test/quantization/core/test_quantized_op.py
|
||||||
|
|||||||
3
.github/pytorch-probot.yml
vendored
3
.github/pytorch-probot.yml
vendored
@ -8,7 +8,6 @@ ciflow_push_tags:
|
|||||||
- ciflow/inductor
|
- ciflow/inductor
|
||||||
- ciflow/inductor-perf-compare
|
- ciflow/inductor-perf-compare
|
||||||
- ciflow/inductor-micro-benchmark
|
- ciflow/inductor-micro-benchmark
|
||||||
- ciflow/inductor-cu124
|
|
||||||
- ciflow/linux-aarch64
|
- ciflow/linux-aarch64
|
||||||
- ciflow/mps
|
- ciflow/mps
|
||||||
- ciflow/nightly
|
- ciflow/nightly
|
||||||
@ -20,10 +19,10 @@ ciflow_push_tags:
|
|||||||
- ciflow/xpu
|
- ciflow/xpu
|
||||||
- ciflow/torchbench
|
- ciflow/torchbench
|
||||||
retryable_workflows:
|
retryable_workflows:
|
||||||
|
- lint
|
||||||
- pull
|
- pull
|
||||||
- trunk
|
- trunk
|
||||||
- linux-binary
|
- linux-binary
|
||||||
- windows-binary
|
- windows-binary
|
||||||
labeler_config: labeler.yml
|
labeler_config: labeler.yml
|
||||||
label_to_label_config: label_to_label.yml
|
label_to_label_config: label_to_label.yml
|
||||||
mergebot: True
|
|
||||||
|
|||||||
2
.github/requirements-gha-cache.txt
vendored
2
.github/requirements-gha-cache.txt
vendored
@ -10,6 +10,6 @@ lintrunner==0.10.7
|
|||||||
ninja==1.10.0.post1
|
ninja==1.10.0.post1
|
||||||
nvidia-ml-py==11.525.84
|
nvidia-ml-py==11.525.84
|
||||||
pyyaml==6.0
|
pyyaml==6.0
|
||||||
requests==2.32.2
|
requests==2.31.0
|
||||||
rich==10.9.0
|
rich==10.9.0
|
||||||
rockset==1.0.3
|
rockset==1.0.3
|
||||||
|
|||||||
3
.github/requirements/conda-env-Linux-X64.txt
vendored
3
.github/requirements/conda-env-Linux-X64.txt
vendored
@ -4,5 +4,6 @@ mkl-include=2022.1.0
|
|||||||
ninja=1.10.2
|
ninja=1.10.2
|
||||||
numpy=1.23.3
|
numpy=1.23.3
|
||||||
pyyaml=6.0
|
pyyaml=6.0
|
||||||
|
requests=2.31.0
|
||||||
setuptools=68.2.2
|
setuptools=68.2.2
|
||||||
typing-extensions=4.9.0
|
typing-extensions=4.3.0
|
||||||
|
|||||||
3
.github/requirements/conda-env-iOS.txt
vendored
3
.github/requirements/conda-env-iOS.txt
vendored
@ -3,5 +3,6 @@ cmake=3.22.1
|
|||||||
ninja=1.10.2
|
ninja=1.10.2
|
||||||
numpy=1.23.3
|
numpy=1.23.3
|
||||||
pyyaml=6.0
|
pyyaml=6.0
|
||||||
|
requests=2.31.0
|
||||||
setuptools=68.2.2
|
setuptools=68.2.2
|
||||||
typing-extensions=4.9.0
|
typing-extensions=4.3.0
|
||||||
|
|||||||
2
.github/requirements/conda-env-macOS-ARM64
vendored
2
.github/requirements/conda-env-macOS-ARM64
vendored
@ -2,7 +2,7 @@ numpy=1.22.3
|
|||||||
pyyaml=6.0
|
pyyaml=6.0
|
||||||
setuptools=61.2.0
|
setuptools=61.2.0
|
||||||
cmake=3.22.*
|
cmake=3.22.*
|
||||||
typing-extensions=4.9.0
|
typing-extensions=4.3.0
|
||||||
dataclasses=0.8
|
dataclasses=0.8
|
||||||
pip=22.2.2
|
pip=22.2.2
|
||||||
pillow=10.0.1
|
pillow=10.0.1
|
||||||
|
|||||||
2
.github/requirements/conda-env-macOS-X64
vendored
2
.github/requirements/conda-env-macOS-X64
vendored
@ -4,7 +4,7 @@ numpy=1.21.2
|
|||||||
pyyaml=5.3
|
pyyaml=5.3
|
||||||
setuptools=46.0.0
|
setuptools=46.0.0
|
||||||
cmake=3.22.*
|
cmake=3.22.*
|
||||||
typing-extensions=4.9.0
|
typing-extensions=4.3.0
|
||||||
dataclasses=0.8
|
dataclasses=0.8
|
||||||
pip=22.2.2
|
pip=22.2.2
|
||||||
pillow=10.0.1
|
pillow=10.0.1
|
||||||
|
|||||||
2
.github/scripts/amd/package_triton_wheel.sh
vendored
2
.github/scripts/amd/package_triton_wheel.sh
vendored
@ -93,8 +93,6 @@ done
|
|||||||
|
|
||||||
# Copy Include Files
|
# Copy Include Files
|
||||||
cp -r $ROCM_HOME/include/hip $TRITON_ROCM_DIR/include
|
cp -r $ROCM_HOME/include/hip $TRITON_ROCM_DIR/include
|
||||||
cp -r $ROCM_HOME/include/roctracer $TRITON_ROCM_DIR/include
|
|
||||||
cp -r $ROCM_HOME/include/hsa $TRITON_ROCM_DIR/include
|
|
||||||
|
|
||||||
# Copy linker
|
# Copy linker
|
||||||
mkdir -p $TRITON_ROCM_DIR/llvm/bin
|
mkdir -p $TRITON_ROCM_DIR/llvm/bin
|
||||||
|
|||||||
29
.github/scripts/build_triton_wheel.py
vendored
29
.github/scripts/build_triton_wheel.py
vendored
@ -11,12 +11,8 @@ SCRIPT_DIR = Path(__file__).parent
|
|||||||
REPO_DIR = SCRIPT_DIR.parent.parent
|
REPO_DIR = SCRIPT_DIR.parent.parent
|
||||||
|
|
||||||
|
|
||||||
def read_triton_pin(device: str = "cuda") -> str:
|
def read_triton_pin(rocm_hash: bool = False) -> str:
|
||||||
triton_file = "triton.txt"
|
triton_file = "triton.txt" if not rocm_hash else "triton-rocm.txt"
|
||||||
if device == "rocm":
|
|
||||||
triton_file = "triton-rocm.txt"
|
|
||||||
elif device == "xpu":
|
|
||||||
triton_file = "triton-xpu.txt"
|
|
||||||
with open(REPO_DIR / ".ci" / "docker" / "ci_commit_pins" / triton_file) as f:
|
with open(REPO_DIR / ".ci" / "docker" / "ci_commit_pins" / triton_file) as f:
|
||||||
return f.read().strip()
|
return f.read().strip()
|
||||||
|
|
||||||
@ -53,7 +49,7 @@ def build_triton(
|
|||||||
version: str,
|
version: str,
|
||||||
commit_hash: str,
|
commit_hash: str,
|
||||||
build_conda: bool = False,
|
build_conda: bool = False,
|
||||||
device: str = "cuda",
|
build_rocm: bool = False,
|
||||||
py_version: Optional[str] = None,
|
py_version: Optional[str] = None,
|
||||||
release: bool = False,
|
release: bool = False,
|
||||||
) -> Path:
|
) -> Path:
|
||||||
@ -73,14 +69,11 @@ def build_triton(
|
|||||||
triton_basedir = Path(tmpdir) / "triton"
|
triton_basedir = Path(tmpdir) / "triton"
|
||||||
triton_pythondir = triton_basedir / "python"
|
triton_pythondir = triton_basedir / "python"
|
||||||
triton_repo = "https://github.com/openai/triton"
|
triton_repo = "https://github.com/openai/triton"
|
||||||
if device == "rocm":
|
if build_rocm:
|
||||||
triton_pkg_name = "pytorch-triton-rocm"
|
triton_pkg_name = "pytorch-triton-rocm"
|
||||||
elif device == "xpu":
|
|
||||||
triton_pkg_name = "pytorch-triton-xpu"
|
|
||||||
triton_repo = "https://github.com/intel/intel-xpu-backend-for-triton"
|
|
||||||
else:
|
else:
|
||||||
triton_pkg_name = "pytorch-triton"
|
triton_pkg_name = "pytorch-triton"
|
||||||
check_call(["git", "clone", triton_repo, "triton"], cwd=tmpdir)
|
check_call(["git", "clone", triton_repo], cwd=tmpdir)
|
||||||
if release:
|
if release:
|
||||||
ver, rev, patch = version.split(".")
|
ver, rev, patch = version.split(".")
|
||||||
check_call(
|
check_call(
|
||||||
@ -147,7 +140,7 @@ def build_triton(
|
|||||||
expected_version=None,
|
expected_version=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
if device == "rocm":
|
if build_rocm:
|
||||||
check_call(
|
check_call(
|
||||||
[f"{SCRIPT_DIR}/amd/package_triton_wheel.sh"],
|
[f"{SCRIPT_DIR}/amd/package_triton_wheel.sh"],
|
||||||
cwd=triton_basedir,
|
cwd=triton_basedir,
|
||||||
@ -162,7 +155,7 @@ def build_triton(
|
|||||||
whl_path = next(iter((triton_pythondir / "dist").glob("*.whl")))
|
whl_path = next(iter((triton_pythondir / "dist").glob("*.whl")))
|
||||||
shutil.copy(whl_path, Path.cwd())
|
shutil.copy(whl_path, Path.cwd())
|
||||||
|
|
||||||
if device == "rocm":
|
if build_rocm:
|
||||||
check_call(
|
check_call(
|
||||||
[f"{SCRIPT_DIR}/amd/patch_triton_wheel.sh", Path.cwd()],
|
[f"{SCRIPT_DIR}/amd/patch_triton_wheel.sh", Path.cwd()],
|
||||||
cwd=triton_basedir,
|
cwd=triton_basedir,
|
||||||
@ -177,19 +170,17 @@ def main() -> None:
|
|||||||
parser = ArgumentParser("Build Triton binaries")
|
parser = ArgumentParser("Build Triton binaries")
|
||||||
parser.add_argument("--release", action="store_true")
|
parser.add_argument("--release", action="store_true")
|
||||||
parser.add_argument("--build-conda", action="store_true")
|
parser.add_argument("--build-conda", action="store_true")
|
||||||
parser.add_argument(
|
parser.add_argument("--build-rocm", action="store_true")
|
||||||
"--device", type=str, default="cuda", choices=["cuda", "rocm", "xpu"]
|
|
||||||
)
|
|
||||||
parser.add_argument("--py-version", type=str)
|
parser.add_argument("--py-version", type=str)
|
||||||
parser.add_argument("--commit-hash", type=str)
|
parser.add_argument("--commit-hash", type=str)
|
||||||
parser.add_argument("--triton-version", type=str, default=read_triton_version())
|
parser.add_argument("--triton-version", type=str, default=read_triton_version())
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
build_triton(
|
build_triton(
|
||||||
device=args.device,
|
build_rocm=args.build_rocm,
|
||||||
commit_hash=args.commit_hash
|
commit_hash=args.commit_hash
|
||||||
if args.commit_hash
|
if args.commit_hash
|
||||||
else read_triton_pin(args.device),
|
else read_triton_pin(args.build_rocm),
|
||||||
version=args.triton_version,
|
version=args.triton_version,
|
||||||
build_conda=args.build_conda,
|
build_conda=args.build_conda,
|
||||||
py_version=args.py_version,
|
py_version=args.py_version,
|
||||||
|
|||||||
114
.github/scripts/cherry_pick.py
vendored
114
.github/scripts/cherry_pick.py
vendored
@ -3,11 +3,11 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from typing import Any, cast, Dict, List, Optional
|
from typing import Any, Optional
|
||||||
|
|
||||||
from urllib.error import HTTPError
|
from urllib.error import HTTPError
|
||||||
|
|
||||||
from github_utils import gh_fetch_url, gh_post_pr_comment, gh_query_issues_by_labels
|
from github_utils import gh_fetch_url, gh_post_pr_comment
|
||||||
|
|
||||||
from gitutils import get_git_remote_name, get_git_repo_dir, GitRepo
|
from gitutils import get_git_remote_name, get_git_repo_dir, GitRepo
|
||||||
from trymerge import get_pr_commit_sha, GitHubPR
|
from trymerge import get_pr_commit_sha, GitHubPR
|
||||||
@ -19,7 +19,6 @@ REQUIRES_ISSUE = {
|
|||||||
"critical",
|
"critical",
|
||||||
"fixnewfeature",
|
"fixnewfeature",
|
||||||
}
|
}
|
||||||
RELEASE_BRANCH_REGEX = re.compile(r"release/(?P<version>.+)")
|
|
||||||
|
|
||||||
|
|
||||||
def parse_args() -> Any:
|
def parse_args() -> Any:
|
||||||
@ -59,33 +58,6 @@ def get_merge_commit_sha(repo: GitRepo, pr: GitHubPR) -> Optional[str]:
|
|||||||
return commit_sha if pr.is_closed() else None
|
return commit_sha if pr.is_closed() else None
|
||||||
|
|
||||||
|
|
||||||
def get_release_version(onto_branch: str) -> Optional[str]:
|
|
||||||
"""
|
|
||||||
Return the release version if the target branch is a release branch
|
|
||||||
"""
|
|
||||||
m = re.match(RELEASE_BRANCH_REGEX, onto_branch)
|
|
||||||
return m.group("version") if m else ""
|
|
||||||
|
|
||||||
|
|
||||||
def get_tracker_issues(
|
|
||||||
org: str, project: str, onto_branch: str
|
|
||||||
) -> List[Dict[str, Any]]:
|
|
||||||
"""
|
|
||||||
Find the tracker issue from the repo. The tracker issue needs to have the title
|
|
||||||
like [VERSION] Release Tracker following the convention on PyTorch
|
|
||||||
"""
|
|
||||||
version = get_release_version(onto_branch)
|
|
||||||
if not version:
|
|
||||||
return []
|
|
||||||
|
|
||||||
tracker_issues = gh_query_issues_by_labels(org, project, labels=["release tracker"])
|
|
||||||
if not tracker_issues:
|
|
||||||
return []
|
|
||||||
|
|
||||||
# Figure out the tracker issue from the list by looking at the title
|
|
||||||
return [issue for issue in tracker_issues if version in issue.get("title", "")]
|
|
||||||
|
|
||||||
|
|
||||||
def cherry_pick(
|
def cherry_pick(
|
||||||
github_actor: str,
|
github_actor: str,
|
||||||
repo: GitRepo,
|
repo: GitRepo,
|
||||||
@ -105,49 +77,17 @@ def cherry_pick(
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
org, project = repo.gh_owner_and_name()
|
|
||||||
|
|
||||||
cherry_pick_pr = ""
|
|
||||||
if not dry_run:
|
if not dry_run:
|
||||||
|
org, project = repo.gh_owner_and_name()
|
||||||
cherry_pick_pr = submit_pr(repo, pr, cherry_pick_branch, onto_branch)
|
cherry_pick_pr = submit_pr(repo, pr, cherry_pick_branch, onto_branch)
|
||||||
|
|
||||||
tracker_issues_comments = []
|
msg = f"The cherry pick PR is at {cherry_pick_pr}"
|
||||||
tracker_issues = get_tracker_issues(org, project, onto_branch)
|
if fixes:
|
||||||
for issue in tracker_issues:
|
msg += f" and it is linked with issue {fixes}"
|
||||||
issue_number = int(str(issue.get("number", "0")))
|
elif classification in REQUIRES_ISSUE:
|
||||||
if not issue_number:
|
msg += f" and it is recommended to link a {classification} cherry pick PR with an issue"
|
||||||
continue
|
|
||||||
|
|
||||||
res = cast(
|
post_comment(org, project, pr.pr_num, msg)
|
||||||
Dict[str, Any],
|
|
||||||
post_tracker_issue_comment(
|
|
||||||
org,
|
|
||||||
project,
|
|
||||||
issue_number,
|
|
||||||
pr.pr_num,
|
|
||||||
cherry_pick_pr,
|
|
||||||
classification,
|
|
||||||
fixes,
|
|
||||||
dry_run,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
comment_url = res.get("html_url", "")
|
|
||||||
if comment_url:
|
|
||||||
tracker_issues_comments.append(comment_url)
|
|
||||||
|
|
||||||
msg = f"The cherry pick PR is at {cherry_pick_pr}"
|
|
||||||
if fixes:
|
|
||||||
msg += f" and it is linked with issue {fixes}."
|
|
||||||
elif classification in REQUIRES_ISSUE:
|
|
||||||
msg += f" and it is recommended to link a {classification} cherry pick PR with an issue."
|
|
||||||
|
|
||||||
if tracker_issues_comments:
|
|
||||||
msg += " The following tracker issues are updated:\n"
|
|
||||||
for tracker_issues_comment in tracker_issues_comments:
|
|
||||||
msg += f"* {tracker_issues_comment}\n"
|
|
||||||
|
|
||||||
post_pr_comment(org, project, pr.pr_num, msg, dry_run)
|
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
if current_branch:
|
if current_branch:
|
||||||
@ -219,9 +159,7 @@ def submit_pr(
|
|||||||
raise RuntimeError(msg) from error
|
raise RuntimeError(msg) from error
|
||||||
|
|
||||||
|
|
||||||
def post_pr_comment(
|
def post_comment(org: str, project: str, pr_num: int, msg: str) -> None:
|
||||||
org: str, project: str, pr_num: int, msg: str, dry_run: bool = False
|
|
||||||
) -> List[Dict[str, Any]]:
|
|
||||||
"""
|
"""
|
||||||
Post a comment on the PR itself to point to the cherry picking PR when success
|
Post a comment on the PR itself to point to the cherry picking PR when success
|
||||||
or print the error when failure
|
or print the error when failure
|
||||||
@ -244,35 +182,7 @@ def post_pr_comment(
|
|||||||
comment = "\n".join(
|
comment = "\n".join(
|
||||||
(f"### Cherry picking #{pr_num}", f"{msg}", "", f"{internal_debugging}")
|
(f"### Cherry picking #{pr_num}", f"{msg}", "", f"{internal_debugging}")
|
||||||
)
|
)
|
||||||
return gh_post_pr_comment(org, project, pr_num, comment, dry_run)
|
gh_post_pr_comment(org, project, pr_num, comment)
|
||||||
|
|
||||||
|
|
||||||
def post_tracker_issue_comment(
|
|
||||||
org: str,
|
|
||||||
project: str,
|
|
||||||
issue_num: int,
|
|
||||||
pr_num: int,
|
|
||||||
cherry_pick_pr: str,
|
|
||||||
classification: str,
|
|
||||||
fixes: str,
|
|
||||||
dry_run: bool = False,
|
|
||||||
) -> List[Dict[str, Any]]:
|
|
||||||
"""
|
|
||||||
Post a comment on the tracker issue (if any) to record the cherry pick
|
|
||||||
"""
|
|
||||||
comment = "\n".join(
|
|
||||||
(
|
|
||||||
"Link to landed trunk PR (if applicable):",
|
|
||||||
f"* https://github.com/{org}/{project}/pull/{pr_num}",
|
|
||||||
"",
|
|
||||||
"Link to release branch PR:",
|
|
||||||
f"* {cherry_pick_pr}",
|
|
||||||
"",
|
|
||||||
"Criteria Category:",
|
|
||||||
" - ".join((classification.capitalize(), fixes.capitalize())),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
return gh_post_pr_comment(org, project, issue_num, comment, dry_run)
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
@ -304,7 +214,7 @@ def main() -> None:
|
|||||||
|
|
||||||
except RuntimeError as error:
|
except RuntimeError as error:
|
||||||
if not args.dry_run:
|
if not args.dry_run:
|
||||||
post_pr_comment(org, project, pr_num, str(error))
|
post_comment(org, project, pr_num, str(error))
|
||||||
else:
|
else:
|
||||||
raise error
|
raise error
|
||||||
|
|
||||||
|
|||||||
58
.github/scripts/delete_old_branches.py
vendored
58
.github/scripts/delete_old_branches.py
vendored
@ -2,7 +2,6 @@
|
|||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from functools import lru_cache
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Callable, Dict, List, Set
|
from typing import Any, Callable, Dict, List, Set
|
||||||
|
|
||||||
@ -188,17 +187,6 @@ def get_recent_prs() -> Dict[str, Any]:
|
|||||||
return prs_by_branch_base
|
return prs_by_branch_base
|
||||||
|
|
||||||
|
|
||||||
@lru_cache(maxsize=1)
|
|
||||||
def get_open_prs() -> List[Dict[str, Any]]:
|
|
||||||
return paginate_graphql(
|
|
||||||
GRAPHQL_OPEN_PRS,
|
|
||||||
{"owner": "pytorch", "repo": "pytorch"},
|
|
||||||
lambda data: False,
|
|
||||||
lambda res: res["data"]["repository"]["pullRequests"]["nodes"],
|
|
||||||
lambda res: res["data"]["repository"]["pullRequests"]["pageInfo"],
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def get_branches_with_magic_label_or_open_pr() -> Set[str]:
|
def get_branches_with_magic_label_or_open_pr() -> Set[str]:
|
||||||
pr_infos: List[Dict[str, Any]] = paginate_graphql(
|
pr_infos: List[Dict[str, Any]] = paginate_graphql(
|
||||||
GRAPHQL_NO_DELETE_BRANCH_LABEL,
|
GRAPHQL_NO_DELETE_BRANCH_LABEL,
|
||||||
@ -208,7 +196,15 @@ def get_branches_with_magic_label_or_open_pr() -> Set[str]:
|
|||||||
lambda res: res["data"]["repository"]["label"]["pullRequests"]["pageInfo"],
|
lambda res: res["data"]["repository"]["label"]["pullRequests"]["pageInfo"],
|
||||||
)
|
)
|
||||||
|
|
||||||
pr_infos.extend(get_open_prs())
|
pr_infos.extend(
|
||||||
|
paginate_graphql(
|
||||||
|
GRAPHQL_OPEN_PRS,
|
||||||
|
{"owner": "pytorch", "repo": "pytorch"},
|
||||||
|
lambda data: False,
|
||||||
|
lambda res: res["data"]["repository"]["pullRequests"]["nodes"],
|
||||||
|
lambda res: res["data"]["repository"]["pullRequests"]["pageInfo"],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
# Get the most recent PR for each branch base (group gh together)
|
# Get the most recent PR for each branch base (group gh together)
|
||||||
branch_bases = set()
|
branch_bases = set()
|
||||||
@ -274,41 +270,5 @@ def delete_branches() -> None:
|
|||||||
delete_branch(git_repo, branch)
|
delete_branch(git_repo, branch)
|
||||||
|
|
||||||
|
|
||||||
def delete_old_ciflow_tags() -> None:
|
|
||||||
# Deletes ciflow tags if they are associated with a closed PR or a specific
|
|
||||||
# commit. Lightweight tags don't have information about the date they were
|
|
||||||
# created, so we can't check how old they are. The script just assumes that
|
|
||||||
# ciflow tags should be deleted regardless of creation date.
|
|
||||||
git_repo = GitRepo(str(REPO_ROOT), "origin", debug=True)
|
|
||||||
|
|
||||||
def delete_tag(tag: str) -> None:
|
|
||||||
print(f"Deleting tag {tag}")
|
|
||||||
ESTIMATED_TOKENS[0] += 1
|
|
||||||
delete_branch(git_repo, f"refs/tags/{tag}")
|
|
||||||
|
|
||||||
tags = git_repo._run_git("tag").splitlines()
|
|
||||||
open_pr_numbers = [x["number"] for x in get_open_prs()]
|
|
||||||
|
|
||||||
for tag in tags:
|
|
||||||
try:
|
|
||||||
if ESTIMATED_TOKENS[0] > 400:
|
|
||||||
print("Estimated tokens exceeded, exiting")
|
|
||||||
break
|
|
||||||
if not tag.startswith("ciflow/"):
|
|
||||||
continue
|
|
||||||
re_match_pr = re.match(r"^ciflow\/.*\/(\d{5,6})$", tag)
|
|
||||||
re_match_sha = re.match(r"^ciflow\/.*\/([0-9a-f]{40})$", tag)
|
|
||||||
if re_match_pr:
|
|
||||||
pr_number = int(re_match_pr.group(1))
|
|
||||||
if pr_number in open_pr_numbers:
|
|
||||||
continue
|
|
||||||
delete_tag(tag)
|
|
||||||
elif re_match_sha:
|
|
||||||
delete_tag(tag)
|
|
||||||
except Exception as e:
|
|
||||||
print(f"Failed to check tag {tag}: {e}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
delete_branches()
|
delete_branches()
|
||||||
delete_old_ciflow_tags()
|
|
||||||
|
|||||||
52
.github/scripts/docathon-label-sync.py
vendored
52
.github/scripts/docathon-label-sync.py
vendored
@ -1,52 +0,0 @@
|
|||||||
import os
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
from github import Github
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
|
||||||
token = os.environ.get("GITHUB_TOKEN")
|
|
||||||
|
|
||||||
repo_owner = "pytorch"
|
|
||||||
repo_name = "pytorch"
|
|
||||||
pull_request_number = int(sys.argv[1])
|
|
||||||
|
|
||||||
g = Github(token)
|
|
||||||
repo = g.get_repo(f"{repo_owner}/{repo_name}")
|
|
||||||
pull_request = repo.get_pull(pull_request_number)
|
|
||||||
pull_request_body = pull_request.body
|
|
||||||
# PR without description
|
|
||||||
if pull_request_body is None:
|
|
||||||
return
|
|
||||||
|
|
||||||
# get issue number from the PR body
|
|
||||||
if not re.search(r"#\d{1,6}", pull_request_body):
|
|
||||||
print("The pull request does not mention an issue.")
|
|
||||||
return
|
|
||||||
issue_number = int(re.findall(r"#(\d{1,6})", pull_request_body)[0])
|
|
||||||
issue = repo.get_issue(issue_number)
|
|
||||||
issue_labels = issue.labels
|
|
||||||
docathon_label_present = any(
|
|
||||||
label.name == "docathon-h1-2024" for label in issue_labels
|
|
||||||
)
|
|
||||||
|
|
||||||
# if the issue has a docathon label, add all labels from the issue to the PR.
|
|
||||||
if not docathon_label_present:
|
|
||||||
print("The 'docathon-h1-2024' label is not present in the issue.")
|
|
||||||
return
|
|
||||||
pull_request_labels = pull_request.get_labels()
|
|
||||||
pull_request_label_names = [label.name for label in pull_request_labels]
|
|
||||||
issue_label_names = [label.name for label in issue_labels]
|
|
||||||
labels_to_add = [
|
|
||||||
label for label in issue_label_names if label not in pull_request_label_names
|
|
||||||
]
|
|
||||||
if not labels_to_add:
|
|
||||||
print("The pull request already has the same labels.")
|
|
||||||
return
|
|
||||||
pull_request.add_to_labels(*labels_to_add)
|
|
||||||
print("Labels added to the pull request!")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
BIN
.github/scripts/drci_mocks.json.gz
vendored
BIN
.github/scripts/drci_mocks.json.gz
vendored
Binary file not shown.
113
.github/scripts/generate_binary_build_matrix.py
vendored
113
.github/scripts/generate_binary_build_matrix.py
vendored
@ -19,7 +19,7 @@ CUDA_ARCHES = ["11.8", "12.1", "12.4"]
|
|||||||
CUDA_ARCHES_FULL_VERSION = {"11.8": "11.8.0", "12.1": "12.1.1", "12.4": "12.4.0"}
|
CUDA_ARCHES_FULL_VERSION = {"11.8": "11.8.0", "12.1": "12.1.1", "12.4": "12.4.0"}
|
||||||
|
|
||||||
|
|
||||||
CUDA_ARCHES_CUDNN_VERSION = {"11.8": "9", "12.1": "9", "12.4": "9"}
|
CUDA_ARCHES_CUDNN_VERSION = {"11.8": "8", "12.1": "8", "12.4": "8"}
|
||||||
|
|
||||||
|
|
||||||
ROCM_ARCHES = ["6.0", "6.1"]
|
ROCM_ARCHES = ["6.0", "6.1"]
|
||||||
@ -34,47 +34,44 @@ CPU_AARCH64_ARCH = ["cpu-aarch64"]
|
|||||||
CPU_S390X_ARCH = ["cpu-s390x"]
|
CPU_S390X_ARCH = ["cpu-s390x"]
|
||||||
|
|
||||||
|
|
||||||
CUDA_AARCH64_ARCH = ["cuda-aarch64"]
|
|
||||||
|
|
||||||
|
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
|
||||||
"11.8": (
|
"11.8": (
|
||||||
"nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | " # noqa: B950
|
"nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | " # noqa: B950
|
||||||
"nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cudnn-cu11==8.7.0.84; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-nccl-cu11==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'"
|
"nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'"
|
||||||
),
|
),
|
||||||
"12.1": (
|
"12.1": (
|
||||||
"nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | " # noqa: B950
|
"nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | " # noqa: B950
|
||||||
"nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'"
|
"nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'"
|
||||||
),
|
),
|
||||||
"12.4": (
|
"12.4": (
|
||||||
"nvidia-cuda-nvrtc-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cuda-nvrtc-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cuda-runtime-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cuda-runtime-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cuda-cupti-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cuda-cupti-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cudnn-cu12==8.9.7.29; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cublas-cu12==12.4.2.65; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cublas-cu12==12.4.2.65; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cufft-cu12==11.2.0.44; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cufft-cu12==11.2.0.44; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-curand-cu12==10.3.5.119; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-curand-cu12==10.3.5.119; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cusolver-cu12==11.6.0.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cusolver-cu12==11.6.0.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-cusparse-cu12==12.3.0.142; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-cusparse-cu12==12.3.0.142; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-nvtx-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
"nvidia-nvtx-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | "
|
||||||
"nvidia-nvjitlink-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64'"
|
"nvidia-nvjitlink-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64'"
|
||||||
),
|
),
|
||||||
@ -138,8 +135,6 @@ def arch_type(arch_version: str) -> str:
|
|||||||
return "cpu-aarch64"
|
return "cpu-aarch64"
|
||||||
elif arch_version in CPU_S390X_ARCH:
|
elif arch_version in CPU_S390X_ARCH:
|
||||||
return "cpu-s390x"
|
return "cpu-s390x"
|
||||||
elif arch_version in CUDA_AARCH64_ARCH:
|
|
||||||
return "cuda-aarch64"
|
|
||||||
else: # arch_version should always be "cpu" in this case
|
else: # arch_version should always be "cpu" in this case
|
||||||
return "cpu"
|
return "cpu"
|
||||||
|
|
||||||
@ -160,7 +155,6 @@ WHEEL_CONTAINER_IMAGES = {
|
|||||||
"cpu-cxx11-abi": f"pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-{DEFAULT_TAG}",
|
"cpu-cxx11-abi": f"pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-{DEFAULT_TAG}",
|
||||||
"cpu-aarch64": f"pytorch/manylinuxaarch64-builder:cpu-aarch64-{DEFAULT_TAG}",
|
"cpu-aarch64": f"pytorch/manylinuxaarch64-builder:cpu-aarch64-{DEFAULT_TAG}",
|
||||||
"cpu-s390x": f"pytorch/manylinuxs390x-builder:cpu-s390x-{DEFAULT_TAG}",
|
"cpu-s390x": f"pytorch/manylinuxs390x-builder:cpu-s390x-{DEFAULT_TAG}",
|
||||||
"cuda-aarch64": f"pytorch/manylinuxaarch64-builder:cuda12.4-{DEFAULT_TAG}",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CONDA_CONTAINER_IMAGES = {
|
CONDA_CONTAINER_IMAGES = {
|
||||||
@ -219,7 +213,6 @@ def translate_desired_cuda(gpu_arch_type: str, gpu_arch_version: str) -> str:
|
|||||||
"cpu-cxx11-abi": "cpu-cxx11-abi",
|
"cpu-cxx11-abi": "cpu-cxx11-abi",
|
||||||
"cpu-s390x": "cpu",
|
"cpu-s390x": "cpu",
|
||||||
"cuda": f"cu{gpu_arch_version.replace('.', '')}",
|
"cuda": f"cu{gpu_arch_version.replace('.', '')}",
|
||||||
"cuda-aarch64": "cu124",
|
|
||||||
"rocm": f"rocm{gpu_arch_version}",
|
"rocm": f"rocm{gpu_arch_version}",
|
||||||
}.get(gpu_arch_type, gpu_arch_version)
|
}.get(gpu_arch_type, gpu_arch_version)
|
||||||
|
|
||||||
@ -300,11 +293,11 @@ def generate_libtorch_matrix(
|
|||||||
"libtorch_variant": libtorch_variant,
|
"libtorch_variant": libtorch_variant,
|
||||||
"libtorch_config": abi_version if os == "windows" else "",
|
"libtorch_config": abi_version if os == "windows" else "",
|
||||||
"devtoolset": abi_version if os != "windows" else "",
|
"devtoolset": abi_version if os != "windows" else "",
|
||||||
"container_image": (
|
"container_image": LIBTORCH_CONTAINER_IMAGES[
|
||||||
LIBTORCH_CONTAINER_IMAGES[(arch_version, abi_version)]
|
(arch_version, abi_version)
|
||||||
if os != "windows"
|
]
|
||||||
else ""
|
if os != "windows"
|
||||||
),
|
else "",
|
||||||
"package_type": "libtorch",
|
"package_type": "libtorch",
|
||||||
"build_name": f"libtorch-{gpu_arch_type}{gpu_arch_version}-{libtorch_variant}-{abi_version}".replace(
|
"build_name": f"libtorch-{gpu_arch_type}{gpu_arch_version}-{libtorch_variant}-{abi_version}".replace(
|
||||||
".", "_"
|
".", "_"
|
||||||
@ -325,7 +318,7 @@ def generate_wheels_matrix(
|
|||||||
package_type = "manywheel"
|
package_type = "manywheel"
|
||||||
|
|
||||||
if python_versions is None:
|
if python_versions is None:
|
||||||
python_versions = FULL_PYTHON_VERSIONS + ["3.13"]
|
python_versions = FULL_PYTHON_VERSIONS
|
||||||
|
|
||||||
if arches is None:
|
if arches is None:
|
||||||
# Define default compute archivectures
|
# Define default compute archivectures
|
||||||
@ -337,7 +330,7 @@ def generate_wheels_matrix(
|
|||||||
elif os == "linux-aarch64":
|
elif os == "linux-aarch64":
|
||||||
# Only want the one arch as the CPU type is different and
|
# Only want the one arch as the CPU type is different and
|
||||||
# uses different build/test scripts
|
# uses different build/test scripts
|
||||||
arches = ["cpu-aarch64", "cuda-aarch64"]
|
arches = ["cpu-aarch64"]
|
||||||
elif os == "linux-s390x":
|
elif os == "linux-s390x":
|
||||||
# Only want the one arch as the CPU type is different and
|
# Only want the one arch as the CPU type is different and
|
||||||
# uses different build/test scripts
|
# uses different build/test scripts
|
||||||
@ -353,20 +346,11 @@ def generate_wheels_matrix(
|
|||||||
or arch_version == "cpu-cxx11-abi"
|
or arch_version == "cpu-cxx11-abi"
|
||||||
or arch_version == "cpu-aarch64"
|
or arch_version == "cpu-aarch64"
|
||||||
or arch_version == "cpu-s390x"
|
or arch_version == "cpu-s390x"
|
||||||
or arch_version == "cuda-aarch64"
|
|
||||||
else arch_version
|
else arch_version
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO: Enable python 3.13 on rocm, aarch64, windows
|
|
||||||
if (gpu_arch_type == "rocm" or os != "linux") and python_version == "3.13":
|
|
||||||
continue
|
|
||||||
|
|
||||||
# 12.1 linux wheels require PYTORCH_EXTRA_INSTALL_REQUIREMENTS to install
|
# 12.1 linux wheels require PYTORCH_EXTRA_INSTALL_REQUIREMENTS to install
|
||||||
if (
|
if arch_version in ["12.4", "12.1", "11.8"] and os == "linux":
|
||||||
arch_version in ["12.4", "12.1", "11.8"]
|
|
||||||
and os == "linux"
|
|
||||||
or arch_version == "cuda-aarch64"
|
|
||||||
):
|
|
||||||
ret.append(
|
ret.append(
|
||||||
{
|
{
|
||||||
"python_version": python_version,
|
"python_version": python_version,
|
||||||
@ -375,64 +359,15 @@ def generate_wheels_matrix(
|
|||||||
"desired_cuda": translate_desired_cuda(
|
"desired_cuda": translate_desired_cuda(
|
||||||
gpu_arch_type, gpu_arch_version
|
gpu_arch_type, gpu_arch_version
|
||||||
),
|
),
|
||||||
"devtoolset": (
|
"devtoolset": "",
|
||||||
"cxx11-abi" if arch_version == "cuda-aarch64" else ""
|
|
||||||
),
|
|
||||||
"container_image": WHEEL_CONTAINER_IMAGES[arch_version],
|
"container_image": WHEEL_CONTAINER_IMAGES[arch_version],
|
||||||
"package_type": package_type,
|
"package_type": package_type,
|
||||||
"pytorch_extra_install_requirements": (
|
"pytorch_extra_install_requirements": PYTORCH_EXTRA_INSTALL_REQUIREMENTS[arch_version], # fmt: skip
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS[arch_version] # fmt: skip
|
|
||||||
if os != "linux-aarch64"
|
|
||||||
else ""
|
|
||||||
),
|
|
||||||
"build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}".replace( # noqa: B950
|
"build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}".replace( # noqa: B950
|
||||||
".", "_"
|
".", "_"
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if arch_version != "cuda-aarch64":
|
|
||||||
ret.append(
|
|
||||||
{
|
|
||||||
"python_version": python_version,
|
|
||||||
"gpu_arch_type": gpu_arch_type,
|
|
||||||
"gpu_arch_version": gpu_arch_version,
|
|
||||||
"desired_cuda": translate_desired_cuda(
|
|
||||||
gpu_arch_type, gpu_arch_version
|
|
||||||
),
|
|
||||||
"use_split_build": "True",
|
|
||||||
"devtoolset": "",
|
|
||||||
"container_image": WHEEL_CONTAINER_IMAGES[arch_version],
|
|
||||||
"package_type": package_type,
|
|
||||||
"pytorch_extra_install_requirements": (
|
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS[arch_version] # fmt: skip
|
|
||||||
if os != "linux-aarch64"
|
|
||||||
else ""
|
|
||||||
),
|
|
||||||
"build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}-split".replace( # noqa: B950
|
|
||||||
".", "_"
|
|
||||||
),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
# Special build building to use on Colab. PyThon 3.10 for 12.1 CUDA
|
|
||||||
if python_version == "3.10" and arch_version == "12.1":
|
|
||||||
ret.append(
|
|
||||||
{
|
|
||||||
"python_version": python_version,
|
|
||||||
"gpu_arch_type": gpu_arch_type,
|
|
||||||
"gpu_arch_version": gpu_arch_version,
|
|
||||||
"desired_cuda": translate_desired_cuda(
|
|
||||||
gpu_arch_type, gpu_arch_version
|
|
||||||
),
|
|
||||||
"use_split_build": "False",
|
|
||||||
"devtoolset": "",
|
|
||||||
"container_image": WHEEL_CONTAINER_IMAGES[arch_version],
|
|
||||||
"package_type": package_type,
|
|
||||||
"pytorch_extra_install_requirements": "",
|
|
||||||
"build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}-full".replace( # noqa: B950
|
|
||||||
".", "_"
|
|
||||||
),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
ret.append(
|
ret.append(
|
||||||
{
|
{
|
||||||
@ -442,19 +377,17 @@ def generate_wheels_matrix(
|
|||||||
"desired_cuda": translate_desired_cuda(
|
"desired_cuda": translate_desired_cuda(
|
||||||
gpu_arch_type, gpu_arch_version
|
gpu_arch_type, gpu_arch_version
|
||||||
),
|
),
|
||||||
"devtoolset": (
|
"devtoolset": "cxx11-abi"
|
||||||
"cxx11-abi" if arch_version == "cpu-cxx11-abi" else ""
|
if arch_version == "cpu-cxx11-abi"
|
||||||
),
|
else "",
|
||||||
"container_image": WHEEL_CONTAINER_IMAGES[arch_version],
|
"container_image": WHEEL_CONTAINER_IMAGES[arch_version],
|
||||||
"package_type": package_type,
|
"package_type": package_type,
|
||||||
"build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}".replace(
|
"build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}".replace(
|
||||||
".", "_"
|
".", "_"
|
||||||
),
|
),
|
||||||
"pytorch_extra_install_requirements": (
|
"pytorch_extra_install_requirements":
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS["12.1"] # fmt: skip
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS["12.1"] # fmt: skip
|
||||||
if os != "linux"
|
if os != "linux" else "",
|
||||||
else ""
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
return ret
|
return ret
|
||||||
|
|||||||
12
.github/scripts/generate_ci_workflows.py
vendored
12
.github/scripts/generate_ci_workflows.py
vendored
@ -5,11 +5,11 @@ import sys
|
|||||||
from dataclasses import asdict, dataclass, field
|
from dataclasses import asdict, dataclass, field
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, Iterable, List, Literal, Set
|
from typing import Dict, Iterable, List, Literal, Set
|
||||||
from typing_extensions import TypedDict # Python 3.11+
|
|
||||||
|
|
||||||
import generate_binary_build_matrix # type: ignore[import]
|
import generate_binary_build_matrix # type: ignore[import]
|
||||||
|
|
||||||
import jinja2
|
import jinja2
|
||||||
|
from typing_extensions import TypedDict # Python 3.11+
|
||||||
|
|
||||||
Arch = Literal["windows", "linux", "macos"]
|
Arch = Literal["windows", "linux", "macos"]
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ class BinaryBuildWorkflow:
|
|||||||
branches: str = "nightly"
|
branches: str = "nightly"
|
||||||
# Mainly for macos
|
# Mainly for macos
|
||||||
cross_compile_arm64: bool = False
|
cross_compile_arm64: bool = False
|
||||||
macos_runner: str = "macos-14-xlarge"
|
macos_runner: str = "macos-12-xl"
|
||||||
|
|
||||||
def __post_init__(self) -> None:
|
def __post_init__(self) -> None:
|
||||||
if self.abi_version:
|
if self.abi_version:
|
||||||
@ -157,7 +157,7 @@ LINUX_BINARY_SMOKE_WORKFLOWS = [
|
|||||||
package_type="manywheel",
|
package_type="manywheel",
|
||||||
build_configs=generate_binary_build_matrix.generate_wheels_matrix(
|
build_configs=generate_binary_build_matrix.generate_wheels_matrix(
|
||||||
OperatingSystem.LINUX,
|
OperatingSystem.LINUX,
|
||||||
arches=["11.8", "12.1", "12.4"],
|
arches=["11.8", "12.1"],
|
||||||
python_versions=["3.8"],
|
python_versions=["3.8"],
|
||||||
),
|
),
|
||||||
branches="main",
|
branches="main",
|
||||||
@ -285,7 +285,7 @@ MACOS_BINARY_BUILD_WORKFLOWS = [
|
|||||||
libtorch_variants=["shared-with-deps"],
|
libtorch_variants=["shared-with-deps"],
|
||||||
),
|
),
|
||||||
cross_compile_arm64=False,
|
cross_compile_arm64=False,
|
||||||
macos_runner="macos-14-xlarge",
|
macos_runner="macos-13-xlarge",
|
||||||
ciflow_config=CIFlowConfig(
|
ciflow_config=CIFlowConfig(
|
||||||
labels={LABEL_CIFLOW_BINARIES, LABEL_CIFLOW_BINARIES_LIBTORCH},
|
labels={LABEL_CIFLOW_BINARIES, LABEL_CIFLOW_BINARIES_LIBTORCH},
|
||||||
isolated_workflow=True,
|
isolated_workflow=True,
|
||||||
@ -298,7 +298,7 @@ MACOS_BINARY_BUILD_WORKFLOWS = [
|
|||||||
OperatingSystem.MACOS_ARM64
|
OperatingSystem.MACOS_ARM64
|
||||||
),
|
),
|
||||||
cross_compile_arm64=False,
|
cross_compile_arm64=False,
|
||||||
macos_runner="macos-14-xlarge",
|
macos_runner="macos-13-xlarge",
|
||||||
ciflow_config=CIFlowConfig(
|
ciflow_config=CIFlowConfig(
|
||||||
labels={LABEL_CIFLOW_BINARIES, LABEL_CIFLOW_BINARIES_WHEEL},
|
labels={LABEL_CIFLOW_BINARIES, LABEL_CIFLOW_BINARIES_WHEEL},
|
||||||
isolated_workflow=True,
|
isolated_workflow=True,
|
||||||
@ -308,7 +308,7 @@ MACOS_BINARY_BUILD_WORKFLOWS = [
|
|||||||
os=OperatingSystem.MACOS_ARM64,
|
os=OperatingSystem.MACOS_ARM64,
|
||||||
package_type="conda",
|
package_type="conda",
|
||||||
cross_compile_arm64=False,
|
cross_compile_arm64=False,
|
||||||
macos_runner="macos-14-xlarge",
|
macos_runner="macos-13-xlarge",
|
||||||
build_configs=generate_binary_build_matrix.generate_conda_matrix(
|
build_configs=generate_binary_build_matrix.generate_conda_matrix(
|
||||||
OperatingSystem.MACOS_ARM64
|
OperatingSystem.MACOS_ARM64
|
||||||
),
|
),
|
||||||
|
|||||||
99
.github/scripts/get_workflow_type.py
vendored
Normal file
99
.github/scripts/get_workflow_type.py
vendored
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
import json
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
from github import Auth, Github
|
||||||
|
from github.Issue import Issue
|
||||||
|
|
||||||
|
|
||||||
|
WORKFLOW_TYPE_LABEL = "label"
|
||||||
|
WORKFLOW_TYPE_RG = "rg"
|
||||||
|
WORKFLOW_TYPE_BOTH = "both"
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args() -> Any:
|
||||||
|
parser = ArgumentParser("Get dynamic rollout settings")
|
||||||
|
parser.add_argument("--github-token", type=str, required=True, help="GitHub token")
|
||||||
|
parser.add_argument(
|
||||||
|
"--github-repo",
|
||||||
|
type=str,
|
||||||
|
required=False,
|
||||||
|
default="pytorch/test-infra",
|
||||||
|
help="GitHub repo to get the issue",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--github-issue", type=int, required=True, help="GitHub issue umber"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--github-user", type=str, required=True, help="GitHub username"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--github-branch", type=str, required=True, help="Current GitHub branch"
|
||||||
|
)
|
||||||
|
|
||||||
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
def get_gh_client(github_token: str) -> Github:
|
||||||
|
auth = Auth.Token(github_token)
|
||||||
|
return Github(auth=auth)
|
||||||
|
|
||||||
|
|
||||||
|
def get_issue(gh: Github, repo: str, issue_num: int) -> Issue:
|
||||||
|
repo = gh.get_repo(repo)
|
||||||
|
return repo.get_issue(number=issue_num)
|
||||||
|
|
||||||
|
|
||||||
|
def is_exception_branch(branch: str) -> bool:
|
||||||
|
return branch.split("/")[0] in {"main", "nightly", "release", "landchecks"}
|
||||||
|
|
||||||
|
|
||||||
|
def get_workflow_type(issue: Issue, username: str) -> str:
|
||||||
|
user_list = issue.get_comments()[0].body.split("\r\n")
|
||||||
|
try:
|
||||||
|
run_option = issue.get_comments()[1].body.split("\r\n")[0]
|
||||||
|
except Exception as e:
|
||||||
|
run_option = "single"
|
||||||
|
|
||||||
|
if user_list[0] == "!":
|
||||||
|
# Use old runners for everyone
|
||||||
|
return WORKFLOW_TYPE_LABEL
|
||||||
|
elif user_list[1] == "*":
|
||||||
|
if run_option == WORKFLOW_TYPE_BOTH:
|
||||||
|
# Use ARC runners and old runners for everyone
|
||||||
|
return WORKFLOW_TYPE_BOTH
|
||||||
|
else:
|
||||||
|
# Use only ARC runners for everyone
|
||||||
|
return WORKFLOW_TYPE_RG
|
||||||
|
elif username in user_list:
|
||||||
|
if run_option == WORKFLOW_TYPE_BOTH:
|
||||||
|
# Use ARC runners and old runners for a specific user
|
||||||
|
return WORKFLOW_TYPE_BOTH
|
||||||
|
else:
|
||||||
|
# Use only ARC runners for a specific user
|
||||||
|
return WORKFLOW_TYPE_RG
|
||||||
|
else:
|
||||||
|
# Use old runners by default
|
||||||
|
return WORKFLOW_TYPE_LABEL
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
args = parse_args()
|
||||||
|
|
||||||
|
if is_exception_branch(args.github_branch):
|
||||||
|
output = {"workflow_type": WORKFLOW_TYPE_LABEL}
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
gh = get_gh_client(args.github_token)
|
||||||
|
issue = get_issue(gh, args.github_repo, args.github_issue)
|
||||||
|
|
||||||
|
output = {"workflow_type": get_workflow_type(issue, args.github_user)}
|
||||||
|
except Exception as e:
|
||||||
|
output = {"workflow_type": WORKFLOW_TYPE_LABEL}
|
||||||
|
|
||||||
|
json_output = json.dumps(output)
|
||||||
|
print(json_output)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
9
.github/scripts/github_utils.py
vendored
9
.github/scripts/github_utils.py
vendored
@ -202,12 +202,3 @@ def gh_update_pr_state(org: str, repo: str, pr_num: int, state: str = "open") ->
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
def gh_query_issues_by_labels(
|
|
||||||
org: str, repo: str, labels: List[str], state: str = "open"
|
|
||||||
) -> List[Dict[str, Any]]:
|
|
||||||
url = f"{GITHUB_API_URL}/repos/{org}/{repo}/issues"
|
|
||||||
return gh_fetch_json(
|
|
||||||
url, method="GET", params={"labels": ",".join(labels), "state": state}
|
|
||||||
)
|
|
||||||
|
|||||||
BIN
.github/scripts/gql_mocks.json.gz
vendored
BIN
.github/scripts/gql_mocks.json.gz
vendored
Binary file not shown.
3
.github/scripts/lintrunner.sh
vendored
3
.github/scripts/lintrunner.sh
vendored
@ -7,7 +7,7 @@ eval "$(command conda 'shell.bash' 'hook' 2> /dev/null)"
|
|||||||
conda activate "${CONDA_ENV}"
|
conda activate "${CONDA_ENV}"
|
||||||
|
|
||||||
# Use uv to speed up lintrunner init
|
# Use uv to speed up lintrunner init
|
||||||
python3 -m pip install uv==0.1.45
|
python3 -m pip install uv
|
||||||
|
|
||||||
CACHE_DIRECTORY="/tmp/.lintbin"
|
CACHE_DIRECTORY="/tmp/.lintbin"
|
||||||
# Try to recover the cached binaries
|
# Try to recover the cached binaries
|
||||||
@ -29,7 +29,6 @@ python3 -m tools.pyi.gen_pyi \
|
|||||||
--native-functions-path aten/src/ATen/native/native_functions.yaml \
|
--native-functions-path aten/src/ATen/native/native_functions.yaml \
|
||||||
--tags-path aten/src/ATen/native/tags.yaml \
|
--tags-path aten/src/ATen/native/tags.yaml \
|
||||||
--deprecated-functions-path "tools/autograd/deprecated.yaml"
|
--deprecated-functions-path "tools/autograd/deprecated.yaml"
|
||||||
python3 torch/utils/data/datapipes/gen_pyi.py
|
|
||||||
|
|
||||||
RC=0
|
RC=0
|
||||||
# Run lintrunner on all files
|
# Run lintrunner on all files
|
||||||
|
|||||||
29
.github/scripts/pytest_caching_utils.py
vendored
29
.github/scripts/pytest_caching_utils.py
vendored
@ -18,7 +18,6 @@ PYTEST_CACHE_KEY_PREFIX = "pytest_cache"
|
|||||||
PYTEST_CACHE_DIR_NAME = ".pytest_cache"
|
PYTEST_CACHE_DIR_NAME = ".pytest_cache"
|
||||||
BUCKET = "gha-artifacts"
|
BUCKET = "gha-artifacts"
|
||||||
LASTFAILED_FILE_PATH = Path("v/cache/lastfailed")
|
LASTFAILED_FILE_PATH = Path("v/cache/lastfailed")
|
||||||
TD_HEURISTIC_PREVIOUSLY_FAILED_ADDITIONAL = "previous_failures_additional.json"
|
|
||||||
|
|
||||||
# Temp folders
|
# Temp folders
|
||||||
ZIP_UPLOAD = "zip-upload"
|
ZIP_UPLOAD = "zip-upload"
|
||||||
@ -192,10 +191,6 @@ def _merge_pytest_caches(
|
|||||||
pytest_cache_dir_to_merge_from, pytest_cache_dir_to_merge_into
|
pytest_cache_dir_to_merge_from, pytest_cache_dir_to_merge_into
|
||||||
)
|
)
|
||||||
|
|
||||||
_merge_additional_failures_files(
|
|
||||||
pytest_cache_dir_to_merge_from, pytest_cache_dir_to_merge_into
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def _merge_lastfailed_files(source_pytest_cache: Path, dest_pytest_cache: Path) -> None:
|
def _merge_lastfailed_files(source_pytest_cache: Path, dest_pytest_cache: Path) -> None:
|
||||||
# Simple cases where one of the files doesn't exist
|
# Simple cases where one of the files doesn't exist
|
||||||
@ -237,27 +232,3 @@ def _merged_lastfailed_content(
|
|||||||
del to_lastfailed[""]
|
del to_lastfailed[""]
|
||||||
|
|
||||||
return to_lastfailed
|
return to_lastfailed
|
||||||
|
|
||||||
|
|
||||||
def _merge_additional_failures_files(
|
|
||||||
source_pytest_cache: Path, dest_pytest_cache: Path
|
|
||||||
) -> None:
|
|
||||||
# Simple cases where one of the files doesn't exist
|
|
||||||
source_lastfailed_file = (
|
|
||||||
source_pytest_cache / TD_HEURISTIC_PREVIOUSLY_FAILED_ADDITIONAL
|
|
||||||
)
|
|
||||||
dest_lastfailed_file = dest_pytest_cache / TD_HEURISTIC_PREVIOUSLY_FAILED_ADDITIONAL
|
|
||||||
|
|
||||||
if not source_lastfailed_file.exists():
|
|
||||||
return
|
|
||||||
if not dest_lastfailed_file.exists():
|
|
||||||
copy_file(source_lastfailed_file, dest_lastfailed_file)
|
|
||||||
return
|
|
||||||
|
|
||||||
# Both files exist, so we need to merge them
|
|
||||||
from_lastfailed = load_json_file(source_lastfailed_file)
|
|
||||||
to_lastfailed = load_json_file(dest_lastfailed_file)
|
|
||||||
merged_content = list(set(from_lastfailed + to_lastfailed))
|
|
||||||
|
|
||||||
# Save the results
|
|
||||||
write_json_file(dest_lastfailed_file, merged_content)
|
|
||||||
|
|||||||
210
.github/scripts/runner_determinator.py
vendored
210
.github/scripts/runner_determinator.py
vendored
@ -1,210 +0,0 @@
|
|||||||
# flake8: noqa: G004
|
|
||||||
|
|
||||||
import logging
|
|
||||||
import os
|
|
||||||
from argparse import ArgumentParser
|
|
||||||
from logging import LogRecord
|
|
||||||
from typing import Any, Iterable
|
|
||||||
|
|
||||||
from github import Auth, Github
|
|
||||||
from github.Issue import Issue
|
|
||||||
|
|
||||||
|
|
||||||
WORKFLOW_LABEL_META = "" # use meta runners
|
|
||||||
WORKFLOW_LABEL_LF = "lf." # use runners from the linux foundation
|
|
||||||
|
|
||||||
GITHUB_OUTPUT = os.getenv("GITHUB_OUTPUT", "")
|
|
||||||
GH_OUTPUT_KEY_LABEL_TYPE = "label-type"
|
|
||||||
|
|
||||||
|
|
||||||
class ColorFormatter(logging.Formatter):
|
|
||||||
"""Color codes the log messages based on the log level"""
|
|
||||||
|
|
||||||
COLORS = {
|
|
||||||
"WARNING": "\033[33m", # Yellow
|
|
||||||
"ERROR": "\033[31m", # Red
|
|
||||||
"CRITICAL": "\033[31m", # Red
|
|
||||||
"INFO": "\033[0m", # Reset
|
|
||||||
"DEBUG": "\033[0m", # Reset
|
|
||||||
}
|
|
||||||
|
|
||||||
def format(self, record: LogRecord) -> str:
|
|
||||||
log_color = self.COLORS.get(record.levelname, "\033[0m") # Default to reset
|
|
||||||
record.msg = f"{log_color}{record.msg}\033[0m"
|
|
||||||
return super().format(record)
|
|
||||||
|
|
||||||
|
|
||||||
handler = logging.StreamHandler()
|
|
||||||
handler.setFormatter(ColorFormatter(fmt="%(levelname)-8s: %(message)s"))
|
|
||||||
|
|
||||||
log = logging.getLogger(os.path.basename(__file__))
|
|
||||||
log.addHandler(handler)
|
|
||||||
log.setLevel(logging.INFO)
|
|
||||||
|
|
||||||
|
|
||||||
def set_github_output(key: str, value: str) -> None:
|
|
||||||
"""
|
|
||||||
Defines outputs of the github action that invokes this script
|
|
||||||
"""
|
|
||||||
if not GITHUB_OUTPUT:
|
|
||||||
# See https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ for deprecation notice
|
|
||||||
log.warning(
|
|
||||||
"No env var found for GITHUB_OUTPUT, you must be running this code locally. Falling back to the deprecated print method."
|
|
||||||
)
|
|
||||||
print(f"::set-output name={key}::{value}")
|
|
||||||
return
|
|
||||||
|
|
||||||
with open(GITHUB_OUTPUT, "a") as f:
|
|
||||||
log.info(f"Setting output: {key}='{value}'")
|
|
||||||
f.write(f"{key}={value}\n")
|
|
||||||
|
|
||||||
|
|
||||||
def parse_args() -> Any:
|
|
||||||
parser = ArgumentParser("Get dynamic rollout settings")
|
|
||||||
parser.add_argument("--github-token", type=str, required=True, help="GitHub token")
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-issue-repo",
|
|
||||||
type=str,
|
|
||||||
required=False,
|
|
||||||
default="pytorch/test-infra",
|
|
||||||
help="GitHub repo to get the issue",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-repo",
|
|
||||||
type=str,
|
|
||||||
required=True,
|
|
||||||
help="GitHub repo where CI is running",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-issue", type=int, required=True, help="GitHub issue number"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-actor", type=str, required=True, help="GitHub triggering_actor"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-issue-owner", type=str, required=True, help="GitHub issue owner"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-branch", type=str, required=True, help="Current GitHub branch or tag"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-ref-type",
|
|
||||||
type=str,
|
|
||||||
required=True,
|
|
||||||
help="Current GitHub ref type, branch or tag",
|
|
||||||
)
|
|
||||||
|
|
||||||
return parser.parse_args()
|
|
||||||
|
|
||||||
|
|
||||||
def get_gh_client(github_token: str) -> Github:
|
|
||||||
auth = Auth.Token(github_token)
|
|
||||||
return Github(auth=auth)
|
|
||||||
|
|
||||||
|
|
||||||
def get_issue(gh: Github, repo: str, issue_num: int) -> Issue:
|
|
||||||
repo = gh.get_repo(repo)
|
|
||||||
return repo.get_issue(number=issue_num)
|
|
||||||
|
|
||||||
|
|
||||||
def get_potential_pr_author(
|
|
||||||
gh: Github, repo: str, username: str, ref_type: str, ref_name: str
|
|
||||||
) -> str:
|
|
||||||
# If the trigger was a new tag added by a bot, this is a ciflow case
|
|
||||||
# Fetch the actual username from the original PR. The PR number is
|
|
||||||
# embedded in the tag name: ciflow/<name>/<pr-number>
|
|
||||||
if username == "pytorch-bot[bot]" and ref_type == "tag":
|
|
||||||
split_tag = ref_name.split("/")
|
|
||||||
if (
|
|
||||||
len(split_tag) == 3
|
|
||||||
and split_tag[0] == "ciflow"
|
|
||||||
and split_tag[2].isnumeric()
|
|
||||||
):
|
|
||||||
pr_number = split_tag[2]
|
|
||||||
try:
|
|
||||||
repository = gh.get_repo(repo)
|
|
||||||
pull = repository.get_pull(number=int(pr_number))
|
|
||||||
except Exception as e:
|
|
||||||
raise Exception( # noqa: TRY002
|
|
||||||
f"issue with pull request {pr_number} from repo {repository}"
|
|
||||||
) from e
|
|
||||||
return pull.user.login
|
|
||||||
# In all other cases, return the original input username
|
|
||||||
return username
|
|
||||||
|
|
||||||
|
|
||||||
def is_exception_branch(branch: str) -> bool:
|
|
||||||
return branch.split("/")[0] in {"main", "nightly", "release", "landchecks"}
|
|
||||||
|
|
||||||
|
|
||||||
def get_workflow_type(issue: Issue, workflow_requestors: Iterable[str]) -> str:
|
|
||||||
try:
|
|
||||||
first_comment = issue.get_comments()[0].body.strip("\n\t ")
|
|
||||||
|
|
||||||
if first_comment[0] == "!":
|
|
||||||
log.info("LF Workflows are disabled for everyone. Using meta runners.")
|
|
||||||
return WORKFLOW_LABEL_META
|
|
||||||
elif first_comment[0] == "*":
|
|
||||||
log.info("LF Workflows are enabled for everyone. Using LF runners.")
|
|
||||||
return WORKFLOW_LABEL_LF
|
|
||||||
else:
|
|
||||||
all_opted_in_users = {
|
|
||||||
usr_raw.strip("\n\t@ ") for usr_raw in first_comment.split()
|
|
||||||
}
|
|
||||||
opted_in_requestors = {
|
|
||||||
usr for usr in workflow_requestors if usr in all_opted_in_users
|
|
||||||
}
|
|
||||||
if opted_in_requestors:
|
|
||||||
log.info(
|
|
||||||
f"LF Workflows are enabled for {', '.join(opted_in_requestors)}. Using LF runners."
|
|
||||||
)
|
|
||||||
return WORKFLOW_LABEL_LF
|
|
||||||
else:
|
|
||||||
log.info(
|
|
||||||
f"LF Workflows are disabled for {', '.join(workflow_requestors)}. Using meta runners."
|
|
||||||
)
|
|
||||||
return WORKFLOW_LABEL_META
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
log.error(
|
|
||||||
f"Failed to get determine workflow type. Falling back to meta runners. Exception: {e}"
|
|
||||||
)
|
|
||||||
return WORKFLOW_LABEL_META
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
|
||||||
args = parse_args()
|
|
||||||
|
|
||||||
if args.github_ref_type == "branch" and is_exception_branch(args.github_branch):
|
|
||||||
log.info(f"Exception branch: '{args.github_branch}', using meta runners")
|
|
||||||
label_type = WORKFLOW_LABEL_META
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
gh = get_gh_client(args.github_token)
|
|
||||||
# The default issue we use - https://github.com/pytorch/test-infra/issues/5132
|
|
||||||
issue = get_issue(gh, args.github_issue_repo, args.github_issue)
|
|
||||||
username = get_potential_pr_author(
|
|
||||||
gh,
|
|
||||||
args.github_repo,
|
|
||||||
args.github_actor,
|
|
||||||
args.github_ref_type,
|
|
||||||
args.github_branch,
|
|
||||||
)
|
|
||||||
label_type = get_workflow_type(
|
|
||||||
issue,
|
|
||||||
(
|
|
||||||
args.github_issue_owner,
|
|
||||||
username,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
except Exception as e:
|
|
||||||
log.error(
|
|
||||||
f"Failed to get issue. Falling back to meta runners. Exception: {e}"
|
|
||||||
)
|
|
||||||
label_type = WORKFLOW_LABEL_META
|
|
||||||
|
|
||||||
set_github_output(GH_OUTPUT_KEY_LABEL_TYPE, label_type)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eoux pipefail
|
|
||||||
|
|
||||||
SYNC_BRANCH=pytorch-stable-prototype
|
|
||||||
|
|
||||||
git config user.email "fake@example.com"
|
|
||||||
git config user.name "PyTorch Stable Bot"
|
|
||||||
|
|
||||||
git fetch origin main
|
|
||||||
git fetch origin "$SYNC_BRANCH"
|
|
||||||
git checkout "$SYNC_BRANCH"
|
|
||||||
|
|
||||||
# Using a hardcoded SHA here is a massive speedup as we can skip the entire history of the pytorch GitHub repo.
|
|
||||||
# This specific SHA was chosen as it was before the "branch point" of the stable branch
|
|
||||||
for SHA in $(git log ba3b05fdf37ddbc3c301294d6a560a816335e717..origin/main --pretty="%h" --reverse -- torch/distributed torch/csrc/distributed test/distributed test/cpp/c10d benchmarks/distributed)
|
|
||||||
do
|
|
||||||
# `git merge-base --is-ancestor` exits with code 0 if the given SHA is an ancestor, and non-0 otherwise
|
|
||||||
if git merge-base --is-ancestor $SHA HEAD || [[ $(git log --grep="(cherry picked from commit $SHA") ]]
|
|
||||||
then
|
|
||||||
echo "Skipping $SHA"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
echo "Copying $SHA"
|
|
||||||
git cherry-pick -x "$SHA" -X theirs
|
|
||||||
git reset --soft HEAD~1
|
|
||||||
git add torch/distributed torch/csrc/distributed test/distributed test/cpp/c10d benchmarks/distributed
|
|
||||||
git checkout .
|
|
||||||
git commit --reuse-message=HEAD@{1}
|
|
||||||
git clean -f
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ "${WITH_PUSH}" == true ]]; then
|
|
||||||
git push
|
|
||||||
fi
|
|
||||||
1
.github/scripts/td_llm_indexer.sh
vendored
1
.github/scripts/td_llm_indexer.sh
vendored
@ -7,7 +7,6 @@ cd llm-target-determinator
|
|||||||
pip install -q -r requirements.txt
|
pip install -q -r requirements.txt
|
||||||
cd ../codellama
|
cd ../codellama
|
||||||
pip install -e .
|
pip install -e .
|
||||||
pip install numpy==1.26.0
|
|
||||||
|
|
||||||
# Run indexer
|
# Run indexer
|
||||||
cd ../llm-target-determinator
|
cd ../llm-target-determinator
|
||||||
|
|||||||
36
.github/scripts/test_trymerge.py
vendored
36
.github/scripts/test_trymerge.py
vendored
@ -180,9 +180,6 @@ def mock_gh_get_info() -> Any:
|
|||||||
return {
|
return {
|
||||||
"closed": False,
|
"closed": False,
|
||||||
"isCrossRepository": False,
|
"isCrossRepository": False,
|
||||||
"headRefName": "foo",
|
|
||||||
"baseRefName": "bar",
|
|
||||||
"baseRepository": {"defaultBranchRef": {"name": "bar"}},
|
|
||||||
"files": {"nodes": [], "pageInfo": {"hasNextPage": False}},
|
"files": {"nodes": [], "pageInfo": {"hasNextPage": False}},
|
||||||
"changedFiles": 0,
|
"changedFiles": 0,
|
||||||
}
|
}
|
||||||
@ -397,7 +394,6 @@ class TestTryMerge(TestCase):
|
|||||||
# self.assertGreater(len(pr.get_checkrun_conclusions()), 3)
|
# self.assertGreater(len(pr.get_checkrun_conclusions()), 3)
|
||||||
self.assertGreater(pr.get_commit_count(), 60)
|
self.assertGreater(pr.get_commit_count(), 60)
|
||||||
|
|
||||||
@skip("GitHub doesn't keep this data anymore")
|
|
||||||
def test_gql_retrieve_checksuites(self, *args: Any) -> None:
|
def test_gql_retrieve_checksuites(self, *args: Any) -> None:
|
||||||
"Fetch comments and conclusions for PR with 60 commits"
|
"Fetch comments and conclusions for PR with 60 commits"
|
||||||
pr = GitHubPR("pytorch", "pytorch", 94787)
|
pr = GitHubPR("pytorch", "pytorch", 94787)
|
||||||
@ -777,13 +773,13 @@ class TestBypassFailures(TestCase):
|
|||||||
# than the one on the base commit. This should still count as broken trunk
|
# than the one on the base commit. This should still count as broken trunk
|
||||||
"pr_num": 104214,
|
"pr_num": 104214,
|
||||||
"related_failure_count": 0,
|
"related_failure_count": 0,
|
||||||
"flaky_or_broken_trunk": 1,
|
"unrelated_failure_count": 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# This PR had one broken trunk failure and it used ghstack
|
# This PR had one broken trunk failure and it used ghstack
|
||||||
"pr_num": 105145,
|
"pr_num": 105145,
|
||||||
"related_failure_count": 0,
|
"related_failure_count": 0,
|
||||||
"flaky_or_broken_trunk": 1,
|
"unrelated_failure_count": 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# The failure on the merge base was retried successfully and
|
# The failure on the merge base was retried successfully and
|
||||||
@ -792,20 +788,20 @@ class TestBypassFailures(TestCase):
|
|||||||
# be used to detect broken trunk
|
# be used to detect broken trunk
|
||||||
"pr_num": 107160,
|
"pr_num": 107160,
|
||||||
"related_failure_count": 0,
|
"related_failure_count": 0,
|
||||||
"flaky_or_broken_trunk": 1,
|
"unrelated_failure_count": 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# This PR used Dr.CI broken trunk classification
|
# This PR used Dr.CI broken trunk classification
|
||||||
"pr_num": 111253,
|
"pr_num": 111253,
|
||||||
"related_failure_count": 1,
|
"related_failure_count": 1,
|
||||||
"flaky_or_broken_trunk": 1,
|
"unrelated_failure_count": 2,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
for case in test_cases:
|
for case in test_cases:
|
||||||
pr_num = case["pr_num"]
|
pr_num = case["pr_num"]
|
||||||
related_failure_count = case["related_failure_count"]
|
related_failure_count = case["related_failure_count"]
|
||||||
flaky_or_broken_trunk = case["flaky_or_broken_trunk"]
|
unrelated_failure_count = case["unrelated_failure_count"]
|
||||||
|
|
||||||
pr = GitHubPR("pytorch", "pytorch", pr_num)
|
pr = GitHubPR("pytorch", "pytorch", pr_num)
|
||||||
checks = pr.get_checkrun_conclusions()
|
checks = pr.get_checkrun_conclusions()
|
||||||
@ -827,7 +823,7 @@ class TestBypassFailures(TestCase):
|
|||||||
)
|
)
|
||||||
self.assertTrue(len(pending) == 0)
|
self.assertTrue(len(pending) == 0)
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
len(failed) == flaky_or_broken_trunk + related_failure_count
|
len(failed) == unrelated_failure_count + related_failure_count
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_ignore_current(self, *args: Any) -> None:
|
def test_ignore_current(self, *args: Any) -> None:
|
||||||
@ -895,24 +891,6 @@ class TestBypassFailures(TestCase):
|
|||||||
self.assertTrue(len(ignorable["FLAKY"]) == 1)
|
self.assertTrue(len(ignorable["FLAKY"]) == 1)
|
||||||
self.assertTrue(len(ignorable["BROKEN_TRUNK"]) == 0)
|
self.assertTrue(len(ignorable["BROKEN_TRUNK"]) == 0)
|
||||||
|
|
||||||
def test_ignore_failures_older_run_same_workflow(self, *args: Any) -> None:
|
|
||||||
pr = GitHubPR("pytorch", "pytorch", 129013)
|
|
||||||
checks = pr.get_checkrun_conclusions()
|
|
||||||
checks = get_classifications(
|
|
||||||
pr.pr_num,
|
|
||||||
pr.project,
|
|
||||||
checks,
|
|
||||||
[],
|
|
||||||
)
|
|
||||||
pending, failed, ignorable = categorize_checks(
|
|
||||||
checks,
|
|
||||||
list(checks.keys()),
|
|
||||||
)
|
|
||||||
self.assertTrue(len(pending) == 0)
|
|
||||||
self.assertTrue(len(failed) == 0)
|
|
||||||
self.assertTrue(len(ignorable["FLAKY"]) == 2)
|
|
||||||
self.assertTrue(len(ignorable["UNSTABLE"]) == 13)
|
|
||||||
|
|
||||||
@mock.patch("trymerge.read_merge_rules", side_effect=xla_merge_rules)
|
@mock.patch("trymerge.read_merge_rules", side_effect=xla_merge_rules)
|
||||||
def test_dont_ignore_flaky_failures(self, *args: Any) -> None:
|
def test_dont_ignore_flaky_failures(self, *args: Any) -> None:
|
||||||
"""
|
"""
|
||||||
@ -1041,7 +1019,7 @@ class TestGitHubPRGhstackDependencies(TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
@skip(
|
@skip(
|
||||||
reason="This test is run against a mutable PR that has changed, so it no longer works. The test should be changed"
|
reason="This test is run against a mutalbe PR that has changed, so it no longer works. The test should be changed"
|
||||||
)
|
)
|
||||||
@mock.patch("trymerge.read_merge_rules")
|
@mock.patch("trymerge.read_merge_rules")
|
||||||
@mock.patch("trymerge.GitRepo")
|
@mock.patch("trymerge.GitRepo")
|
||||||
|
|||||||
149
.github/scripts/trymerge.py
vendored
149
.github/scripts/trymerge.py
vendored
@ -81,10 +81,9 @@ JobNameToStateDict = Dict[str, JobCheckState]
|
|||||||
|
|
||||||
|
|
||||||
class WorkflowCheckState:
|
class WorkflowCheckState:
|
||||||
def __init__(self, name: str, url: str, run_id: int, status: Optional[str]):
|
def __init__(self, name: str, url: str, status: Optional[str]):
|
||||||
self.name: str = name
|
self.name: str = name
|
||||||
self.url: str = url
|
self.url: str = url
|
||||||
self.run_id: int = run_id
|
|
||||||
self.status: Optional[str] = status
|
self.status: Optional[str] = status
|
||||||
self.jobs: JobNameToStateDict = {}
|
self.jobs: JobNameToStateDict = {}
|
||||||
|
|
||||||
@ -123,7 +122,6 @@ fragment PRCheckSuites on CheckSuiteConnection {
|
|||||||
workflowRun {
|
workflowRun {
|
||||||
workflow {
|
workflow {
|
||||||
name
|
name
|
||||||
databaseId
|
|
||||||
}
|
}
|
||||||
databaseId
|
databaseId
|
||||||
url
|
url
|
||||||
@ -514,7 +512,7 @@ def add_workflow_conclusions(
|
|||||||
workflows: Dict[str, WorkflowCheckState] = {}
|
workflows: Dict[str, WorkflowCheckState] = {}
|
||||||
|
|
||||||
# for the jobs that don't have a workflow
|
# for the jobs that don't have a workflow
|
||||||
no_workflow_obj: WorkflowCheckState = WorkflowCheckState("", "", 0, None)
|
no_workflow_obj: WorkflowCheckState = WorkflowCheckState("", "", None)
|
||||||
|
|
||||||
def add_conclusions(edges: Any) -> None:
|
def add_conclusions(edges: Any) -> None:
|
||||||
for edge_idx, edge in enumerate(edges):
|
for edge_idx, edge in enumerate(edges):
|
||||||
@ -525,30 +523,18 @@ def add_workflow_conclusions(
|
|||||||
workflow_obj: WorkflowCheckState = no_workflow_obj
|
workflow_obj: WorkflowCheckState = no_workflow_obj
|
||||||
|
|
||||||
if workflow_run is not None:
|
if workflow_run is not None:
|
||||||
# This is the usual workflow run ID we see on GitHub
|
|
||||||
workflow_run_id = workflow_run["databaseId"]
|
|
||||||
# While this is the metadata name and ID of the workflow itself
|
|
||||||
workflow_name = workflow_run["workflow"]["name"]
|
workflow_name = workflow_run["workflow"]["name"]
|
||||||
workflow_id = workflow_run["workflow"]["databaseId"]
|
|
||||||
|
|
||||||
workflow_conclusion = node["conclusion"]
|
workflow_conclusion = node["conclusion"]
|
||||||
# Do not override existing status with cancelled
|
# Do not override existing status with cancelled
|
||||||
if workflow_conclusion == "CANCELLED" and workflow_name in workflows:
|
if workflow_conclusion == "CANCELLED" and workflow_name in workflows:
|
||||||
continue
|
continue
|
||||||
|
if workflow_name not in workflows:
|
||||||
# Only keep the latest workflow run for each workflow, heuristically,
|
workflows[workflow_name] = WorkflowCheckState(
|
||||||
# it's the run with largest run ID
|
|
||||||
if (
|
|
||||||
workflow_id not in workflows
|
|
||||||
or workflows[workflow_id].run_id < workflow_run_id
|
|
||||||
):
|
|
||||||
workflows[workflow_id] = WorkflowCheckState(
|
|
||||||
name=workflow_name,
|
name=workflow_name,
|
||||||
status=workflow_conclusion,
|
status=workflow_conclusion,
|
||||||
url=workflow_run["url"],
|
url=workflow_run["url"],
|
||||||
run_id=workflow_run_id,
|
|
||||||
)
|
)
|
||||||
workflow_obj = workflows[workflow_id]
|
workflow_obj = workflows[workflow_name]
|
||||||
|
|
||||||
while checkruns is not None:
|
while checkruns is not None:
|
||||||
for checkrun_node in checkruns["nodes"]:
|
for checkrun_node in checkruns["nodes"]:
|
||||||
@ -586,12 +572,12 @@ def add_workflow_conclusions(
|
|||||||
# the jobs in but don't put the workflow in. We care more about the jobs in
|
# the jobs in but don't put the workflow in. We care more about the jobs in
|
||||||
# the workflow that ran than the container workflow.
|
# the workflow that ran than the container workflow.
|
||||||
res: JobNameToStateDict = {}
|
res: JobNameToStateDict = {}
|
||||||
for workflow in workflows.values():
|
for workflow_name, workflow in workflows.items():
|
||||||
if len(workflow.jobs) > 0:
|
if len(workflow.jobs) > 0:
|
||||||
for job_name, job in workflow.jobs.items():
|
for job_name, job in workflow.jobs.items():
|
||||||
res[job_name] = job
|
res[job_name] = job
|
||||||
else:
|
else:
|
||||||
res[workflow.name] = JobCheckState(
|
res[workflow_name] = JobCheckState(
|
||||||
workflow.name,
|
workflow.name,
|
||||||
workflow.url,
|
workflow.url,
|
||||||
workflow.status,
|
workflow.status,
|
||||||
@ -1177,6 +1163,7 @@ class GitHubPR:
|
|||||||
# Finally, upload the record to Rockset. The list of pending and failed
|
# Finally, upload the record to Rockset. The list of pending and failed
|
||||||
# checks are at the time of the merge
|
# checks are at the time of the merge
|
||||||
save_merge_record(
|
save_merge_record(
|
||||||
|
collection=ROCKSET_MERGES_COLLECTION,
|
||||||
comment_id=comment_id,
|
comment_id=comment_id,
|
||||||
pr_num=self.pr_num,
|
pr_num=self.pr_num,
|
||||||
owner=self.org,
|
owner=self.org,
|
||||||
@ -1192,8 +1179,10 @@ class GitHubPR:
|
|||||||
merge_base_sha=self.get_merge_base(),
|
merge_base_sha=self.get_merge_base(),
|
||||||
merge_commit_sha=merge_commit_sha,
|
merge_commit_sha=merge_commit_sha,
|
||||||
is_failed=False,
|
is_failed=False,
|
||||||
|
dry_run=dry_run,
|
||||||
skip_mandatory_checks=skip_mandatory_checks,
|
skip_mandatory_checks=skip_mandatory_checks,
|
||||||
ignore_current=bool(ignore_current_checks),
|
ignore_current=bool(ignore_current_checks),
|
||||||
|
workspace=ROCKSET_MERGES_WORKSPACE,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
print("Missing comment ID or PR number, couldn't upload to Rockset")
|
print("Missing comment ID or PR number, couldn't upload to Rockset")
|
||||||
@ -1500,6 +1489,7 @@ def checks_to_markdown_bullets(
|
|||||||
|
|
||||||
@retries_decorator()
|
@retries_decorator()
|
||||||
def save_merge_record(
|
def save_merge_record(
|
||||||
|
collection: str,
|
||||||
comment_id: int,
|
comment_id: int,
|
||||||
pr_num: int,
|
pr_num: int,
|
||||||
owner: str,
|
owner: str,
|
||||||
@ -1515,44 +1505,59 @@ def save_merge_record(
|
|||||||
merge_base_sha: str,
|
merge_base_sha: str,
|
||||||
merge_commit_sha: str = "",
|
merge_commit_sha: str = "",
|
||||||
is_failed: bool = False,
|
is_failed: bool = False,
|
||||||
|
dry_run: bool = False,
|
||||||
skip_mandatory_checks: bool = False,
|
skip_mandatory_checks: bool = False,
|
||||||
ignore_current: bool = False,
|
ignore_current: bool = False,
|
||||||
error: str = "",
|
error: str = "",
|
||||||
|
workspace: str = "commons",
|
||||||
) -> None:
|
) -> None:
|
||||||
"""
|
"""
|
||||||
This saves the merge records as a json, which can later be uploaded to s3
|
This saves the merge records into Rockset, so we can query them (for fun and profit)
|
||||||
"""
|
"""
|
||||||
|
if dry_run:
|
||||||
|
# Decide not to save the record to Rockset if dry-run is set to not pollute
|
||||||
|
# the collection
|
||||||
|
return
|
||||||
|
|
||||||
# Prepare the record to be written into Rockset
|
try:
|
||||||
data = [
|
import rockset # type: ignore[import]
|
||||||
{
|
|
||||||
"comment_id": comment_id,
|
|
||||||
"pr_num": pr_num,
|
|
||||||
"owner": owner,
|
|
||||||
"project": project,
|
|
||||||
"author": author,
|
|
||||||
"pending_checks": pending_checks,
|
|
||||||
"failed_checks": failed_checks,
|
|
||||||
"ignore_current_checks": ignore_current_checks,
|
|
||||||
"broken_trunk_checks": broken_trunk_checks,
|
|
||||||
"flaky_checks": flaky_checks,
|
|
||||||
"unstable_checks": unstable_checks,
|
|
||||||
"last_commit_sha": last_commit_sha,
|
|
||||||
"merge_base_sha": merge_base_sha,
|
|
||||||
"merge_commit_sha": merge_commit_sha,
|
|
||||||
"is_failed": is_failed,
|
|
||||||
"skip_mandatory_checks": skip_mandatory_checks,
|
|
||||||
"ignore_current": ignore_current,
|
|
||||||
"error": error,
|
|
||||||
# This is a unique identifier for the record for deduping purposes
|
|
||||||
# in rockset. Any unique string would work
|
|
||||||
"_id": f"{project}-{pr_num}-{comment_id}-{os.environ.get('GITHUB_RUN_ID')}",
|
|
||||||
}
|
|
||||||
]
|
|
||||||
repo_root = Path(__file__).resolve().parent.parent.parent
|
|
||||||
|
|
||||||
with open(repo_root / "merge_record.json", "w") as f:
|
# Prepare the record to be written into Rockset
|
||||||
json.dump(data, f)
|
data = [
|
||||||
|
{
|
||||||
|
"comment_id": comment_id,
|
||||||
|
"pr_num": pr_num,
|
||||||
|
"owner": owner,
|
||||||
|
"project": project,
|
||||||
|
"author": author,
|
||||||
|
"pending_checks": pending_checks,
|
||||||
|
"failed_checks": failed_checks,
|
||||||
|
"ignore_current_checks": ignore_current_checks,
|
||||||
|
"broken_trunk_checks": broken_trunk_checks,
|
||||||
|
"flaky_checks": flaky_checks,
|
||||||
|
"unstable_checks": unstable_checks,
|
||||||
|
"last_commit_sha": last_commit_sha,
|
||||||
|
"merge_base_sha": merge_base_sha,
|
||||||
|
"merge_commit_sha": merge_commit_sha,
|
||||||
|
"is_failed": is_failed,
|
||||||
|
"skip_mandatory_checks": skip_mandatory_checks,
|
||||||
|
"ignore_current": ignore_current,
|
||||||
|
"error": error,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
client = rockset.RocksetClient(
|
||||||
|
host="api.usw2a1.rockset.com", api_key=os.environ["ROCKSET_API_KEY"]
|
||||||
|
)
|
||||||
|
client.Documents.add_documents(
|
||||||
|
collection=collection,
|
||||||
|
data=data,
|
||||||
|
workspace=workspace,
|
||||||
|
)
|
||||||
|
|
||||||
|
except ModuleNotFoundError:
|
||||||
|
print("Rockset is missing, no record will be saved")
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
@retries_decorator(rc=[])
|
@retries_decorator(rc=[])
|
||||||
@ -2022,8 +2027,10 @@ def categorize_checks(
|
|||||||
pending_checks: List[Tuple[str, Optional[str], Optional[int]]] = []
|
pending_checks: List[Tuple[str, Optional[str], Optional[int]]] = []
|
||||||
failed_checks: List[Tuple[str, Optional[str], Optional[int]]] = []
|
failed_checks: List[Tuple[str, Optional[str], Optional[int]]] = []
|
||||||
|
|
||||||
# failed_checks_categorization is used to keep track of all ignorable failures when saving the merge record on Rockset
|
# ok_failed_checks is used with ok_failed_checks_threshold while ignorable_failed_checks
|
||||||
failed_checks_categorization: Dict[str, List[Any]] = defaultdict(list)
|
# is used to keep track of all ignorable failures when saving the merge record on Rockset
|
||||||
|
ok_failed_checks: List[Tuple[str, Optional[str], Optional[int]]] = []
|
||||||
|
ignorable_failed_checks: Dict[str, List[Any]] = defaultdict(list)
|
||||||
|
|
||||||
# If required_checks is not set or empty, consider all names are relevant
|
# If required_checks is not set or empty, consider all names are relevant
|
||||||
relevant_checknames = [
|
relevant_checknames = [
|
||||||
@ -2051,38 +2058,36 @@ def categorize_checks(
|
|||||||
continue
|
continue
|
||||||
elif not is_passing_status(check_runs[checkname].status):
|
elif not is_passing_status(check_runs[checkname].status):
|
||||||
target = (
|
target = (
|
||||||
failed_checks_categorization[classification]
|
ignorable_failed_checks[classification]
|
||||||
if classification
|
if classification
|
||||||
in ("IGNORE_CURRENT_CHECK", "BROKEN_TRUNK", "FLAKY", "UNSTABLE")
|
in ("IGNORE_CURRENT_CHECK", "BROKEN_TRUNK", "FLAKY", "UNSTABLE")
|
||||||
else failed_checks
|
else failed_checks
|
||||||
)
|
)
|
||||||
target.append((checkname, url, job_id))
|
target.append((checkname, url, job_id))
|
||||||
|
|
||||||
flaky_or_broken_trunk = (
|
if classification in ("BROKEN_TRUNK", "FLAKY", "UNSTABLE"):
|
||||||
failed_checks_categorization["BROKEN_TRUNK"]
|
ok_failed_checks.append((checkname, url, job_id))
|
||||||
+ failed_checks_categorization["FLAKY"]
|
|
||||||
)
|
|
||||||
|
|
||||||
if flaky_or_broken_trunk:
|
if ok_failed_checks:
|
||||||
warn(
|
warn(
|
||||||
f"The following {len(flaky_or_broken_trunk)} checks failed but were likely due flakiness or broken trunk: "
|
f"The following {len(ok_failed_checks)} checks failed but were likely due flakiness or broken trunk: "
|
||||||
+ ", ".join([x[0] for x in flaky_or_broken_trunk])
|
+ ", ".join([x[0] for x in ok_failed_checks])
|
||||||
+ (
|
+ (
|
||||||
f" but this is greater than the threshold of {ok_failed_checks_threshold} so merge will fail"
|
f" but this is greater than the threshold of {ok_failed_checks_threshold} so merge will fail"
|
||||||
if ok_failed_checks_threshold is not None
|
if ok_failed_checks_threshold is not None
|
||||||
and len(flaky_or_broken_trunk) > ok_failed_checks_threshold
|
and len(ok_failed_checks) > ok_failed_checks_threshold
|
||||||
else ""
|
else ""
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
ok_failed_checks_threshold is not None
|
ok_failed_checks_threshold is not None
|
||||||
and len(flaky_or_broken_trunk) > ok_failed_checks_threshold
|
and len(ok_failed_checks) > ok_failed_checks_threshold
|
||||||
):
|
):
|
||||||
failed_checks = failed_checks + flaky_or_broken_trunk
|
failed_checks = failed_checks + ok_failed_checks
|
||||||
|
|
||||||
# The list of failed_checks_categorization is returned so that it can be saved into the Rockset merge record
|
# The list of ignorable_failed_checks is returned so that it can be saved into the Rockset merge record
|
||||||
return (pending_checks, failed_checks, failed_checks_categorization)
|
return (pending_checks, failed_checks, ignorable_failed_checks)
|
||||||
|
|
||||||
|
|
||||||
def merge(
|
def merge(
|
||||||
@ -2325,15 +2330,6 @@ def main() -> None:
|
|||||||
dry_run=args.dry_run,
|
dry_run=args.dry_run,
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
if not pr.is_ghstack_pr() and pr.base_ref() != pr.default_branch():
|
|
||||||
gh_post_pr_comment(
|
|
||||||
org,
|
|
||||||
project,
|
|
||||||
args.pr_num,
|
|
||||||
f"PR targets {pr.base_ref()} rather than {pr.default_branch()}, refusing merge request",
|
|
||||||
dry_run=args.dry_run,
|
|
||||||
)
|
|
||||||
return
|
|
||||||
|
|
||||||
if args.check_mergeability:
|
if args.check_mergeability:
|
||||||
if pr.is_ghstack_pr():
|
if pr.is_ghstack_pr():
|
||||||
@ -2369,6 +2365,7 @@ def main() -> None:
|
|||||||
# list of pending and failed checks here, but they are not really
|
# list of pending and failed checks here, but they are not really
|
||||||
# needed at the moment
|
# needed at the moment
|
||||||
save_merge_record(
|
save_merge_record(
|
||||||
|
collection=ROCKSET_MERGES_COLLECTION,
|
||||||
comment_id=args.comment_id,
|
comment_id=args.comment_id,
|
||||||
pr_num=args.pr_num,
|
pr_num=args.pr_num,
|
||||||
owner=org,
|
owner=org,
|
||||||
@ -2383,9 +2380,11 @@ def main() -> None:
|
|||||||
last_commit_sha=pr.last_commit().get("oid", ""),
|
last_commit_sha=pr.last_commit().get("oid", ""),
|
||||||
merge_base_sha=pr.get_merge_base(),
|
merge_base_sha=pr.get_merge_base(),
|
||||||
is_failed=True,
|
is_failed=True,
|
||||||
|
dry_run=args.dry_run,
|
||||||
skip_mandatory_checks=args.force,
|
skip_mandatory_checks=args.force,
|
||||||
ignore_current=args.ignore_current,
|
ignore_current=args.ignore_current,
|
||||||
error=str(e),
|
error=str(e),
|
||||||
|
workspace=ROCKSET_MERGES_WORKSPACE,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
print("Missing comment ID or PR number, couldn't upload to Rockset")
|
print("Missing comment ID or PR number, couldn't upload to Rockset")
|
||||||
|
|||||||
@ -58,7 +58,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
uses: ./.github/workflows/_binary-build-linux.yml
|
||||||
with:!{{ upload.binary_env_as_input(config) }}
|
with:!{{ upload.binary_env_as_input(config) }}
|
||||||
{%- if "aarch64" in build_environment %}
|
{%- if "aarch64" in build_environment %}
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
runs_on: linux.arm64.2xlarge
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
{%- elif "s390x" in build_environment %}
|
{%- elif "s390x" in build_environment %}
|
||||||
runs_on: linux.s390x
|
runs_on: linux.s390x
|
||||||
@ -71,17 +71,12 @@ jobs:
|
|||||||
{%- if config.pytorch_extra_install_requirements is defined and config.pytorch_extra_install_requirements|d('')|length > 0 %}
|
{%- if config.pytorch_extra_install_requirements is defined and config.pytorch_extra_install_requirements|d('')|length > 0 %}
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: !{{ config.pytorch_extra_install_requirements }}
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: !{{ config.pytorch_extra_install_requirements }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if config["gpu_arch_type"] == "cuda-aarch64" %}
|
|
||||||
timeout-minutes: 420
|
|
||||||
{%- endif %}
|
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
{%- if config["gpu_arch_type"] != "cuda-aarch64" %}
|
|
||||||
!{{ config["build_name"] }}-test: # Testing
|
!{{ config["build_name"] }}-test: # Testing
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
needs: !{{ config["build_name"] }}-build
|
needs: !{{ config["build_name"] }}-build
|
||||||
{%- if config["gpu_arch_type"] != "rocm" %}
|
{%- if config["gpu_arch_type"] != "rocm" %}
|
||||||
uses: ./.github/workflows/_binary-test-linux.yml
|
uses: ./.github/workflows/_binary-test-linux.yml
|
||||||
with:!{{ upload.binary_env_as_input(config) }}
|
with:!{{ upload.binary_env_as_input(config) }}
|
||||||
build_name: !{{ config["build_name"] }}
|
build_name: !{{ config["build_name"] }}
|
||||||
@ -101,7 +96,7 @@ jobs:
|
|||||||
{%- endif %}
|
{%- endif %}
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
{%- else %}
|
{%- else %}
|
||||||
runs-on: linux.rocm.gpu
|
runs-on: linux.rocm.gpu
|
||||||
timeout-minutes: !{{ common.timeout_minutes }}
|
timeout-minutes: !{{ common.timeout_minutes }}
|
||||||
!{{ upload.binary_env(config) }}
|
!{{ upload.binary_env(config) }}
|
||||||
@ -126,8 +121,7 @@ jobs:
|
|||||||
uses: ./pytorch/.github/actions/test-pytorch-binary
|
uses: ./pytorch/.github/actions/test-pytorch-binary
|
||||||
- name: Teardown ROCm
|
- name: Teardown ROCm
|
||||||
uses: ./.github/actions/teardown-rocm
|
uses: ./.github/actions/teardown-rocm
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if branches == "nightly" %}
|
{%- if branches == "nightly" %}
|
||||||
!{{ upload.upload_binaries(config) }}
|
!{{ upload.upload_binaries(config) }}
|
||||||
|
|||||||
8
.github/templates/upload.yml.j2
vendored
8
.github/templates/upload.yml.j2
vendored
@ -30,9 +30,6 @@
|
|||||||
{%- if config["devtoolset"] %}
|
{%- if config["devtoolset"] %}
|
||||||
DESIRED_DEVTOOLSET: !{{ config["devtoolset"] }}
|
DESIRED_DEVTOOLSET: !{{ config["devtoolset"] }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if config.use_split_build is defined %}
|
|
||||||
use_split_build: !{{ config["use_split_build"] }}
|
|
||||||
{%- endif %}
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if config["package_type"] == "libtorch" %}
|
{%- if config["package_type"] == "libtorch" %}
|
||||||
{%- if config["libtorch_config"] %}
|
{%- if config["libtorch_config"] %}
|
||||||
@ -47,7 +44,6 @@
|
|||||||
# without this value pip does not get installed for some reason
|
# without this value pip does not get installed for some reason
|
||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{%- else %}
|
{%- else %}
|
||||||
DESIRED_PYTHON: "!{{ config["python_version"] }}"
|
DESIRED_PYTHON: "!{{ config["python_version"] }}"
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
@ -61,11 +57,7 @@
|
|||||||
id-token: write
|
id-token: write
|
||||||
contents: read
|
contents: read
|
||||||
{%- if has_test %}
|
{%- if has_test %}
|
||||||
{%- if config["gpu_arch_type"] == "cuda-aarch64" %}
|
|
||||||
needs: !{{ config["build_name"] }}-build
|
|
||||||
{%- else %}
|
|
||||||
needs: !{{ config["build_name"] }}-test
|
needs: !{{ config["build_name"] }}-test
|
||||||
{%- endif %}
|
|
||||||
{%- else %}
|
{%- else %}
|
||||||
needs: !{{ config["build_name"] }}-build
|
needs: !{{ config["build_name"] }}-build
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|||||||
7
.github/workflows/_bazel-build-test.yml
vendored
7
.github/workflows/_bazel-build-test.yml
vendored
@ -27,11 +27,6 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
description: |
|
description: |
|
||||||
A JSON description of what configs to run later on.
|
A JSON description of what configs to run later on.
|
||||||
runner:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: "linux.large"
|
|
||||||
description: Runner type
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GIT_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
|
GIT_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
|
||||||
@ -39,7 +34,7 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
filter:
|
filter:
|
||||||
if: github.repository_owner == 'pytorch'
|
if: github.repository_owner == 'pytorch'
|
||||||
runs-on: ${{ inputs.runner }}
|
runs-on: [self-hosted, linux.large]
|
||||||
outputs:
|
outputs:
|
||||||
test-matrix: ${{ steps.filter.outputs.test-matrix }}
|
test-matrix: ${{ steps.filter.outputs.test-matrix }}
|
||||||
is-test-matrix-empty: ${{ steps.filter.outputs.is-test-matrix-empty }}
|
is-test-matrix-empty: ${{ steps.filter.outputs.is-test-matrix-empty }}
|
||||||
|
|||||||
25
.github/workflows/_binary-build-linux.yml
vendored
25
.github/workflows/_binary-build-linux.yml
vendored
@ -12,22 +12,10 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
description: The build environment
|
description: The build environment
|
||||||
runs_on:
|
runs_on:
|
||||||
required: false
|
required: false
|
||||||
default: linux.12xlarge
|
default: linux.12xlarge
|
||||||
type: string
|
type: string
|
||||||
description: Hardware to run this "build"job on, linux.12xlarge or linux.arm64.2xlarge.
|
description: Hardware to run this "build"job on, linux.12xlarge or linux.arm64.2xlarge.
|
||||||
timeout-minutes:
|
|
||||||
required: false
|
|
||||||
default: 210
|
|
||||||
type: number
|
|
||||||
description: timeout for the job
|
|
||||||
use_split_build:
|
|
||||||
description: |
|
|
||||||
[Experimental] Build a libtorch only wheel and build pytorch such that
|
|
||||||
are built from the libtorch wheel.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
ALPINE_IMAGE:
|
ALPINE_IMAGE:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
@ -90,7 +78,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ${{ inputs.runs_on }}
|
runs-on: ${{ inputs.runs_on }}
|
||||||
timeout-minutes: ${{ inputs.timeout-minutes }}
|
timeout-minutes: 210
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ inputs.PYTORCH_ROOT }}
|
PYTORCH_ROOT: ${{ inputs.PYTORCH_ROOT }}
|
||||||
BUILDER_ROOT: ${{ inputs.BUILDER_ROOT }}
|
BUILDER_ROOT: ${{ inputs.BUILDER_ROOT }}
|
||||||
@ -117,7 +105,6 @@ jobs:
|
|||||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
|
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
|
||||||
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
|
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||||
USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Make the env permanent during this workflow (but not the secrets)
|
- name: Make the env permanent during this workflow (but not the secrets)
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -145,7 +132,6 @@ jobs:
|
|||||||
echo "PR_NUMBER=${{ env.PR_NUMBER }}"
|
echo "PR_NUMBER=${{ env.PR_NUMBER }}"
|
||||||
echo "PYTORCH_FINAL_PACKAGE_DIR=${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
|
echo "PYTORCH_FINAL_PACKAGE_DIR=${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
|
||||||
echo "SHA1=${{ env.SHA1 }}"
|
echo "SHA1=${{ env.SHA1 }}"
|
||||||
echo "USE_SPLIT_BUILD=${{ env.use_split_build }}"
|
|
||||||
} >> "${GITHUB_ENV} }}"
|
} >> "${GITHUB_ENV} }}"
|
||||||
|
|
||||||
- name: List the env
|
- name: List the env
|
||||||
@ -255,7 +241,6 @@ jobs:
|
|||||||
-e PYTORCH_ROOT \
|
-e PYTORCH_ROOT \
|
||||||
-e SKIP_ALL_TESTS \
|
-e SKIP_ALL_TESTS \
|
||||||
-e PYTORCH_EXTRA_INSTALL_REQUIREMENTS \
|
-e PYTORCH_EXTRA_INSTALL_REQUIREMENTS \
|
||||||
-e USE_SPLIT_BUILD \
|
|
||||||
--tty \
|
--tty \
|
||||||
--detach \
|
--detach \
|
||||||
-v "${GITHUB_WORKSPACE}/pytorch:/pytorch" \
|
-v "${GITHUB_WORKSPACE}/pytorch:/pytorch" \
|
||||||
|
|||||||
9
.github/workflows/_binary-test-linux.yml
vendored
9
.github/workflows/_binary-test-linux.yml
vendored
@ -63,13 +63,6 @@ on:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: Hardware to run this job on. Valid values are linux.4xlarge, linux.4xlarge.nvidia.gpu, linux.arm64.2xlarge, and linux.rocm.gpu
|
description: Hardware to run this job on. Valid values are linux.4xlarge, linux.4xlarge.nvidia.gpu, linux.arm64.2xlarge, and linux.rocm.gpu
|
||||||
use_split_build:
|
|
||||||
description: |
|
|
||||||
[Experimental] Build a libtorch only wheel and build pytorch such that
|
|
||||||
are built from the libtorch wheel.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
secrets:
|
secrets:
|
||||||
github-token:
|
github-token:
|
||||||
required: true
|
required: true
|
||||||
@ -104,7 +97,6 @@ jobs:
|
|||||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
|
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
|
||||||
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
|
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||||
USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Make the env permanent during this workflow (but not the secrets)
|
- name: Make the env permanent during this workflow (but not the secrets)
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -132,7 +124,6 @@ jobs:
|
|||||||
echo "PR_NUMBER=${{ env.PR_NUMBER }}"
|
echo "PR_NUMBER=${{ env.PR_NUMBER }}"
|
||||||
echo "PYTORCH_FINAL_PACKAGE_DIR=${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
|
echo "PYTORCH_FINAL_PACKAGE_DIR=${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
|
||||||
echo "SHA1=${{ env.SHA1 }}"
|
echo "SHA1=${{ env.SHA1 }}"
|
||||||
echo "USE_SPLIT_BUILD=${{ env.USE_SPLIT_BUILD }}"
|
|
||||||
} >> "${GITHUB_ENV} }}"
|
} >> "${GITHUB_ENV} }}"
|
||||||
|
|
||||||
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
|
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
|
||||||
|
|||||||
8
.github/workflows/_binary-upload.yml
vendored
8
.github/workflows/_binary-upload.yml
vendored
@ -55,13 +55,6 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: Desired python version
|
description: Desired python version
|
||||||
use_split_build:
|
|
||||||
description: |
|
|
||||||
[Experimental] Build a libtorch only wheel and build pytorch such that
|
|
||||||
are built from the libtorch wheel.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
secrets:
|
secrets:
|
||||||
github-token:
|
github-token:
|
||||||
required: true
|
required: true
|
||||||
@ -100,7 +93,6 @@ jobs:
|
|||||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
|
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
|
||||||
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
|
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||||
USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PyTorch
|
- name: Checkout PyTorch
|
||||||
uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
|
uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
|
||||||
|
|||||||
8
.github/workflows/_linux-build-label.yml
vendored
8
.github/workflows/_linux-build-label.yml
vendored
@ -56,13 +56,6 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
use_split_build:
|
|
||||||
description: |
|
|
||||||
[Experimental] Build a libtorch only wheel and build pytorch such that
|
|
||||||
are built from the libtorch wheel.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
secrets:
|
secrets:
|
||||||
HUGGING_FACE_HUB_TOKEN:
|
HUGGING_FACE_HUB_TOKEN:
|
||||||
required: false
|
required: false
|
||||||
@ -114,4 +107,3 @@ jobs:
|
|||||||
aws-role-to-assume: ${{ inputs.aws-role-to-assume }}
|
aws-role-to-assume: ${{ inputs.aws-role-to-assume }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
||||||
use_split_build: ${{ inputs.use_split_build }}
|
|
||||||
|
|||||||
24
.github/workflows/_linux-build.yml
vendored
24
.github/workflows/_linux-build.yml
vendored
@ -39,7 +39,7 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
default: "linux.2xlarge"
|
default: "linux.2xlarge"
|
||||||
description: |
|
description: |
|
||||||
Label of the runner this job should run on.
|
List of CUDA architectures CI build should target.
|
||||||
test-matrix:
|
test-matrix:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
@ -64,14 +64,6 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
use_split_build:
|
|
||||||
description: |
|
|
||||||
[Experimental] Build a libtorch only wheel and build pytorch such that
|
|
||||||
are built from the libtorch wheel.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
HUGGING_FACE_HUB_TOKEN:
|
HUGGING_FACE_HUB_TOKEN:
|
||||||
required: false
|
required: false
|
||||||
@ -189,7 +181,6 @@ jobs:
|
|||||||
DEBUG: ${{ inputs.build-with-debug && '1' || '0' }}
|
DEBUG: ${{ inputs.build-with-debug && '1' || '0' }}
|
||||||
OUR_GITHUB_JOB_ID: ${{ steps.get-job-id.outputs.job-id }}
|
OUR_GITHUB_JOB_ID: ${{ steps.get-job-id.outputs.job-id }}
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
||||||
USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
|
|
||||||
run: |
|
run: |
|
||||||
# detached container should get cleaned up by teardown_ec2_linux
|
# detached container should get cleaned up by teardown_ec2_linux
|
||||||
container_name=$(docker run \
|
container_name=$(docker run \
|
||||||
@ -208,7 +199,6 @@ jobs:
|
|||||||
-e PR_LABELS \
|
-e PR_LABELS \
|
||||||
-e OUR_GITHUB_JOB_ID \
|
-e OUR_GITHUB_JOB_ID \
|
||||||
-e HUGGING_FACE_HUB_TOKEN \
|
-e HUGGING_FACE_HUB_TOKEN \
|
||||||
-e USE_SPLIT_BUILD \
|
|
||||||
--env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
|
--env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
|
||||||
--security-opt seccomp=unconfined \
|
--security-opt seccomp=unconfined \
|
||||||
--cap-add=SYS_PTRACE \
|
--cap-add=SYS_PTRACE \
|
||||||
@ -228,7 +218,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Store PyTorch Build Artifacts on S3
|
- name: Store PyTorch Build Artifacts on S3
|
||||||
uses: seemethere/upload-artifact-s3@v5
|
uses: seemethere/upload-artifact-s3@v5
|
||||||
if: inputs.build-generates-artifacts && steps.build.outcome != 'skipped' && inputs.use_split_build != 'true'
|
if: inputs.build-generates-artifacts && steps.build.outcome != 'skipped'
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.build-environment }}
|
name: ${{ inputs.build-environment }}
|
||||||
retention-days: 14
|
retention-days: 14
|
||||||
@ -236,16 +226,6 @@ jobs:
|
|||||||
path: artifacts.zip
|
path: artifacts.zip
|
||||||
s3-bucket: ${{ inputs.s3-bucket }}
|
s3-bucket: ${{ inputs.s3-bucket }}
|
||||||
|
|
||||||
- name: Store PyTorch Build Artifacts on S3
|
|
||||||
uses: seemethere/upload-artifact-s3@v5
|
|
||||||
if: inputs.build-generates-artifacts && steps.build.outcome != 'skipped' && inputs.use_split_build == 'true'
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.build-environment }}-experimental-split-build
|
|
||||||
retention-days: 14
|
|
||||||
if-no-files-found: error
|
|
||||||
path: artifacts.zip
|
|
||||||
s3-bucket: ${{ inputs.s3-bucket }}
|
|
||||||
|
|
||||||
- name: Upload sccache stats
|
- name: Upload sccache stats
|
||||||
if: steps.build.outcome != 'skipped'
|
if: steps.build.outcome != 'skipped'
|
||||||
uses: seemethere/upload-artifact-s3@v5
|
uses: seemethere/upload-artifact-s3@v5
|
||||||
|
|||||||
272
.github/workflows/_runner-determinator.yml
vendored
272
.github/workflows/_runner-determinator.yml
vendored
@ -3,272 +3,39 @@ name: Check whether the workflow owner can use ARC runners
|
|||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
triggering_actor:
|
user_name:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: The triggering_actor for the workflow. Use github.triggering_actor
|
description: The name of the workflow owner.
|
||||||
issue_owner:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
description: The owner of the issue. Use github.event.pull_request.user.login || github.event.issue.user.login
|
|
||||||
curr_branch:
|
curr_branch:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: Current branch or tag.
|
description: Current branch.
|
||||||
curr_ref_type:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: branch
|
|
||||||
description: The value of "github.ref_type", "branch" or "tag"
|
|
||||||
issue_number:
|
issue_number:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: "5132"
|
default: "5132"
|
||||||
description: |
|
|
||||||
Fetch's GitHub Issue from pytorch/test-infra
|
|
||||||
Example: https://github.com/pytorch/test-infra/issues/5132
|
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
label-type:
|
workflow-type:
|
||||||
description: Type of runners to use
|
description: Type of runners to use
|
||||||
value: ${{ jobs.runner-determinator.outputs.label-type }}
|
value: ${{ jobs.runner-determinator.outputs.workflow-type }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
runner-determinator:
|
runner-determinator:
|
||||||
runs-on: ubuntu-latest
|
runs-on: linux.4xlarge
|
||||||
outputs:
|
outputs:
|
||||||
label-type: ${{ steps.set-condition.outputs.label-type }}
|
workflow-type: ${{ steps.set-condition.outputs.workflow-type }}
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
ISSUE_NUMBER: ${{ inputs.issue_number }}
|
ISSUE_NUMBER: ${{ inputs.issue_number }}
|
||||||
TRIGGERING_ACTOR: ${{ inputs.triggering_actor }}
|
USERNAME: ${{ inputs.user_name }}
|
||||||
ISSUE_OWNER: ${{ inputs.issue_owner }}
|
|
||||||
steps:
|
steps:
|
||||||
# - name: Checkout PyTorch
|
- name: Checkout PyTorch
|
||||||
# uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
|
uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
|
||||||
# with:
|
with:
|
||||||
# fetch-depth: 1
|
fetch-depth: 1
|
||||||
# submodules: true
|
submodules: true
|
||||||
|
|
||||||
# TODO: Remove the hardcoded step below
|
|
||||||
# Hardcoding below is temporary for testing ALI runners
|
|
||||||
# This file below should match the script found in .github/scripts/runner_determinator.py
|
|
||||||
- name: Hardcode runner-determinator script
|
|
||||||
run: |
|
|
||||||
cat <<EOF > runner_determinator.py
|
|
||||||
# flake8: noqa: G004
|
|
||||||
|
|
||||||
import logging
|
|
||||||
import os
|
|
||||||
from argparse import ArgumentParser
|
|
||||||
from logging import LogRecord
|
|
||||||
from typing import Any, Iterable
|
|
||||||
|
|
||||||
from github import Auth, Github
|
|
||||||
from github.Issue import Issue
|
|
||||||
|
|
||||||
|
|
||||||
WORKFLOW_LABEL_META = "" # use meta runners
|
|
||||||
WORKFLOW_LABEL_LF = "lf." # use runners from the linux foundation
|
|
||||||
|
|
||||||
GITHUB_OUTPUT = os.getenv("GITHUB_OUTPUT", "")
|
|
||||||
GH_OUTPUT_KEY_LABEL_TYPE = "label-type"
|
|
||||||
|
|
||||||
|
|
||||||
class ColorFormatter(logging.Formatter):
|
|
||||||
"""Color codes the log messages based on the log level"""
|
|
||||||
|
|
||||||
COLORS = {
|
|
||||||
"WARNING": "\033[33m", # Yellow
|
|
||||||
"ERROR": "\033[31m", # Red
|
|
||||||
"CRITICAL": "\033[31m", # Red
|
|
||||||
"INFO": "\033[0m", # Reset
|
|
||||||
"DEBUG": "\033[0m", # Reset
|
|
||||||
}
|
|
||||||
|
|
||||||
def format(self, record: LogRecord) -> str:
|
|
||||||
log_color = self.COLORS.get(record.levelname, "\033[0m") # Default to reset
|
|
||||||
record.msg = f"{log_color}{record.msg}\033[0m"
|
|
||||||
return super().format(record)
|
|
||||||
|
|
||||||
|
|
||||||
handler = logging.StreamHandler()
|
|
||||||
handler.setFormatter(ColorFormatter(fmt="%(levelname)-8s: %(message)s"))
|
|
||||||
|
|
||||||
log = logging.getLogger(os.path.basename(__file__))
|
|
||||||
log.addHandler(handler)
|
|
||||||
log.setLevel(logging.INFO)
|
|
||||||
|
|
||||||
|
|
||||||
def set_github_output(key: str, value: str) -> None:
|
|
||||||
"""
|
|
||||||
Defines outputs of the github action that invokes this script
|
|
||||||
"""
|
|
||||||
if not GITHUB_OUTPUT:
|
|
||||||
# See https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ for deprecation notice
|
|
||||||
log.warning(
|
|
||||||
"No env var found for GITHUB_OUTPUT, you must be running this code locally. Falling back to the deprecated print method."
|
|
||||||
)
|
|
||||||
print(f"::set-output name={key}::{value}")
|
|
||||||
return
|
|
||||||
|
|
||||||
with open(GITHUB_OUTPUT, "a") as f:
|
|
||||||
log.info(f"Setting output: {key}='{value}'")
|
|
||||||
f.write(f"{key}={value}\n")
|
|
||||||
|
|
||||||
|
|
||||||
def parse_args() -> Any:
|
|
||||||
parser = ArgumentParser("Get dynamic rollout settings")
|
|
||||||
parser.add_argument("--github-token", type=str, required=True, help="GitHub token")
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-issue-repo",
|
|
||||||
type=str,
|
|
||||||
required=False,
|
|
||||||
default="pytorch/test-infra",
|
|
||||||
help="GitHub repo to get the issue",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-repo",
|
|
||||||
type=str,
|
|
||||||
required=True,
|
|
||||||
help="GitHub repo where CI is running",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-issue", type=int, required=True, help="GitHub issue number"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-actor", type=str, required=True, help="GitHub triggering_actor"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-issue-owner", type=str, required=True, help="GitHub issue owner"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-branch", type=str, required=True, help="Current GitHub branch or tag"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--github-ref-type",
|
|
||||||
type=str,
|
|
||||||
required=True,
|
|
||||||
help="Current GitHub ref type, branch or tag",
|
|
||||||
)
|
|
||||||
|
|
||||||
return parser.parse_args()
|
|
||||||
|
|
||||||
|
|
||||||
def get_gh_client(github_token: str) -> Github:
|
|
||||||
auth = Auth.Token(github_token)
|
|
||||||
return Github(auth=auth)
|
|
||||||
|
|
||||||
|
|
||||||
def get_issue(gh: Github, repo: str, issue_num: int) -> Issue:
|
|
||||||
repo = gh.get_repo(repo)
|
|
||||||
return repo.get_issue(number=issue_num)
|
|
||||||
|
|
||||||
|
|
||||||
def get_potential_pr_author(
|
|
||||||
gh: Github, repo: str, username: str, ref_type: str, ref_name: str
|
|
||||||
) -> str:
|
|
||||||
# If the trigger was a new tag added by a bot, this is a ciflow case
|
|
||||||
# Fetch the actual username from the original PR. The PR number is
|
|
||||||
# embedded in the tag name: ciflow/<name>/<pr-number>
|
|
||||||
if username == "pytorch-bot[bot]" and ref_type == "tag":
|
|
||||||
split_tag = ref_name.split("/")
|
|
||||||
if (
|
|
||||||
len(split_tag) == 3
|
|
||||||
and split_tag[0] == "ciflow"
|
|
||||||
and split_tag[2].isnumeric()
|
|
||||||
):
|
|
||||||
pr_number = split_tag[2]
|
|
||||||
try:
|
|
||||||
repository = gh.get_repo(repo)
|
|
||||||
pull = repository.get_pull(number=int(pr_number))
|
|
||||||
except Exception as e:
|
|
||||||
raise Exception( # noqa: TRY002
|
|
||||||
f"issue with pull request {pr_number} from repo {repository}"
|
|
||||||
) from e
|
|
||||||
return pull.user.login
|
|
||||||
# In all other cases, return the original input username
|
|
||||||
return username
|
|
||||||
|
|
||||||
|
|
||||||
def is_exception_branch(branch: str) -> bool:
|
|
||||||
return branch.split("/")[0] in {"main", "nightly", "release", "landchecks"}
|
|
||||||
|
|
||||||
|
|
||||||
def get_workflow_type(issue: Issue, workflow_requestors: Iterable[str]) -> str:
|
|
||||||
try:
|
|
||||||
first_comment = issue.get_comments()[0].body.strip("\n\t ")
|
|
||||||
|
|
||||||
if first_comment[0] == "!":
|
|
||||||
log.info("LF Workflows are disabled for everyone. Using meta runners.")
|
|
||||||
return WORKFLOW_LABEL_META
|
|
||||||
elif first_comment[0] == "*":
|
|
||||||
log.info("LF Workflows are enabled for everyone. Using LF runners.")
|
|
||||||
return WORKFLOW_LABEL_LF
|
|
||||||
else:
|
|
||||||
all_opted_in_users = {
|
|
||||||
usr_raw.strip("\n\t@ ") for usr_raw in first_comment.split()
|
|
||||||
}
|
|
||||||
opted_in_requestors = {
|
|
||||||
usr for usr in workflow_requestors if usr in all_opted_in_users
|
|
||||||
}
|
|
||||||
if opted_in_requestors:
|
|
||||||
log.info(
|
|
||||||
f"LF Workflows are enabled for {', '.join(opted_in_requestors)}. Using LF runners."
|
|
||||||
)
|
|
||||||
return WORKFLOW_LABEL_LF
|
|
||||||
else:
|
|
||||||
log.info(
|
|
||||||
f"LF Workflows are disabled for {', '.join(workflow_requestors)}. Using meta runners."
|
|
||||||
)
|
|
||||||
return WORKFLOW_LABEL_META
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
log.error(
|
|
||||||
f"Failed to get determine workflow type. Falling back to meta runners. Exception: {e}"
|
|
||||||
)
|
|
||||||
return WORKFLOW_LABEL_META
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
|
||||||
args = parse_args()
|
|
||||||
|
|
||||||
if args.github_ref_type == "branch" and is_exception_branch(args.github_branch):
|
|
||||||
log.info(f"Exception branch: '{args.github_branch}', using meta runners")
|
|
||||||
label_type = WORKFLOW_LABEL_META
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
gh = get_gh_client(args.github_token)
|
|
||||||
# The default issue we use - https://github.com/pytorch/test-infra/issues/5132
|
|
||||||
issue = get_issue(gh, args.github_issue_repo, args.github_issue)
|
|
||||||
username = get_potential_pr_author(
|
|
||||||
gh,
|
|
||||||
args.github_repo,
|
|
||||||
args.github_actor,
|
|
||||||
args.github_ref_type,
|
|
||||||
args.github_branch,
|
|
||||||
)
|
|
||||||
label_type = get_workflow_type(
|
|
||||||
issue,
|
|
||||||
(
|
|
||||||
args.github_issue_owner,
|
|
||||||
username,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
except Exception as e:
|
|
||||||
log.error(
|
|
||||||
f"Failed to get issue. Falling back to meta runners. Exception: {e}"
|
|
||||||
)
|
|
||||||
label_type = WORKFLOW_LABEL_META
|
|
||||||
|
|
||||||
set_github_output(GH_OUTPUT_KEY_LABEL_TYPE, label_type)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat runner_determinator.py
|
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: python3 -m pip install urllib3==1.26.18 PyGithub==2.3.0
|
run: python3 -m pip install urllib3==1.26.18 PyGithub==2.3.0
|
||||||
@ -277,14 +44,15 @@ jobs:
|
|||||||
id: set-condition
|
id: set-condition
|
||||||
run: |
|
run: |
|
||||||
curr_branch="${{ inputs.curr_branch }}"
|
curr_branch="${{ inputs.curr_branch }}"
|
||||||
curr_ref_type="${{ inputs.curr_ref_type }}"
|
|
||||||
echo "Current branch is '$curr_branch'"
|
echo "Current branch is '$curr_branch'"
|
||||||
|
|
||||||
python3 runner_determinator.py \
|
output="$(python3 .github/scripts/get_workflow_type.py \
|
||||||
--github-token "$GITHUB_TOKEN" \
|
--github-token "$GITHUB_TOKEN" \
|
||||||
--github-issue "$ISSUE_NUMBER" \
|
--github-issue "$ISSUE_NUMBER" \
|
||||||
--github-branch "$curr_branch" \
|
--github-branch "$curr_branch" \
|
||||||
--github-actor "$TRIGGERING_ACTOR" \
|
--github-user "$USERNAME")"
|
||||||
--github-issue-owner "$ISSUE_OWNER" \
|
|
||||||
--github-ref-type "$curr_ref_type" \
|
echo "Output: '${output}'"
|
||||||
--github-repo "$GITHUB_REPOSITORY"
|
|
||||||
|
WORKFLOW_TYPE=$(echo "${output}" | jq -r '.workflow_type')
|
||||||
|
echo "workflow-type=$WORKFLOW_TYPE" >> "$GITHUB_OUTPUT"
|
||||||
|
|||||||
12
.github/workflows/_win-build.yml
vendored
12
.github/workflows/_win-build.yml
vendored
@ -30,12 +30,6 @@ on:
|
|||||||
An option JSON description of what test configs to run later on. This
|
An option JSON description of what test configs to run later on. This
|
||||||
is moved here from the Linux test workflow so that we can apply filter
|
is moved here from the Linux test workflow so that we can apply filter
|
||||||
logic using test-config labels earlier and skip unnecessary builds
|
logic using test-config labels earlier and skip unnecessary builds
|
||||||
runner:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: "windows.4xlarge.nonephemeral"
|
|
||||||
description: |
|
|
||||||
Label of the runner this job should run on.
|
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
test-matrix:
|
test-matrix:
|
||||||
@ -49,13 +43,10 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
# Don't run on forked repos.
|
# Don't run on forked repos.
|
||||||
if: github.repository_owner == 'pytorch'
|
if: github.repository_owner == 'pytorch'
|
||||||
runs-on: ${{ inputs.runner }}
|
runs-on: [self-hosted, windows.4xlarge.nonephemeral]
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
outputs:
|
outputs:
|
||||||
test-matrix: ${{ steps.filter.outputs.test-matrix }}
|
test-matrix: ${{ steps.filter.outputs.test-matrix }}
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash
|
|
||||||
steps:
|
steps:
|
||||||
# Duplicated in win-test because this MUST go before a checkout
|
# Duplicated in win-test because this MUST go before a checkout
|
||||||
- name: Enable git symlinks on Windows and disable fsmonitor daemon
|
- name: Enable git symlinks on Windows and disable fsmonitor daemon
|
||||||
@ -98,7 +89,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Parse ref
|
- name: Parse ref
|
||||||
id: parse-ref
|
id: parse-ref
|
||||||
shell: bash
|
|
||||||
run: python3 .github/scripts/parse_ref.py
|
run: python3 .github/scripts/parse_ref.py
|
||||||
|
|
||||||
- name: Get workflow job id
|
- name: Get workflow job id
|
||||||
|
|||||||
4
.github/workflows/_win-test.yml
vendored
4
.github/workflows/_win-test.yml
vendored
@ -41,9 +41,6 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
runs-on: ${{ matrix.runner }}
|
runs-on: ${{ matrix.runner }}
|
||||||
timeout-minutes: ${{ matrix.mem_leak_check == 'mem_leak_check' && 600 || inputs.timeout-minutes }}
|
timeout-minutes: ${{ matrix.mem_leak_check == 'mem_leak_check' && 600 || inputs.timeout-minutes }}
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash
|
|
||||||
steps:
|
steps:
|
||||||
# Duplicated in win-build because this MUST go before a checkout
|
# Duplicated in win-build because this MUST go before a checkout
|
||||||
- name: Enable git symlinks on Windows and disable fsmonitor daemon
|
- name: Enable git symlinks on Windows and disable fsmonitor daemon
|
||||||
@ -227,7 +224,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Parse ref
|
- name: Parse ref
|
||||||
id: parse-ref
|
id: parse-ref
|
||||||
shell: bash
|
|
||||||
run: python3 .github/scripts/parse_ref.py
|
run: python3 .github/scripts/parse_ref.py
|
||||||
|
|
||||||
- name: Uninstall PyTorch
|
- name: Uninstall PyTorch
|
||||||
|
|||||||
8
.github/workflows/assigntome-docathon.yml
vendored
8
.github/workflows/assigntome-docathon.yml
vendored
@ -8,8 +8,6 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
assign:
|
assign:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
|
||||||
issues: write
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check for "/assigntome" in comment
|
- name: Check for "/assigntome" in comment
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v6
|
||||||
@ -28,14 +26,14 @@ jobs:
|
|||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
issue_number: issueNumber
|
issue_number: issueNumber
|
||||||
});
|
});
|
||||||
const hasLabel = issue.labels.some(label => label.name === 'docathon-h1-2024');
|
const hasLabel = issue.labels.some(label => label.name === 'docathon-h2-2023');
|
||||||
if (hasLabel) {
|
if (hasLabel) {
|
||||||
if (issue.assignee !== null) {
|
if (issue.assignee !== null) {
|
||||||
await github.rest.issues.createComment({
|
await github.rest.issues.createComment({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
issue_number: issueNumber,
|
issue_number: issueNumber,
|
||||||
body: "The issue is already assigned. Please pick an opened and unnasigned issue with the [docathon-h1-2024 label](https://github.com/pytorch/pytorch/issues?q=is%3Aopen+is%3Aissue+label%3Adocathon-h1-2024)."
|
body: "The issue is already assigned. Please pick an opened and unnasigned issue with the [docathon-h2-2023 label](https://github.com/pytorch/pytorch/issues?q=is%3Aopen+is%3Aissue+label%3Adocathon-h2-2023)."
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
await github.rest.issues.addAssignees({
|
await github.rest.issues.addAssignees({
|
||||||
@ -46,7 +44,7 @@ jobs:
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const commmentMessage = "This issue does not have the correct label. Please pick an opened and unnasigned issue with the [docathon-h1-2024 label](https://github.com/pytorch/pytorch/issues?q=is%3Aopen+is%3Aissue+label%3Adocathon-h1-2024)."
|
const commmentMessage = "This issue does not have the correct label. Please pick an opened and unnasigned issue with the [docathon-h2-2023 label](https://github.com/pytorch/pytorch/issues?q=is%3Aopen+is%3Aissue+label%3Adocathon-h2-2023)."
|
||||||
await github.rest.issues.createComment({
|
await github.rest.issues.createComment({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
|
|||||||
4
.github/workflows/build-ios-binaries.yml
vendored
4
.github/workflows/build-ios-binaries.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
|||||||
{ config: "default",
|
{ config: "default",
|
||||||
shard: 1,
|
shard: 1,
|
||||||
num_shards: 1,
|
num_shards: 1,
|
||||||
runner: "macos-14-xlarge",
|
runner: "macos-13-xlarge",
|
||||||
ios_platform: "SIMULATOR",
|
ios_platform: "SIMULATOR",
|
||||||
ios_arch: "arm64",
|
ios_arch: "arm64",
|
||||||
use_lite_interpreter: ${{ inputs.use_lite_interpreter || 1 }},
|
use_lite_interpreter: ${{ inputs.use_lite_interpreter || 1 }},
|
||||||
@ -60,7 +60,7 @@ jobs:
|
|||||||
{ config: "default",
|
{ config: "default",
|
||||||
shard: 1,
|
shard: 1,
|
||||||
num_shards: 1,
|
num_shards: 1,
|
||||||
runner: "macos-14-xlarge",
|
runner: "macos-13-xlarge",
|
||||||
ios_platform: "OS",
|
ios_platform: "OS",
|
||||||
ios_arch: "arm64",
|
ios_arch: "arm64",
|
||||||
use_lite_interpreter: ${{ inputs.use_lite_interpreter || 1 }},
|
use_lite_interpreter: ${{ inputs.use_lite_interpreter || 1 }},
|
||||||
|
|||||||
17
.github/workflows/build-triton-wheel.yml
vendored
17
.github/workflows/build-triton-wheel.yml
vendored
@ -14,7 +14,6 @@ on:
|
|||||||
- .github/ci_commit_pins/triton.txt
|
- .github/ci_commit_pins/triton.txt
|
||||||
- .ci/docker/ci_commit_pins/triton.txt
|
- .ci/docker/ci_commit_pins/triton.txt
|
||||||
- .ci/docker/ci_commit_pins/triton-rocm.txt
|
- .ci/docker/ci_commit_pins/triton-rocm.txt
|
||||||
- .ci/docker/ci_commit_pins/triton-xpu.txt
|
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- .github/workflows/build-triton-wheel.yml
|
- .github/workflows/build-triton-wheel.yml
|
||||||
@ -22,7 +21,6 @@ on:
|
|||||||
- .github/ci_commit_pins/triton.txt
|
- .github/ci_commit_pins/triton.txt
|
||||||
- .ci/docker/ci_commit_pins/triton.txt
|
- .ci/docker/ci_commit_pins/triton.txt
|
||||||
- .ci/docker/ci_commit_pins/triton-rocm.txt
|
- .ci/docker/ci_commit_pins/triton-rocm.txt
|
||||||
- .ci/docker/ci_commit_pins/triton-xpu.txt
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
|
||||||
@ -36,7 +34,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
py_vers: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
|
py_vers: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
|
||||||
device: ["cuda", "rocm", "xpu"]
|
device: ["cuda", "rocm"]
|
||||||
include:
|
include:
|
||||||
- device: "rocm"
|
- device: "rocm"
|
||||||
rocm_version: "6.1"
|
rocm_version: "6.1"
|
||||||
@ -104,6 +102,11 @@ jobs:
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
BUILD_ROCM=""
|
||||||
|
if [[ "$BUILD_DEVICE" == "rocm" ]]; then
|
||||||
|
BUILD_ROCM="--build-rocm"
|
||||||
|
fi
|
||||||
|
|
||||||
RELEASE=""
|
RELEASE=""
|
||||||
if [[ "${IS_RELEASE_TAG}" == true ]]; then
|
if [[ "${IS_RELEASE_TAG}" == true ]]; then
|
||||||
RELEASE="--release"
|
RELEASE="--release"
|
||||||
@ -111,13 +114,7 @@ jobs:
|
|||||||
|
|
||||||
docker exec -t "${container_name}" yum install -y zlib-devel zip
|
docker exec -t "${container_name}" yum install -y zlib-devel zip
|
||||||
docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" -m pip install -U setuptools==67.4.0
|
docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" -m pip install -U setuptools==67.4.0
|
||||||
# Triton xpu build use GCC11
|
docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" /pytorch/.github/scripts/build_triton_wheel.py $BUILD_ROCM $RELEASE
|
||||||
if [[ "${BUILD_DEVICE}" == xpu ]]; then
|
|
||||||
docker exec -t "${container_name}" yum install -y devtoolset-11-gcc-c++
|
|
||||||
docker exec -t "${container_name}" bash -c "source /opt/rh/devtoolset-11/enable && ${PYTHON_EXECUTABLE} /pytorch/.github/scripts/build_triton_wheel.py --device=$BUILD_DEVICE $RELEASE"
|
|
||||||
else
|
|
||||||
docker exec -t "${container_name}" bash -c "${PYTHON_EXECUTABLE} /pytorch/.github/scripts/build_triton_wheel.py --device=$BUILD_DEVICE $RELEASE"
|
|
||||||
fi
|
|
||||||
docker exec -t "${container_name}" chown -R 1000.1000 /artifacts
|
docker exec -t "${container_name}" chown -R 1000.1000 /artifacts
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v3
|
||||||
|
|||||||
@ -18,6 +18,6 @@ jobs:
|
|||||||
ROCKSET_API_KEY: ${{ secrets.ROCKSET_API_KEY }}
|
ROCKSET_API_KEY: ${{ secrets.ROCKSET_API_KEY }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
pip3 install requests==2.32.2
|
pip3 install requests==2.26
|
||||||
pip3 install rockset==1.0.3
|
pip3 install rockset==1.0.3
|
||||||
python3 .github/scripts/close_nonexistent_disable_issues.py
|
python3 .github/scripts/close_nonexistent_disable_issues.py
|
||||||
|
|||||||
42
.github/workflows/create_release.yml
vendored
42
.github/workflows/create_release.yml
vendored
@ -5,11 +5,6 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- release/*
|
- release/*
|
||||||
tags:
|
|
||||||
# Final Release tags look like: v1.11.0
|
|
||||||
- v[0-9]+.[0-9]+.[0-9]+
|
|
||||||
# Release candidate tags look like: v1.11.0-rc1
|
|
||||||
- v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+
|
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
pull_request:
|
pull_request:
|
||||||
@ -23,8 +18,6 @@ jobs:
|
|||||||
# https://github.com/softprops/action-gh-release?tab=readme-ov-file#permissions
|
# https://github.com/softprops/action-gh-release?tab=readme-ov-file#permissions
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
outputs:
|
|
||||||
pt_release_name: ${{ steps.release_name.outputs.pt_release_name }}
|
|
||||||
steps:
|
steps:
|
||||||
- uses: malfet/checkout@silent-checkout
|
- uses: malfet/checkout@silent-checkout
|
||||||
with:
|
with:
|
||||||
@ -56,44 +49,11 @@ jobs:
|
|||||||
# Create archive
|
# Create archive
|
||||||
tar -czf "$PT_RELEASE_FILE" "$PT_RELEASE_NAME"
|
tar -czf "$PT_RELEASE_FILE" "$PT_RELEASE_NAME"
|
||||||
echo "Created source archive $PT_RELEASE_FILE with content: $(ls -a "$PT_RELEASE_NAME")"
|
echo "Created source archive $PT_RELEASE_FILE with content: $(ls -a "$PT_RELEASE_NAME")"
|
||||||
- name: Upload source distribution for release
|
- name: Upload source distribution
|
||||||
if: ${{ github.event_name == 'release' }}
|
if: ${{ github.event_name == 'release' }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
with:
|
with:
|
||||||
files: ${{env.PT_RELEASE_FILE}}
|
files: ${{env.PT_RELEASE_FILE}}
|
||||||
- name: Upload source distribution to GHA artifacts for release tags
|
|
||||||
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, 'rc') }}
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ env.PT_RELEASE_FILE }}
|
|
||||||
path: ${{ env.PT_RELEASE_FILE }}
|
|
||||||
- name: Set output
|
|
||||||
id: release_name
|
|
||||||
run: echo "::set-output name=pt_release_name::${{ env.PT_RELEASE_NAME }}.tar.gz"
|
|
||||||
|
|
||||||
upload_source_code_to_s3:
|
|
||||||
if: ${{ github.repository == 'pytorch/pytorch' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, 'rc') }}
|
|
||||||
runs-on: linux.2xlarge
|
|
||||||
environment: sourcecode-upload
|
|
||||||
name: Upload source code to S3 for release tags
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
needs: release
|
|
||||||
steps:
|
|
||||||
- uses: actions/download-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ needs.release.outputs.pt_release_name }}
|
|
||||||
- name: Configure AWS credentials(PyTorch account)
|
|
||||||
uses: aws-actions/configure-aws-credentials@v3
|
|
||||||
with:
|
|
||||||
role-to-assume: arn:aws:iam::749337293305:role/gha_pytorch_source_code_upload_role
|
|
||||||
aws-region: us-east-1
|
|
||||||
- uses: seemethere/upload-artifact-s3@v5
|
|
||||||
with:
|
|
||||||
s3-bucket: pytorch
|
|
||||||
s3-prefix: source_code/test
|
|
||||||
if-no-files-found: warn
|
|
||||||
path: ${{ needs.release.outputs.pt_release_name }}
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name }}
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name }}
|
||||||
|
|||||||
2
.github/workflows/delete_old_branches.yml
vendored
2
.github/workflows/delete_old_branches.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
|||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
python-version: '3.8'
|
||||||
architecture: x64
|
architecture: x64
|
||||||
check-latest: false
|
check-latest: false
|
||||||
|
|
||||||
|
|||||||
30
.github/workflows/docathon-sync-label.yml
vendored
30
.github/workflows/docathon-sync-label.yml
vendored
@ -1,30 +0,0 @@
|
|||||||
name: Docathon Labels Sync
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request_target:
|
|
||||||
types: [opened, synchronize, edited]
|
|
||||||
branches: [main]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check-labels:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
issues: write
|
|
||||||
pull-requests: write
|
|
||||||
steps:
|
|
||||||
- name: Check out the repo
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 1
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.x
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
pip install requests==2.32.3
|
|
||||||
pip install PyGithub==2.3.0
|
|
||||||
- name: Run Python script
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: python ./.github/scripts/docathon-label-sync.py ${{ github.event.pull_request.number }}
|
|
||||||
17
.github/workflows/docker-builds.yml
vendored
17
.github/workflows/docker-builds.yml
vendored
@ -38,28 +38,25 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
runner: [linux.12xlarge]
|
runner: [linux.12xlarge]
|
||||||
docker-image-name: [
|
docker-image-name: [
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9,
|
pytorch-linux-focal-cuda12.4-cudnn8-py3-gcc9,
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9-inductor-benchmarks,
|
pytorch-linux-focal-cuda12.4-cudnn8-py3-gcc9-inductor-benchmarks,
|
||||||
pytorch-linux-focal-cuda12.4-cudnn9-py3.12-gcc9-inductor-benchmarks,
|
pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9,
|
||||||
pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9,
|
pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks,
|
||||||
pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks,
|
pytorch-linux-focal-cuda11.8-cudnn8-py3-gcc9,
|
||||||
pytorch-linux-focal-cuda12.1-cudnn9-py3.12-gcc9-inductor-benchmarks,
|
|
||||||
pytorch-linux-focal-cuda11.8-cudnn9-py3-gcc9,
|
|
||||||
pytorch-linux-focal-py3.8-clang10,
|
pytorch-linux-focal-py3.8-clang10,
|
||||||
pytorch-linux-focal-py3.11-clang10,
|
pytorch-linux-focal-py3.11-clang10,
|
||||||
pytorch-linux-focal-py3.12-clang10,
|
pytorch-linux-focal-py3.12-clang10,
|
||||||
pytorch-linux-focal-rocm-n-1-py3,
|
pytorch-linux-focal-rocm-n-1-py3,
|
||||||
pytorch-linux-focal-rocm-n-py3,
|
pytorch-linux-focal-rocm-n-py3,
|
||||||
pytorch-linux-jammy-cuda11.8-cudnn9-py3.8-clang12,
|
pytorch-linux-jammy-cuda11.8-cudnn8-py3.8-clang12,
|
||||||
pytorch-linux-focal-py3-clang9-android-ndk-r21e,
|
pytorch-linux-focal-py3-clang9-android-ndk-r21e,
|
||||||
pytorch-linux-jammy-py3.8-gcc11,
|
pytorch-linux-jammy-py3.8-gcc11,
|
||||||
pytorch-linux-jammy-py3.8-gcc11-inductor-benchmarks,
|
pytorch-linux-jammy-py3.8-gcc11-inductor-benchmarks,
|
||||||
pytorch-linux-jammy-py3.12-halide,
|
|
||||||
pytorch-linux-jammy-xpu-2024.0-py3,
|
pytorch-linux-jammy-xpu-2024.0-py3,
|
||||||
pytorch-linux-jammy-py3-clang15-asan,
|
pytorch-linux-jammy-py3-clang15-asan,
|
||||||
pytorch-linux-focal-py3-clang10-onnx,
|
pytorch-linux-focal-py3-clang10-onnx,
|
||||||
pytorch-linux-focal-linter,
|
pytorch-linux-focal-linter,
|
||||||
pytorch-linux-jammy-cuda11.8-cudnn9-py3.9-linter,
|
pytorch-linux-jammy-cuda11.8-cudnn8-py3.9-linter,
|
||||||
pytorch-linux-jammy-py3-clang12-executorch
|
pytorch-linux-jammy-py3-clang12-executorch
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
|
|||||||
7
.github/workflows/docker-release.yml
vendored
7
.github/workflows/docker-release.yml
vendored
@ -149,10 +149,3 @@ jobs:
|
|||||||
- name: Teardown Linux
|
- name: Teardown Linux
|
||||||
uses: pytorch/test-infra/.github/actions/teardown-linux@main
|
uses: pytorch/test-infra/.github/actions/teardown-linux@main
|
||||||
if: always()
|
if: always()
|
||||||
|
|
||||||
validate:
|
|
||||||
needs: build
|
|
||||||
uses: pytorch/builder/.github/workflows/validate-docker-images.yml@main
|
|
||||||
with:
|
|
||||||
channel: nightly
|
|
||||||
ref: main
|
|
||||||
|
|||||||
245
.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
generated
vendored
245
.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
generated
vendored
@ -50,11 +50,11 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu-aarch64
|
GPU_ARCH_TYPE: cpu-aarch64
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
runs_on: linux.arm64.2xlarge
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_8-cpu-aarch64
|
build_name: manywheel-py3_8-cpu-aarch64
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_8-cpu-aarch64-test: # Testing
|
manywheel-py3_8-cpu-aarch64-test: # Testing
|
||||||
@ -100,51 +100,6 @@ jobs:
|
|||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
manywheel-py3_8-cuda-aarch64-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
|
||||||
build_name: manywheel-py3_8-cuda-aarch64
|
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
|
||||||
timeout-minutes: 420
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_8-cuda-aarch64-upload: # Uploading
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
needs: manywheel-py3_8-cuda-aarch64-build
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda-aarch64
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
|
|
||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
|
||||||
|
|
||||||
manywheel-py3_9-cpu-aarch64-build:
|
manywheel-py3_9-cpu-aarch64-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
uses: ./.github/workflows/_binary-build-linux.yml
|
||||||
@ -158,11 +113,11 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu-aarch64
|
GPU_ARCH_TYPE: cpu-aarch64
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
||||||
DESIRED_PYTHON: "3.9"
|
DESIRED_PYTHON: "3.9"
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
runs_on: linux.arm64.2xlarge
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_9-cpu-aarch64
|
build_name: manywheel-py3_9-cpu-aarch64
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_9-cpu-aarch64-test: # Testing
|
manywheel-py3_9-cpu-aarch64-test: # Testing
|
||||||
@ -208,51 +163,6 @@ jobs:
|
|||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
manywheel-py3_9-cuda-aarch64-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.9"
|
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
|
||||||
build_name: manywheel-py3_9-cuda-aarch64
|
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
|
||||||
timeout-minutes: 420
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_9-cuda-aarch64-upload: # Uploading
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
needs: manywheel-py3_9-cuda-aarch64-build
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.9"
|
|
||||||
build_name: manywheel-py3_9-cuda-aarch64
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
|
|
||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
|
||||||
|
|
||||||
manywheel-py3_10-cpu-aarch64-build:
|
manywheel-py3_10-cpu-aarch64-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
uses: ./.github/workflows/_binary-build-linux.yml
|
||||||
@ -266,11 +176,11 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu-aarch64
|
GPU_ARCH_TYPE: cpu-aarch64
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
||||||
DESIRED_PYTHON: "3.10"
|
DESIRED_PYTHON: "3.10"
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
runs_on: linux.arm64.2xlarge
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_10-cpu-aarch64
|
build_name: manywheel-py3_10-cpu-aarch64
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_10-cpu-aarch64-test: # Testing
|
manywheel-py3_10-cpu-aarch64-test: # Testing
|
||||||
@ -316,51 +226,6 @@ jobs:
|
|||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
manywheel-py3_10-cuda-aarch64-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.10"
|
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
|
||||||
build_name: manywheel-py3_10-cuda-aarch64
|
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
|
||||||
timeout-minutes: 420
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_10-cuda-aarch64-upload: # Uploading
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
needs: manywheel-py3_10-cuda-aarch64-build
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.10"
|
|
||||||
build_name: manywheel-py3_10-cuda-aarch64
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
|
|
||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
|
||||||
|
|
||||||
manywheel-py3_11-cpu-aarch64-build:
|
manywheel-py3_11-cpu-aarch64-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
uses: ./.github/workflows/_binary-build-linux.yml
|
||||||
@ -374,11 +239,11 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu-aarch64
|
GPU_ARCH_TYPE: cpu-aarch64
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
||||||
DESIRED_PYTHON: "3.11"
|
DESIRED_PYTHON: "3.11"
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
runs_on: linux.arm64.2xlarge
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_11-cpu-aarch64
|
build_name: manywheel-py3_11-cpu-aarch64
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_11-cpu-aarch64-test: # Testing
|
manywheel-py3_11-cpu-aarch64-test: # Testing
|
||||||
@ -424,51 +289,6 @@ jobs:
|
|||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
manywheel-py3_11-cuda-aarch64-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.11"
|
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
|
||||||
build_name: manywheel-py3_11-cuda-aarch64
|
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
|
||||||
timeout-minutes: 420
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_11-cuda-aarch64-upload: # Uploading
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
needs: manywheel-py3_11-cuda-aarch64-build
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.11"
|
|
||||||
build_name: manywheel-py3_11-cuda-aarch64
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
|
|
||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
|
||||||
|
|
||||||
manywheel-py3_12-cpu-aarch64-build:
|
manywheel-py3_12-cpu-aarch64-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
uses: ./.github/workflows/_binary-build-linux.yml
|
||||||
@ -482,11 +302,11 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu-aarch64
|
GPU_ARCH_TYPE: cpu-aarch64
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main
|
||||||
DESIRED_PYTHON: "3.12"
|
DESIRED_PYTHON: "3.12"
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
runs_on: linux.arm64.2xlarge
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_12-cpu-aarch64
|
build_name: manywheel-py3_12-cpu-aarch64
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_12-cpu-aarch64-test: # Testing
|
manywheel-py3_12-cpu-aarch64-test: # Testing
|
||||||
@ -531,48 +351,3 @@ jobs:
|
|||||||
conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
|
conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
|
||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
manywheel-py3_12-cuda-aarch64-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.12"
|
|
||||||
runs_on: linux.arm64.m7g.4xlarge
|
|
||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
|
||||||
build_name: manywheel-py3_12-cuda-aarch64
|
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
|
||||||
timeout-minutes: 420
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_12-cuda-aarch64-upload: # Uploading
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
needs: manywheel-py3_12-cuda-aarch64-build
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_TYPE: cuda-aarch64
|
|
||||||
DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cuda12.4-main
|
|
||||||
DESIRED_DEVTOOLSET: cxx11-abi
|
|
||||||
DESIRED_PYTHON: "3.12"
|
|
||||||
build_name: manywheel-py3_12-cuda-aarch64
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
|
|
||||||
conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
|
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
|
||||||
|
|||||||
170
.github/workflows/generated-linux-binary-manywheel-main.yml
generated
vendored
170
.github/workflows/generated-linux-binary-manywheel-main.yml
generated
vendored
@ -48,7 +48,7 @@ jobs:
|
|||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
build_name: manywheel-py3_8-cuda11_8
|
build_name: manywheel-py3_8-cuda11_8
|
||||||
build_environment: linux-binary-manywheel
|
build_environment: linux-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==8.7.0.84; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_8-cuda11_8-test: # Testing
|
manywheel-py3_8-cuda11_8-test: # Testing
|
||||||
@ -72,48 +72,6 @@ jobs:
|
|||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
manywheel-py3_8-cuda11_8-split-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu118
|
|
||||||
GPU_ARCH_VERSION: 11.8
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main
|
|
||||||
use_split_build: True
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda11_8-split
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_8-cuda11_8-split-test: # Testing
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
needs: manywheel-py3_8-cuda11_8-split-build
|
|
||||||
uses: ./.github/workflows/_binary-test-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu118
|
|
||||||
GPU_ARCH_VERSION: 11.8
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main
|
|
||||||
use_split_build: True
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda11_8-split
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
runs_on: linux.4xlarge.nvidia.gpu
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
manywheel-py3_8-cuda12_1-build:
|
manywheel-py3_8-cuda12_1-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
uses: ./.github/workflows/_binary-build-linux.yml
|
||||||
@ -130,7 +88,7 @@ jobs:
|
|||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
build_name: manywheel-py3_8-cuda12_1
|
build_name: manywheel-py3_8-cuda12_1
|
||||||
build_environment: linux-binary-manywheel
|
build_environment: linux-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_8-cuda12_1-test: # Testing
|
manywheel-py3_8-cuda12_1-test: # Testing
|
||||||
@ -153,127 +111,3 @@ jobs:
|
|||||||
runs_on: linux.4xlarge.nvidia.gpu
|
runs_on: linux.4xlarge.nvidia.gpu
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
manywheel-py3_8-cuda12_1-split-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu121
|
|
||||||
GPU_ARCH_VERSION: 12.1
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main
|
|
||||||
use_split_build: True
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda12_1-split
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_8-cuda12_1-split-test: # Testing
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
needs: manywheel-py3_8-cuda12_1-split-build
|
|
||||||
uses: ./.github/workflows/_binary-test-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu121
|
|
||||||
GPU_ARCH_VERSION: 12.1
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main
|
|
||||||
use_split_build: True
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda12_1-split
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
runs_on: linux.4xlarge.nvidia.gpu
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
manywheel-py3_8-cuda12_4-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_VERSION: 12.4
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-main
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda12_4
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.4.2.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.2.0.44; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.5.119; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.6.0.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.3.0.142; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64'
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_8-cuda12_4-test: # Testing
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
needs: manywheel-py3_8-cuda12_4-build
|
|
||||||
uses: ./.github/workflows/_binary-test-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_VERSION: 12.4
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-main
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda12_4
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
runs_on: linux.4xlarge.nvidia.gpu
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
manywheel-py3_8-cuda12_4-split-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_VERSION: 12.4
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-main
|
|
||||||
use_split_build: True
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda12_4-split
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.4.2.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.2.0.44; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.5.119; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.6.0.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.3.0.142; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.4.99; platform_system == 'Linux' and platform_machine == 'x86_64'
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
manywheel-py3_8-cuda12_4-split-test: # Testing
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
needs: manywheel-py3_8-cuda12_4-split-build
|
|
||||||
uses: ./.github/workflows/_binary-test-linux.yml
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
BUILDER_ROOT: /builder
|
|
||||||
PACKAGE_TYPE: manywheel
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: cu124
|
|
||||||
GPU_ARCH_VERSION: 12.4
|
|
||||||
GPU_ARCH_TYPE: cuda
|
|
||||||
DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-main
|
|
||||||
use_split_build: True
|
|
||||||
DESIRED_PYTHON: "3.8"
|
|
||||||
build_name: manywheel-py3_8-cuda12_4-split
|
|
||||||
build_environment: linux-binary-manywheel
|
|
||||||
runs_on: linux.4xlarge.nvidia.gpu
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|||||||
1593
.github/workflows/generated-linux-binary-manywheel-nightly.yml
generated
vendored
1593
.github/workflows/generated-linux-binary-manywheel-nightly.yml
generated
vendored
File diff suppressed because it is too large
Load Diff
10
.github/workflows/generated-linux-s390x-binary-manywheel-nightly.yml
generated
vendored
10
.github/workflows/generated-linux-s390x-binary-manywheel-nightly.yml
generated
vendored
@ -54,7 +54,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
||||||
build_name: manywheel-py3_8-cpu-s390x
|
build_name: manywheel-py3_8-cpu-s390x
|
||||||
build_environment: linux-s390x-binary-manywheel
|
build_environment: linux-s390x-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_8-cpu-s390x-test: # Testing
|
manywheel-py3_8-cpu-s390x-test: # Testing
|
||||||
@ -117,7 +117,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
||||||
build_name: manywheel-py3_9-cpu-s390x
|
build_name: manywheel-py3_9-cpu-s390x
|
||||||
build_environment: linux-s390x-binary-manywheel
|
build_environment: linux-s390x-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_9-cpu-s390x-test: # Testing
|
manywheel-py3_9-cpu-s390x-test: # Testing
|
||||||
@ -180,7 +180,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
||||||
build_name: manywheel-py3_10-cpu-s390x
|
build_name: manywheel-py3_10-cpu-s390x
|
||||||
build_environment: linux-s390x-binary-manywheel
|
build_environment: linux-s390x-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_10-cpu-s390x-test: # Testing
|
manywheel-py3_10-cpu-s390x-test: # Testing
|
||||||
@ -243,7 +243,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
||||||
build_name: manywheel-py3_11-cpu-s390x
|
build_name: manywheel-py3_11-cpu-s390x
|
||||||
build_environment: linux-s390x-binary-manywheel
|
build_environment: linux-s390x-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_11-cpu-s390x-test: # Testing
|
manywheel-py3_11-cpu-s390x-test: # Testing
|
||||||
@ -306,7 +306,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
ALPINE_IMAGE: "docker.io/s390x/alpine"
|
||||||
build_name: manywheel-py3_12-cpu-s390x
|
build_name: manywheel-py3_12-cpu-s390x
|
||||||
build_environment: linux-s390x-binary-manywheel
|
build_environment: linux-s390x-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
manywheel-py3_12-cpu-s390x-test: # Testing
|
manywheel-py3_12-cpu-s390x-test: # Testing
|
||||||
|
|||||||
10
.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
generated
vendored
10
.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
generated
vendored
@ -34,7 +34,7 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
conda-py3_8-cpu-build:
|
conda-py3_8-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -152,7 +152,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
conda-py3_9-cpu-build:
|
conda-py3_9-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -270,7 +270,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
conda-py3_10-cpu-build:
|
conda-py3_10-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -388,7 +388,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
conda-py3_11-cpu-build:
|
conda-py3_11-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -506,7 +506,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
conda-py3_12-cpu-build:
|
conda-py3_12-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
|
|||||||
2
.github/workflows/generated-macos-arm64-binary-libtorch-cxx11-abi-nightly.yml
generated
vendored
2
.github/workflows/generated-macos-arm64-binary-libtorch-cxx11-abi-nightly.yml
generated
vendored
@ -34,7 +34,7 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
libtorch-cpu-shared-with-deps-cxx11-abi-build:
|
libtorch-cpu-shared-with-deps-cxx11-abi-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
|
|||||||
20
.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
generated
vendored
20
.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
generated
vendored
@ -34,7 +34,7 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
wheel-py3_8-cpu-build:
|
wheel-py3_8-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -46,7 +46,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
# For sccache access (only on non-forked PRs)
|
# For sccache access (only on non-forked PRs)
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
||||||
@ -153,7 +153,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
wheel-py3_9-cpu-build:
|
wheel-py3_9-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -165,7 +165,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.9"
|
DESIRED_PYTHON: "3.9"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
# For sccache access (only on non-forked PRs)
|
# For sccache access (only on non-forked PRs)
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
||||||
@ -272,7 +272,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
wheel-py3_10-cpu-build:
|
wheel-py3_10-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -284,7 +284,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.10"
|
DESIRED_PYTHON: "3.10"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
# For sccache access (only on non-forked PRs)
|
# For sccache access (only on non-forked PRs)
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
||||||
@ -391,7 +391,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
wheel-py3_11-cpu-build:
|
wheel-py3_11-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -403,7 +403,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.11"
|
DESIRED_PYTHON: "3.11"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
# For sccache access (only on non-forked PRs)
|
# For sccache access (only on non-forked PRs)
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
||||||
@ -510,7 +510,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
wheel-py3_12-cpu-build:
|
wheel-py3_12-cpu-build:
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
runs-on: macos-14-xlarge
|
runs-on: macos-13-xlarge
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
env:
|
env:
|
||||||
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
|
||||||
@ -522,7 +522,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.12"
|
DESIRED_PYTHON: "3.12"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
# For sccache access (only on non-forked PRs)
|
# For sccache access (only on non-forked PRs)
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
AWS_ACCESS_KEY_ID: ${{ secrets.MACOS_SCCACHE_S3_ACCESS_KEY_ID }}
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.MACOS_SCCACHE_S3_SECRET_ACCESS_KEY }}
|
||||||
|
|||||||
40
.github/workflows/generated-windows-binary-wheel-nightly.yml
generated
vendored
40
.github/workflows/generated-windows-binary-wheel-nightly.yml
generated
vendored
@ -46,7 +46,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -290,7 +290,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -536,7 +536,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -782,7 +782,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.8"
|
DESIRED_PYTHON: "3.8"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -1027,7 +1027,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.9"
|
DESIRED_PYTHON: "3.9"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -1271,7 +1271,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.9"
|
DESIRED_PYTHON: "3.9"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -1517,7 +1517,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.9"
|
DESIRED_PYTHON: "3.9"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -1763,7 +1763,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.9"
|
DESIRED_PYTHON: "3.9"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -2008,7 +2008,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.10"
|
DESIRED_PYTHON: "3.10"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -2252,7 +2252,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.10"
|
DESIRED_PYTHON: "3.10"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -2498,7 +2498,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.10"
|
DESIRED_PYTHON: "3.10"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -2744,7 +2744,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.10"
|
DESIRED_PYTHON: "3.10"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -2989,7 +2989,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.11"
|
DESIRED_PYTHON: "3.11"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -3233,7 +3233,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.11"
|
DESIRED_PYTHON: "3.11"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -3479,7 +3479,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.11"
|
DESIRED_PYTHON: "3.11"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -3725,7 +3725,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.11"
|
DESIRED_PYTHON: "3.11"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -3970,7 +3970,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cpu
|
GPU_ARCH_TYPE: cpu
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.12"
|
DESIRED_PYTHON: "3.12"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -4214,7 +4214,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.12"
|
DESIRED_PYTHON: "3.12"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -4460,7 +4460,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.12"
|
DESIRED_PYTHON: "3.12"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -4706,7 +4706,7 @@ jobs:
|
|||||||
GPU_ARCH_TYPE: cuda
|
GPU_ARCH_TYPE: cuda
|
||||||
SKIP_ALL_TESTS: 1
|
SKIP_ALL_TESTS: 1
|
||||||
DESIRED_PYTHON: "3.12"
|
DESIRED_PYTHON: "3.12"
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.20.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
|
||||||
steps:
|
steps:
|
||||||
- name: Display EC2 information
|
- name: Display EC2 information
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
110
.github/workflows/inductor-cu124.yml
vendored
110
.github/workflows/inductor-cu124.yml
vendored
@ -1,110 +0,0 @@
|
|||||||
name: inductor-cu124
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- ciflow/inductor-cu124/*
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
# Run every 4 hours during the week and every 12 hours on the weekend
|
|
||||||
- cron: 45 0,4,8,12,16,20 * * 1-5
|
|
||||||
- cron: 45 4,12 * * 0,6
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
permissions: read-all
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
linux-focal-cuda12_4-py3_10-gcc9-inductor-build:
|
|
||||||
# Should be synced with the one in inductor.yml, but this doesn't run inductor_timm
|
|
||||||
name: cuda12.4-py3.10-gcc9-sm86
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
with:
|
|
||||||
sync-tag: linux-focal-cuda12_4-py3_10-gcc9-inductor-build
|
|
||||||
build-environment: linux-focal-cuda12.4-py3.10-gcc9-sm86
|
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9-inductor-benchmarks
|
|
||||||
cuda-arch-list: '8.6'
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor_distributed", shard: 1, num_shards: 1, runner: "linux.g5.12xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "dynamic_inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "dynamic_inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "dynamic_inductor_timm", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "dynamic_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "dynamic_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "aot_inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "aot_inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "aot_inductor_timm", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "aot_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "aot_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor_cpp_wrapper_abi_compatible", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
]}
|
|
||||||
secrets:
|
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
|
||||||
|
|
||||||
linux-focal-cuda12_4-py3_10-gcc9-inductor-test:
|
|
||||||
name: cuda12.4-py3.10-gcc9-sm86
|
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
|
||||||
needs: linux-focal-cuda12_4-py3_10-gcc9-inductor-build
|
|
||||||
with:
|
|
||||||
sync-tag: linux-focal-cuda12_4-py3_10-gcc9-inductor-test
|
|
||||||
build-environment: linux-focal-cuda12.4-py3.10-gcc9-sm86
|
|
||||||
docker-image: ${{ needs.linux-focal-cuda12_4-py3_10-gcc9-inductor-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-focal-cuda12_4-py3_10-gcc9-inductor-build.outputs.test-matrix }}
|
|
||||||
secrets:
|
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
|
||||||
|
|
||||||
linux-focal-cuda12_4-py3_10-gcc9-inductor-build-gcp:
|
|
||||||
name: cuda12.4-py3.10-gcc9-sm80
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
with:
|
|
||||||
build-environment: linux-focal-cuda12.4-py3.10-gcc9-sm80
|
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9-inductor-benchmarks
|
|
||||||
cuda-arch-list: '8.0'
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor_torchbench_smoketest_perf", shard: 1, num_shards: 1, runner: "linux.gcp.a100" },
|
|
||||||
]}
|
|
||||||
secrets:
|
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
|
||||||
|
|
||||||
linux-focal-cuda12_4-py3_10-gcc9-inductor-test-gcp:
|
|
||||||
name: cuda12.4-py3.10-gcc9-sm80
|
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
|
||||||
needs: linux-focal-cuda12_4-py3_10-gcc9-inductor-build-gcp
|
|
||||||
with:
|
|
||||||
build-environment: linux-focal-cuda12.4-py3.10-gcc9-sm80
|
|
||||||
docker-image: ${{ needs.linux-focal-cuda12_4-py3_10-gcc9-inductor-build-gcp.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-focal-cuda12_4-py3_10-gcc9-inductor-build-gcp.outputs.test-matrix }}
|
|
||||||
use-gha: anything-non-empty-to-use-gha
|
|
||||||
secrets:
|
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
|
||||||
|
|
||||||
linux-focal-cuda12_4-py3_12-gcc9-inductor-build:
|
|
||||||
name: cuda12.4-py3.12-gcc9-sm86
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
with:
|
|
||||||
build-environment: linux-focal-cuda12.4-py3.12-gcc9-sm86
|
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.4-cudnn9-py3.12-gcc9-inductor-benchmarks
|
|
||||||
cuda-arch-list: '8.6'
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
]}
|
|
||||||
|
|
||||||
linux-focal-cuda12_4-py3_12-gcc9-inductor-test:
|
|
||||||
name: cuda12.4-py3.12-gcc9-sm86
|
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
|
||||||
needs: linux-focal-cuda12_4-py3_12-gcc9-inductor-build
|
|
||||||
with:
|
|
||||||
build-environment: linux-focal-cuda12.4-py3.12-gcc9-sm86
|
|
||||||
docker-image: ${{ needs.linux-focal-cuda12_4-py3_12-gcc9-inductor-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-focal-cuda12_4-py3_12-gcc9-inductor-build.outputs.test-matrix }}
|
|
||||||
@ -21,7 +21,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
with:
|
with:
|
||||||
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks
|
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks
|
||||||
cuda-arch-list: '8.0'
|
cuda-arch-list: '8.0'
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
|
|||||||
2
.github/workflows/inductor-perf-compare.yml
vendored
2
.github/workflows/inductor-perf-compare.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
with:
|
with:
|
||||||
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks
|
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks
|
||||||
cuda-arch-list: '8.0'
|
cuda-arch-list: '8.0'
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
|
|||||||
@ -71,7 +71,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
with:
|
with:
|
||||||
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks
|
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks
|
||||||
cuda-arch-list: '8.0'
|
cuda-arch-list: '8.0'
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
|
|||||||
28
.github/workflows/inductor-periodic.yml
vendored
28
.github/workflows/inductor-periodic.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
with:
|
with:
|
||||||
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm86
|
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm86
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks
|
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks
|
||||||
cuda-arch-list: '8.6'
|
cuda-arch-list: '8.6'
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
@ -56,29 +56,3 @@ jobs:
|
|||||||
test-matrix: ${{ needs.linux-focal-cuda12_1-py3_10-gcc9-periodic-dynamo-benchmarks-build.outputs.test-matrix }}
|
test-matrix: ${{ needs.linux-focal-cuda12_1-py3_10-gcc9-periodic-dynamo-benchmarks-build.outputs.test-matrix }}
|
||||||
secrets:
|
secrets:
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
||||||
|
|
||||||
linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp:
|
|
||||||
name: cuda12.1-py3.10-gcc9-sm80
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
with:
|
|
||||||
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks
|
|
||||||
cuda-arch-list: '8.0'
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor_torchbench_smoketest_perf", shard: 1, num_shards: 1, runner: "linux.gcp.a100" },
|
|
||||||
]}
|
|
||||||
secrets:
|
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
|
||||||
|
|
||||||
linux-focal-cuda12_1-py3_10-gcc9-inductor-test-gcp:
|
|
||||||
name: cuda12.1-py3.10-gcc9-sm80
|
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
|
||||||
needs: linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp
|
|
||||||
with:
|
|
||||||
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
|
||||||
docker-image: ${{ needs.linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp.outputs.test-matrix }}
|
|
||||||
use-gha: anything-non-empty-to-use-gha
|
|
||||||
secrets:
|
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
|
||||||
|
|||||||
94
.github/workflows/inductor.yml
vendored
94
.github/workflows/inductor.yml
vendored
@ -24,8 +24,7 @@ jobs:
|
|||||||
docker-image-name: pytorch-linux-focal-rocm-n-py3
|
docker-image-name: pytorch-linux-focal-rocm-n-py3
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "inductor", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.2" },
|
{ config: "inductor", shard: 1, num_shards: 1, runner: "linux.rocm.gpu.2" },
|
||||||
{ config: "inductor", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.2" },
|
|
||||||
]}
|
]}
|
||||||
|
|
||||||
linux-focal-rocm6_1-py3_8-inductor-test:
|
linux-focal-rocm6_1-py3_8-inductor-test:
|
||||||
@ -45,12 +44,11 @@ jobs:
|
|||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
with:
|
with:
|
||||||
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm86
|
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm86
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn9-py3-gcc9-inductor-benchmarks
|
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks
|
||||||
cuda-arch-list: '8.6'
|
cuda-arch-list: '8.6'
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "inductor", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
{ config: "inductor", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
||||||
{ config: "inductor", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor_distributed", shard: 1, num_shards: 1, runner: "linux.g5.12xlarge.nvidia.gpu" },
|
{ config: "inductor_distributed", shard: 1, num_shards: 1, runner: "linux.g5.12xlarge.nvidia.gpu" },
|
||||||
{ config: "inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
{ config: "inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
||||||
{ config: "inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
{ config: "inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
||||||
@ -83,74 +81,29 @@ jobs:
|
|||||||
secrets:
|
secrets:
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
||||||
|
|
||||||
linux-focal-cuda12_1-py3_12-gcc9-inductor-build:
|
linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp:
|
||||||
name: cuda12.1-py3.12-gcc9-sm86
|
name: cuda12.1-py3.10-gcc9-sm80
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
with:
|
with:
|
||||||
build-environment: linux-focal-cuda12.1-py3.12-gcc9-sm86
|
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn9-py3.12-gcc9-inductor-benchmarks
|
docker-image-name: pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9-inductor-benchmarks
|
||||||
cuda-arch-list: '8.6'
|
cuda-arch-list: '8.0'
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "inductor", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
{ config: "inductor_torchbench_smoketest_perf", shard: 1, num_shards: 1, runner: "linux.gcp.a100" },
|
||||||
{ config: "inductor", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
]}
|
|
||||||
|
|
||||||
linux-focal-cuda12_1-py3_12-gcc9-inductor-test:
|
|
||||||
name: cuda12.1-py3.12-gcc9-sm86
|
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
|
||||||
needs: linux-focal-cuda12_1-py3_12-gcc9-inductor-build
|
|
||||||
with:
|
|
||||||
build-environment: linux-focal-cuda12.1-py3.12-gcc9-sm86
|
|
||||||
docker-image: ${{ needs.linux-focal-cuda12_1-py3_12-gcc9-inductor-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-focal-cuda12_1-py3_12-gcc9-inductor-build.outputs.test-matrix }}
|
|
||||||
|
|
||||||
linux-jammy-cpu-py3_12-inductor-halide-build:
|
|
||||||
name: linux-jammy-cpu-py3.12-gcc11-inductor-halide
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
with:
|
|
||||||
build-environment: linux-jammy-py3.12-gcc11
|
|
||||||
docker-image-name: pytorch-linux-jammy-py3.12-halide
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor-halide", shard: 1, num_shards: 1, runner: "linux.12xlarge" },
|
|
||||||
]}
|
|
||||||
|
|
||||||
linux-jammy-cpu-py3_12-inductor-halide-test:
|
|
||||||
name: linux-jammy-cpu-py3.12-gcc11-inductor-halide
|
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
|
||||||
needs: linux-jammy-cpu-py3_12-inductor-halide-build
|
|
||||||
with:
|
|
||||||
build-environment: linux-jammy-py3.12-gcc11
|
|
||||||
docker-image: ${{ needs.linux-jammy-cpu-py3_12-inductor-halide-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-jammy-cpu-py3_12-inductor-halide-build.outputs.test-matrix }}
|
|
||||||
|
|
||||||
linux-focal-cuda12_4-py3_10-gcc9-inductor-build:
|
|
||||||
# Should be synced with the one in inductor-periodic.yml but this only runs inductor_timm
|
|
||||||
name: cuda12.4-py3.10-gcc9-sm86
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
with:
|
|
||||||
sync-tag: linux-focal-cuda12_4-py3_10-gcc9-inductor-build
|
|
||||||
build-environment: linux-focal-cuda12.4-py3.10-gcc9-sm86
|
|
||||||
docker-image-name: pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9-inductor-benchmarks
|
|
||||||
cuda-arch-list: '8.6'
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
{ config: "inductor_timm", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
|
|
||||||
]}
|
]}
|
||||||
secrets:
|
secrets:
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
||||||
|
|
||||||
linux-focal-cuda12_4-py3_10-gcc9-inductor-test:
|
linux-focal-cuda12_1-py3_10-gcc9-inductor-test-gcp:
|
||||||
name: cuda12.4-py3.10-gcc9-sm86
|
name: cuda12.1-py3.10-gcc9-sm80
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
uses: ./.github/workflows/_linux-test.yml
|
||||||
needs: linux-focal-cuda12_4-py3_10-gcc9-inductor-build
|
needs: linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp
|
||||||
with:
|
with:
|
||||||
sync-tag: linux-focal-cuda12_4-py3_10-gcc9-inductor-test
|
build-environment: linux-focal-cuda12.1-py3.10-gcc9-sm80
|
||||||
build-environment: linux-focal-cuda12.4-py3.10-gcc9-sm86
|
docker-image: ${{ needs.linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp.outputs.docker-image }}
|
||||||
docker-image: ${{ needs.linux-focal-cuda12_4-py3_10-gcc9-inductor-build.outputs.docker-image }}
|
test-matrix: ${{ needs.linux-focal-cuda12_1-py3_10-gcc9-inductor-build-gcp.outputs.test-matrix }}
|
||||||
test-matrix: ${{ needs.linux-focal-cuda12_4-py3_10-gcc9-inductor-build.outputs.test-matrix }}
|
use-gha: anything-non-empty-to-use-gha
|
||||||
secrets:
|
secrets:
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
||||||
|
|
||||||
@ -167,26 +120,11 @@ jobs:
|
|||||||
{ config: "cpu_inductor_timm", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
{ config: "cpu_inductor_timm", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
||||||
{ config: "cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
{ config: "cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
||||||
{ config: "cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
{ config: "cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
||||||
{ config: "cpu_inductor_huggingface_freezing", shard: 1, num_shards: 1, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_inductor_timm_freezing", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_inductor_timm_freezing", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_inductor_torchbench_freezing", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_inductor_torchbench_freezing", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_inductor_huggingface_amp_freezing", shard: 1, num_shards: 1, runner: "linux.16xlarge.spr" },
|
|
||||||
{ config: "cpu_inductor_timm_amp_freezing", shard: 1, num_shards: 2, runner: "linux.16xlarge.spr" },
|
|
||||||
{ config: "cpu_inductor_timm_amp_freezing", shard: 2, num_shards: 2, runner: "linux.16xlarge.spr" },
|
|
||||||
{ config: "cpu_inductor_torchbench_amp_freezing", shard: 1, num_shards: 2, runner: "linux.16xlarge.spr" },
|
|
||||||
{ config: "cpu_inductor_torchbench_amp_freezing", shard: 2, num_shards: 2, runner: "linux.16xlarge.spr" },
|
|
||||||
{ config: "dynamic_cpu_inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.12xlarge" },
|
{ config: "dynamic_cpu_inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.12xlarge" },
|
||||||
{ config: "dynamic_cpu_inductor_timm", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
{ config: "dynamic_cpu_inductor_timm", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
||||||
{ config: "dynamic_cpu_inductor_timm", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
{ config: "dynamic_cpu_inductor_timm", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
||||||
{ config: "dynamic_cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
{ config: "dynamic_cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
||||||
{ config: "dynamic_cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
{ config: "dynamic_cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
||||||
{ config: "cpu_aot_inductor_huggingface_freezing", shard: 1, num_shards: 1, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_aot_inductor_timm_freezing", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_aot_inductor_timm_freezing", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_aot_inductor_torchbench_freezing", shard: 1, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "cpu_aot_inductor_torchbench_freezing", shard: 2, num_shards: 2, runner: "linux.12xlarge" },
|
|
||||||
{ config: "inductor_torchbench_cpu_smoketest_perf", shard: 1, num_shards: 1, runner: "linux.24xl.spr-metal" },
|
{ config: "inductor_torchbench_cpu_smoketest_perf", shard: 1, num_shards: 1, runner: "linux.24xl.spr-metal" },
|
||||||
]}
|
]}
|
||||||
secrets:
|
secrets:
|
||||||
|
|||||||
6
.github/workflows/lint.yml
vendored
6
.github/workflows/lint.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
timeout: 120
|
timeout: 120
|
||||||
runner: linux.2xlarge
|
runner: linux.2xlarge
|
||||||
docker-image: pytorch-linux-jammy-cuda11.8-cudnn9-py3.9-linter
|
docker-image: pytorch-linux-jammy-cuda11.8-cudnn8-py3.9-linter
|
||||||
# NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout
|
# NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout
|
||||||
# to run git rev-parse HEAD~:.ci/docker when a new image is needed
|
# to run git rev-parse HEAD~:.ci/docker when a new image is needed
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
@ -36,13 +36,15 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
timeout: 120
|
timeout: 120
|
||||||
runner: linux.2xlarge
|
runner: linux.2xlarge
|
||||||
docker-image: pytorch-linux-jammy-cuda11.8-cudnn9-py3.9-linter
|
docker-image: pytorch-linux-jammy-cuda11.8-cudnn8-py3.9-linter
|
||||||
# NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout
|
# NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout
|
||||||
# to run git rev-parse HEAD~:.ci/docker when a new image is needed
|
# to run git rev-parse HEAD~:.ci/docker when a new image is needed
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
|
||||||
script: |
|
script: |
|
||||||
|
pip install onnx==1.16.0
|
||||||
|
pip install numpy==1.26.4
|
||||||
export ADDITIONAL_LINTRUNNER_ARGS="--skip CLANGTIDY,CLANGFORMAT"
|
export ADDITIONAL_LINTRUNNER_ARGS="--skip CLANGTIDY,CLANGFORMAT"
|
||||||
.github/scripts/lintrunner.sh
|
.github/scripts/lintrunner.sh
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user