mirror of
https://github.com/pytorch/pytorch.git
synced 2025-11-13 21:59:56 +08:00
Compare commits
1 Commits
gh/zklaus/
...
revert-cpp
| Author | SHA1 | Date | |
|---|---|---|---|
| 2eacbe792a |
@ -13,4 +13,3 @@ exclude:
|
|||||||
- "**/benchmarks/**"
|
- "**/benchmarks/**"
|
||||||
- "**/test_*.py"
|
- "**/test_*.py"
|
||||||
- "**/*_test.py"
|
- "**/*_test.py"
|
||||||
- "tools/**"
|
|
||||||
|
|||||||
@ -7,13 +7,13 @@ ENV LC_ALL en_US.UTF-8
|
|||||||
ENV LANG en_US.UTF-8
|
ENV LANG en_US.UTF-8
|
||||||
ENV LANGUAGE en_US.UTF-8
|
ENV LANGUAGE en_US.UTF-8
|
||||||
|
|
||||||
ARG DEVTOOLSET_VERSION=13
|
ARG DEVTOOLSET_VERSION=11
|
||||||
|
|
||||||
RUN yum -y update
|
RUN yum -y update
|
||||||
RUN yum -y install epel-release
|
RUN yum -y install epel-release
|
||||||
# install glibc-langpack-en make sure en_US.UTF-8 locale is available
|
# install glibc-langpack-en make sure en_US.UTF-8 locale is available
|
||||||
RUN yum -y install glibc-langpack-en
|
RUN yum -y install glibc-langpack-en
|
||||||
RUN yum install -y sudo wget curl perl util-linux xz bzip2 git patch which perl zlib-devel openssl-devel yum-utils autoconf automake make gcc-toolset-${DEVTOOLSET_VERSION}-gcc gcc-toolset-${DEVTOOLSET_VERSION}-gcc-c++ gcc-toolset-${DEVTOOLSET_VERSION}-gcc-gfortran gcc-toolset-${DEVTOOLSET_VERSION}-gdb
|
RUN yum install -y sudo wget curl perl util-linux xz bzip2 git patch which perl zlib-devel openssl-devel yum-utils autoconf automake make gcc-toolset-${DEVTOOLSET_VERSION}-toolchain
|
||||||
# Just add everything as a safe.directory for git since these will be used in multiple places with git
|
# Just add everything as a safe.directory for git since these will be used in multiple places with git
|
||||||
RUN git config --global --add safe.directory '*'
|
RUN git config --global --add safe.directory '*'
|
||||||
ENV PATH=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/bin:$PATH
|
ENV PATH=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/bin:$PATH
|
||||||
@ -41,7 +41,6 @@ RUN bash ./install_conda.sh && rm install_conda.sh
|
|||||||
# Install CUDA
|
# Install CUDA
|
||||||
FROM base as cuda
|
FROM base as cuda
|
||||||
ARG CUDA_VERSION=12.6
|
ARG CUDA_VERSION=12.6
|
||||||
ARG DEVTOOLSET_VERSION=13
|
|
||||||
RUN rm -rf /usr/local/cuda-*
|
RUN rm -rf /usr/local/cuda-*
|
||||||
ADD ./common/install_cuda.sh install_cuda.sh
|
ADD ./common/install_cuda.sh install_cuda.sh
|
||||||
COPY ./common/install_nccl.sh install_nccl.sh
|
COPY ./common/install_nccl.sh install_nccl.sh
|
||||||
@ -51,8 +50,7 @@ ENV CUDA_HOME=/usr/local/cuda-${CUDA_VERSION}
|
|||||||
# Preserve CUDA_VERSION for the builds
|
# Preserve CUDA_VERSION for the builds
|
||||||
ENV CUDA_VERSION=${CUDA_VERSION}
|
ENV CUDA_VERSION=${CUDA_VERSION}
|
||||||
# Make things in our path by default
|
# Make things in our path by default
|
||||||
ENV PATH=/usr/local/cuda-${CUDA_VERSION}/bin:/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/bin:$PATH
|
ENV PATH=/usr/local/cuda-${CUDA_VERSION}/bin:$PATH
|
||||||
|
|
||||||
|
|
||||||
FROM cuda as cuda12.6
|
FROM cuda as cuda12.6
|
||||||
RUN bash ./install_cuda.sh 12.6
|
RUN bash ./install_cuda.sh 12.6
|
||||||
@ -70,22 +68,8 @@ FROM cuda as cuda13.0
|
|||||||
RUN bash ./install_cuda.sh 13.0
|
RUN bash ./install_cuda.sh 13.0
|
||||||
ENV DESIRED_CUDA=13.0
|
ENV DESIRED_CUDA=13.0
|
||||||
|
|
||||||
FROM ${ROCM_IMAGE} as rocm_base
|
FROM ${ROCM_IMAGE} as rocm
|
||||||
ARG DEVTOOLSET_VERSION=13
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_US.UTF-8
|
|
||||||
ENV LANGUAGE en_US.UTF-8
|
|
||||||
# Install devtoolset on ROCm base image
|
|
||||||
RUN yum -y update && \
|
|
||||||
yum -y install epel-release && \
|
|
||||||
yum -y install glibc-langpack-en && \
|
|
||||||
yum install -y sudo wget curl perl util-linux xz bzip2 git patch which perl zlib-devel openssl-devel yum-utils autoconf automake make gcc-toolset-${DEVTOOLSET_VERSION}-gcc gcc-toolset-${DEVTOOLSET_VERSION}-gcc-c++ gcc-toolset-${DEVTOOLSET_VERSION}-gcc-gfortran gcc-toolset-${DEVTOOLSET_VERSION}-gdb
|
|
||||||
RUN git config --global --add safe.directory '*'
|
|
||||||
ENV PATH=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/bin:$PATH
|
|
||||||
|
|
||||||
FROM rocm_base as rocm
|
|
||||||
ARG PYTORCH_ROCM_ARCH
|
ARG PYTORCH_ROCM_ARCH
|
||||||
ARG DEVTOOLSET_VERSION=13
|
|
||||||
ENV PYTORCH_ROCM_ARCH ${PYTORCH_ROCM_ARCH}
|
ENV PYTORCH_ROCM_ARCH ${PYTORCH_ROCM_ARCH}
|
||||||
ADD ./common/install_mkl.sh install_mkl.sh
|
ADD ./common/install_mkl.sh install_mkl.sh
|
||||||
RUN bash ./install_mkl.sh && rm install_mkl.sh
|
RUN bash ./install_mkl.sh && rm install_mkl.sh
|
||||||
@ -104,7 +88,6 @@ COPY --from=cuda13.0 /usr/local/cuda-13.0 /usr/local/cuda-13.0
|
|||||||
|
|
||||||
# Final step
|
# Final step
|
||||||
FROM ${BASE_TARGET} as final
|
FROM ${BASE_TARGET} as final
|
||||||
ARG DEVTOOLSET_VERSION=13
|
|
||||||
COPY --from=openssl /opt/openssl /opt/openssl
|
COPY --from=openssl /opt/openssl /opt/openssl
|
||||||
COPY --from=patchelf /patchelf /usr/local/bin/patchelf
|
COPY --from=patchelf /patchelf /usr/local/bin/patchelf
|
||||||
COPY --from=conda /opt/conda /opt/conda
|
COPY --from=conda /opt/conda /opt/conda
|
||||||
|
|||||||
@ -36,7 +36,11 @@ case ${DOCKER_TAG_PREFIX} in
|
|||||||
;;
|
;;
|
||||||
rocm*)
|
rocm*)
|
||||||
BASE_TARGET=rocm
|
BASE_TARGET=rocm
|
||||||
PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201;gfx950;gfx1150;gfx1151"
|
PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201"
|
||||||
|
# add gfx950, gfx115x conditionally starting in ROCm 7.0
|
||||||
|
if [[ "$ROCM_VERSION" == *"7.0"* ]]; then
|
||||||
|
PYTORCH_ROCM_ARCH="${PYTORCH_ROCM_ARCH};gfx950;gfx1150;gfx1151"
|
||||||
|
fi
|
||||||
EXTRA_BUILD_ARGS="${EXTRA_BUILD_ARGS} --build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH}"
|
EXTRA_BUILD_ARGS="${EXTRA_BUILD_ARGS} --build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -59,7 +63,7 @@ docker build \
|
|||||||
--target final \
|
--target final \
|
||||||
--progress plain \
|
--progress plain \
|
||||||
--build-arg "BASE_TARGET=${BASE_TARGET}" \
|
--build-arg "BASE_TARGET=${BASE_TARGET}" \
|
||||||
--build-arg "DEVTOOLSET_VERSION=13" \
|
--build-arg "DEVTOOLSET_VERSION=11" \
|
||||||
${EXTRA_BUILD_ARGS} \
|
${EXTRA_BUILD_ARGS} \
|
||||||
-t ${tmp_tag} \
|
-t ${tmp_tag} \
|
||||||
$@ \
|
$@ \
|
||||||
|
|||||||
@ -168,18 +168,6 @@ case "$tag" in
|
|||||||
VISION=yes
|
VISION=yes
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-py3.11-clang12)
|
|
||||||
ANACONDA_PYTHON_VERSION=3.11
|
|
||||||
CLANG_VERSION=12
|
|
||||||
VISION=no
|
|
||||||
TRITON=no
|
|
||||||
;;
|
|
||||||
pytorch-linux-jammy-py3.12-clang12)
|
|
||||||
ANACONDA_PYTHON_VERSION=3.12
|
|
||||||
CLANG_VERSION=12
|
|
||||||
VISION=no
|
|
||||||
TRITON=no
|
|
||||||
;;
|
|
||||||
pytorch-linux-jammy-rocm-n-py3 | pytorch-linux-jammy-rocm-n-py3-benchmarks | pytorch-linux-noble-rocm-n-py3)
|
pytorch-linux-jammy-rocm-n-py3 | pytorch-linux-jammy-rocm-n-py3-benchmarks | pytorch-linux-noble-rocm-n-py3)
|
||||||
if [[ $tag =~ "jammy" ]]; then
|
if [[ $tag =~ "jammy" ]]; then
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
@ -207,16 +195,13 @@ case "$tag" in
|
|||||||
NINJA_VERSION=1.9.0
|
NINJA_VERSION=1.9.0
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-noble-xpu-n-py3 | pytorch-linux-noble-xpu-n-py3-inductor-benchmarks)
|
pytorch-linux-jammy-xpu-n-py3)
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=13
|
GCC_VERSION=11
|
||||||
VISION=yes
|
VISION=yes
|
||||||
XPU_VERSION=2025.2
|
XPU_VERSION=2025.2
|
||||||
NINJA_VERSION=1.9.0
|
NINJA_VERSION=1.9.0
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
if [[ $tag =~ "benchmarks" ]]; then
|
|
||||||
INDUCTOR_BENCHMARKS=yes
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-py3-gcc11-inductor-benchmarks)
|
pytorch-linux-jammy-py3-gcc11-inductor-benchmarks)
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
@ -260,12 +245,6 @@ case "$tag" in
|
|||||||
HALIDE=yes
|
HALIDE=yes
|
||||||
TRITON=yes
|
TRITON=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-cuda12.8-py3.12-pallas)
|
|
||||||
CUDA_VERSION=12.8.1
|
|
||||||
ANACONDA_PYTHON_VERSION=3.12
|
|
||||||
GCC_VERSION=11
|
|
||||||
PALLAS=yes
|
|
||||||
;;
|
|
||||||
pytorch-linux-jammy-py3.12-triton-cpu)
|
pytorch-linux-jammy-py3.12-triton-cpu)
|
||||||
CUDA_VERSION=12.6
|
CUDA_VERSION=12.6
|
||||||
ANACONDA_PYTHON_VERSION=3.12
|
ANACONDA_PYTHON_VERSION=3.12
|
||||||
@ -279,9 +258,9 @@ case "$tag" in
|
|||||||
PYTHON_VERSION=3.10
|
PYTHON_VERSION=3.10
|
||||||
CUDA_VERSION=12.8.1
|
CUDA_VERSION=12.8.1
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-aarch64-py3.10-gcc13)
|
pytorch-linux-jammy-aarch64-py3.10-gcc11)
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
GCC_VERSION=13
|
GCC_VERSION=11
|
||||||
ACL=yes
|
ACL=yes
|
||||||
VISION=yes
|
VISION=yes
|
||||||
OPENBLAS=yes
|
OPENBLAS=yes
|
||||||
@ -289,19 +268,9 @@ case "$tag" in
|
|||||||
# from pytorch/llvm:9.0.1 is x86 specific
|
# from pytorch/llvm:9.0.1 is x86 specific
|
||||||
SKIP_LLVM_SRC_BUILD_INSTALL=yes
|
SKIP_LLVM_SRC_BUILD_INSTALL=yes
|
||||||
;;
|
;;
|
||||||
pytorch-linux-jammy-aarch64-py3.10-clang21)
|
pytorch-linux-jammy-aarch64-py3.10-gcc11-inductor-benchmarks)
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
ANACONDA_PYTHON_VERSION=3.10
|
||||||
CLANG_VERSION=21
|
GCC_VERSION=11
|
||||||
ACL=yes
|
|
||||||
VISION=yes
|
|
||||||
OPENBLAS=yes
|
|
||||||
# snadampal: skipping llvm src build install because the current version
|
|
||||||
# from pytorch/llvm:9.0.1 is x86 specific
|
|
||||||
SKIP_LLVM_SRC_BUILD_INSTALL=yes
|
|
||||||
;;
|
|
||||||
pytorch-linux-jammy-aarch64-py3.10-gcc13-inductor-benchmarks)
|
|
||||||
ANACONDA_PYTHON_VERSION=3.10
|
|
||||||
GCC_VERSION=13
|
|
||||||
ACL=yes
|
ACL=yes
|
||||||
VISION=yes
|
VISION=yes
|
||||||
OPENBLAS=yes
|
OPENBLAS=yes
|
||||||
@ -387,7 +356,6 @@ docker build \
|
|||||||
--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 "HALIDE=${HALIDE}" \
|
||||||
--build-arg "PALLAS=${PALLAS}" \
|
|
||||||
--build-arg "XPU_VERSION=${XPU_VERSION}" \
|
--build-arg "XPU_VERSION=${XPU_VERSION}" \
|
||||||
--build-arg "UNINSTALL_DILL=${UNINSTALL_DILL}" \
|
--build-arg "UNINSTALL_DILL=${UNINSTALL_DILL}" \
|
||||||
--build-arg "ACL=${ACL:-}" \
|
--build-arg "ACL=${ACL:-}" \
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
0.8.0
|
|
||||||
@ -1 +1 @@
|
|||||||
bfeb066872bc1e8b2d2bc0a3b295b99dd77206e7
|
7416ffcb92cdbe98d9f97e4e6f95247e46dfc9fd
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
ACL_VERSION=${ACL_VERSION:-"v52.6.0"}
|
ACL_VERSION=${ACL_VERSION:-"v25.02"}
|
||||||
ACL_INSTALL_DIR="/acl"
|
ACL_INSTALL_DIR="/acl"
|
||||||
|
|
||||||
# Clone ACL
|
# Clone ACL
|
||||||
|
|||||||
@ -8,8 +8,8 @@ if [ -n "$CLANG_VERSION" ]; then
|
|||||||
# work around ubuntu apt-get conflicts
|
# work around ubuntu apt-get conflicts
|
||||||
sudo apt-get -y -f install
|
sudo apt-get -y -f install
|
||||||
wget --no-check-certificate -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget --no-check-certificate -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
if [[ $CLANG_VERSION -ge 18 ]]; then
|
if [[ $CLANG_VERSION == 18 ]]; then
|
||||||
apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${CLANG_VERSION} main"
|
apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@ -49,20 +49,12 @@ if [ -n "$ANACONDA_PYTHON_VERSION" ]; then
|
|||||||
export SYSROOT_DEP="sysroot_linux-64=2.17"
|
export SYSROOT_DEP="sysroot_linux-64=2.17"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install correct Python version
|
|
||||||
# Also ensure sysroot is using a modern GLIBC to match system compilers
|
|
||||||
if [ "$ANACONDA_PYTHON_VERSION" = "3.14" ]; then
|
|
||||||
as_jenkins conda create -n py_$ANACONDA_PYTHON_VERSION -y\
|
|
||||||
python="3.14.0" \
|
|
||||||
${SYSROOT_DEP} \
|
|
||||||
-c conda-forge
|
|
||||||
else
|
|
||||||
# Install correct Python version
|
# Install correct Python version
|
||||||
# Also ensure sysroot is using a modern GLIBC to match system compilers
|
# Also ensure sysroot is using a modern GLIBC to match system compilers
|
||||||
as_jenkins conda create -n py_$ANACONDA_PYTHON_VERSION -y\
|
as_jenkins conda create -n py_$ANACONDA_PYTHON_VERSION -y\
|
||||||
python="$ANACONDA_PYTHON_VERSION" \
|
python="$ANACONDA_PYTHON_VERSION" \
|
||||||
${SYSROOT_DEP}
|
${SYSROOT_DEP}
|
||||||
fi
|
|
||||||
# libstdcxx from conda default channels are too old, we need GLIBCXX_3.4.30
|
# libstdcxx from conda default channels are too old, we need GLIBCXX_3.4.30
|
||||||
# which is provided in libstdcxx 12 and up.
|
# which is provided in libstdcxx 12 and up.
|
||||||
conda_install libstdcxx-ng=12.3.0 --update-deps -c conda-forge
|
conda_install libstdcxx-ng=12.3.0 --update-deps -c conda-forge
|
||||||
|
|||||||
@ -10,7 +10,7 @@ else
|
|||||||
arch_path='sbsa'
|
arch_path='sbsa'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NVSHMEM_VERSION=3.4.5
|
NVSHMEM_VERSION=3.3.24
|
||||||
|
|
||||||
function install_cuda {
|
function install_cuda {
|
||||||
version=$1
|
version=$1
|
||||||
|
|||||||
@ -7,11 +7,11 @@ if [ -n "$GCC_VERSION" ]; then
|
|||||||
# Need the official toolchain repo to get alternate packages
|
# Need the official toolchain repo to get alternate packages
|
||||||
add-apt-repository ppa:ubuntu-toolchain-r/test
|
add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y g++-$GCC_VERSION gfortran-$GCC_VERSION
|
apt-get install -y g++-$GCC_VERSION
|
||||||
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-"$GCC_VERSION" 50
|
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-"$GCC_VERSION" 50
|
||||||
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-"$GCC_VERSION" 50
|
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-"$GCC_VERSION" 50
|
||||||
update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-"$GCC_VERSION" 50
|
update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-"$GCC_VERSION" 50
|
||||||
update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-"$GCC_VERSION" 50
|
|
||||||
|
|
||||||
# Cleanup package manager
|
# Cleanup package manager
|
||||||
apt-get autoclean && apt-get clean
|
apt-get autoclean && apt-get clean
|
||||||
|
|||||||
@ -1,40 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh"
|
|
||||||
|
|
||||||
# Get the pinned JAX version (same for all CUDA versions)
|
|
||||||
JAX_VERSION=$(get_pinned_commit /ci_commit_pins/jax)
|
|
||||||
|
|
||||||
function install_jax_12() {
|
|
||||||
echo "Installing JAX ${JAX_VERSION} with CUDA 12 support"
|
|
||||||
pip_install "jax[cuda12]==${JAX_VERSION}" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
|
|
||||||
|
|
||||||
# Verify installation
|
|
||||||
python -c "import jax" # check for errors
|
|
||||||
echo "JAX ${JAX_VERSION} installation completed successfully for CUDA 12"
|
|
||||||
}
|
|
||||||
|
|
||||||
function install_jax_13() {
|
|
||||||
echo "Installing JAX ${JAX_VERSION} with CUDA 13 support"
|
|
||||||
pip_install "jax[cuda13]==${JAX_VERSION}" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
|
|
||||||
|
|
||||||
# Verify installation
|
|
||||||
python -c "import jax" # check for errors
|
|
||||||
echo "JAX ${JAX_VERSION} installation completed successfully for CUDA 13"
|
|
||||||
}
|
|
||||||
|
|
||||||
# idiomatic parameter and option handling in sh
|
|
||||||
while test $# -gt 0
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
12.4|12.6|12.6.*|12.8|12.8.*|12.9|12.9.*) install_jax_12;
|
|
||||||
;;
|
|
||||||
13.0|13.0.*) install_jax_13;
|
|
||||||
;;
|
|
||||||
*) echo "bad argument $1"; exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Script used only in CD pipeline
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
# install dependencies
|
|
||||||
dnf -y install gmp-devel libmpc-devel texinfo flex bison
|
|
||||||
|
|
||||||
cd /usr/local/src
|
|
||||||
# fetch source for gcc 13
|
|
||||||
git clone --depth 1 --single-branch -b releases/gcc-13.3.0 https://github.com/gcc-mirror/gcc.git gcc-13.3.0
|
|
||||||
|
|
||||||
mkdir -p gcc-13.3.0/build-gomp
|
|
||||||
cd gcc-13.3.0/build-gomp
|
|
||||||
|
|
||||||
# configure gcc build
|
|
||||||
# I got these flags by:
|
|
||||||
# 1. downloading the source rpm for gcc-11 on AlmaLinux 8 container
|
|
||||||
# dnf install -y dnf-plugins-core rpmdevtools
|
|
||||||
# dnf download --source libgomp
|
|
||||||
# 2. extracting the gcc.spec from the source.
|
|
||||||
# rpmdev-extract gcc-xx.src.rpm
|
|
||||||
# 3. extracting optflags and ld_flags from gcc.spec:
|
|
||||||
# rpm --eval '%{optflags}'
|
|
||||||
# rpm --eval '%{build_ldflags}'
|
|
||||||
#
|
|
||||||
# I had to remove the following flags because they didn't compile for this version of libgomp:
|
|
||||||
# -Werror=format-security
|
|
||||||
# -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
|
|
||||||
# -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
|
|
||||||
#
|
|
||||||
# I added -march=armv8-a -mtune=generic to make them explicit. I don't think they're strictly needed.
|
|
||||||
|
|
||||||
OPT_FLAGS='-O2 -march=armv8-a -mtune=generic'\
|
|
||||||
' -fexceptions -g -grecord-gcc-switches -pipe -Wall'\
|
|
||||||
' -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS'\
|
|
||||||
' -fstack-protector-strong -fasynchronous-unwind-tables'\
|
|
||||||
' -fstack-clash-protection'
|
|
||||||
|
|
||||||
LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now'
|
|
||||||
|
|
||||||
CFLAGS="$OPT_FLAGS" \
|
|
||||||
CXXFLAGS="$OPT_FLAGS" \
|
|
||||||
LDFLAGS="$LDFLAGS" \
|
|
||||||
../configure \
|
|
||||||
--prefix=/usr \
|
|
||||||
--libdir=/usr/lib64 \
|
|
||||||
--enable-languages=c,c++ \
|
|
||||||
--disable-multilib \
|
|
||||||
--disable-bootstrap \
|
|
||||||
--enable-libgomp
|
|
||||||
|
|
||||||
# only build libgomp
|
|
||||||
make -j$(nproc) all-target-libgomp
|
|
||||||
|
|
||||||
make install-target-libgomp
|
|
||||||
@ -10,7 +10,6 @@ git clone https://github.com/OpenMathLib/OpenBLAS.git -b "${OPENBLAS_VERSION}" -
|
|||||||
|
|
||||||
OPENBLAS_CHECKOUT_DIR="OpenBLAS"
|
OPENBLAS_CHECKOUT_DIR="OpenBLAS"
|
||||||
OPENBLAS_BUILD_FLAGS="
|
OPENBLAS_BUILD_FLAGS="
|
||||||
CC=gcc
|
|
||||||
NUM_THREADS=128
|
NUM_THREADS=128
|
||||||
USE_OPENMP=1
|
USE_OPENMP=1
|
||||||
NO_SHARED=0
|
NO_SHARED=0
|
||||||
|
|||||||
@ -40,7 +40,11 @@ EOF
|
|||||||
|
|
||||||
# Default url values
|
# Default url values
|
||||||
rocm_baseurl="http://repo.radeon.com/rocm/apt/${ROCM_VERSION}"
|
rocm_baseurl="http://repo.radeon.com/rocm/apt/${ROCM_VERSION}"
|
||||||
|
amdgpu_baseurl="https://repo.radeon.com/amdgpu/${ROCM_VERSION}/ubuntu"
|
||||||
|
|
||||||
|
# Add amdgpu repository
|
||||||
UBUNTU_VERSION_NAME=`cat /etc/os-release | grep UBUNTU_CODENAME | awk -F= '{print $2}'`
|
UBUNTU_VERSION_NAME=`cat /etc/os-release | grep UBUNTU_CODENAME | awk -F= '{print $2}'`
|
||||||
|
echo "deb [arch=amd64] ${amdgpu_baseurl} ${UBUNTU_VERSION_NAME} main" > /etc/apt/sources.list.d/amdgpu.list
|
||||||
|
|
||||||
# Add rocm repository
|
# Add rocm repository
|
||||||
wget -qO - http://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
wget -qO - http://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
||||||
|
|||||||
@ -12,8 +12,8 @@ function do_install() {
|
|||||||
|
|
||||||
rocm_version_nodot=${rocm_version//./}
|
rocm_version_nodot=${rocm_version//./}
|
||||||
|
|
||||||
# post merge of https://github.com/icl-utk-edu/magma/pull/65
|
# https://github.com/icl-utk-edu/magma/pull/65
|
||||||
MAGMA_VERSION=c0792ae825fb36872784892ea643dd6f3456bc5f
|
MAGMA_VERSION=d6e4117bc88e73f06d26c6c2e14f064e8fc3d1ec
|
||||||
magma_archive="magma-rocm${rocm_version_nodot}-${MAGMA_VERSION}-1.tar.bz2"
|
magma_archive="magma-rocm${rocm_version_nodot}-${MAGMA_VERSION}-1.tar.bz2"
|
||||||
|
|
||||||
rocm_dir="/opt/rocm"
|
rocm_dir="/opt/rocm"
|
||||||
|
|||||||
@ -9,7 +9,7 @@ set -xe
|
|||||||
|
|
||||||
function install_ubuntu() {
|
function install_ubuntu() {
|
||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
if [[ ! " jammy noble " =~ " ${VERSION_CODENAME} " ]]; then
|
if [[ ! " jammy " =~ " ${VERSION_CODENAME} " ]]; then
|
||||||
echo "Ubuntu version ${VERSION_CODENAME} not supported"
|
echo "Ubuntu version ${VERSION_CODENAME} not supported"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@ -35,24 +35,25 @@ function install_ubuntu() {
|
|||||||
# The xpu-smi packages
|
# The xpu-smi packages
|
||||||
apt-get install -y flex bison xpu-smi
|
apt-get install -y flex bison xpu-smi
|
||||||
|
|
||||||
# Compute and Media Runtimes
|
if [[ "${XPU_DRIVER_TYPE,,}" == "lts" ]]; then
|
||||||
if [[ " ${VERSION_CODENAME} " =~ " noble " ]]; then
|
# Compute and Media Runtimes
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
intel-opencl-icd libze-intel-gpu1 libze1 \
|
intel-opencl-icd intel-level-zero-gpu level-zero \
|
||||||
intel-media-va-driver-non-free libmfx-gen1 libvpl2 \
|
intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 \
|
||||||
libegl-mesa0 libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
|
libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
|
||||||
libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
|
libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
|
||||||
mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo intel-ocloc
|
mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo
|
||||||
else # jammy
|
# Development Packages
|
||||||
|
apt-get install -y libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev
|
||||||
|
else # rolling driver
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
intel-opencl-icd libze-intel-gpu1 libze1 \
|
intel-opencl-icd libze-intel-gpu1 libze1 \
|
||||||
intel-media-va-driver-non-free libmfx-gen1 libvpl2 \
|
intel-media-va-driver-non-free libmfx-gen1 libvpl2 \
|
||||||
libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
|
libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
|
||||||
libglapi-mesa libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
|
libglapi-mesa libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
|
||||||
mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo intel-ocloc
|
mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo intel-ocloc
|
||||||
|
apt-get install -y libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev libze-dev
|
||||||
fi
|
fi
|
||||||
# Development Packages
|
|
||||||
apt-get install -y libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev libze-dev
|
|
||||||
|
|
||||||
# Install Intel Support Packages
|
# Install Intel Support Packages
|
||||||
apt-get install -y ${XPU_PACKAGES}
|
apt-get install -y ${XPU_PACKAGES}
|
||||||
@ -65,7 +66,7 @@ function install_ubuntu() {
|
|||||||
function install_rhel() {
|
function install_rhel() {
|
||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
if [[ "${ID}" == "rhel" ]]; then
|
if [[ "${ID}" == "rhel" ]]; then
|
||||||
if [[ ! " 8.8 8.10 9.0 9.2 9.3 " =~ " ${VERSION_ID} " ]]; then
|
if [[ ! " 8.8 8.9 9.0 9.2 9.3 " =~ " ${VERSION_ID} " ]]; then
|
||||||
echo "RHEL version ${VERSION_ID} not supported"
|
echo "RHEL version ${VERSION_ID} not supported"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@ -146,7 +147,7 @@ function install_sles() {
|
|||||||
XPU_DRIVER_VERSION=""
|
XPU_DRIVER_VERSION=""
|
||||||
if [[ "${XPU_DRIVER_TYPE,,}" == "lts" ]]; then
|
if [[ "${XPU_DRIVER_TYPE,,}" == "lts" ]]; then
|
||||||
# Use GPU driver LTS releases
|
# Use GPU driver LTS releases
|
||||||
XPU_DRIVER_VERSION="/lts/2523"
|
XPU_DRIVER_VERSION="/lts/2350"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default use Intel® oneAPI Deep Learning Essentials 2025.1
|
# Default use Intel® oneAPI Deep Learning Essentials 2025.1
|
||||||
|
|||||||
@ -49,7 +49,11 @@ case ${DOCKER_TAG_PREFIX} in
|
|||||||
fi
|
fi
|
||||||
BASE_TARGET=rocm
|
BASE_TARGET=rocm
|
||||||
GPU_IMAGE=rocm/dev-ubuntu-22.04:${GPU_ARCH_VERSION}-complete
|
GPU_IMAGE=rocm/dev-ubuntu-22.04:${GPU_ARCH_VERSION}-complete
|
||||||
PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201;gfx950;gfx1150;gfx1151"
|
PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201"
|
||||||
|
# add gfx950, gfx115x conditionally starting in ROCm 7.0
|
||||||
|
if [[ "$GPU_ARCH_VERSION" == *"7.0"* ]]; then
|
||||||
|
PYTORCH_ROCM_ARCH="${PYTORCH_ROCM_ARCH};gfx950;gfx1150;gfx1151"
|
||||||
|
fi
|
||||||
DOCKER_GPU_BUILD_ARG="--build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH} --build-arg ROCM_VERSION=${GPU_ARCH_VERSION}"
|
DOCKER_GPU_BUILD_ARG="--build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH} --build-arg ROCM_VERSION=${GPU_ARCH_VERSION}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|||||||
@ -149,7 +149,7 @@ FROM cpu_final as rocm_final
|
|||||||
ARG ROCM_VERSION=6.0
|
ARG ROCM_VERSION=6.0
|
||||||
ARG PYTORCH_ROCM_ARCH
|
ARG PYTORCH_ROCM_ARCH
|
||||||
ENV PYTORCH_ROCM_ARCH ${PYTORCH_ROCM_ARCH}
|
ENV PYTORCH_ROCM_ARCH ${PYTORCH_ROCM_ARCH}
|
||||||
ARG DEVTOOLSET_VERSION=13
|
ARG DEVTOOLSET_VERSION=11
|
||||||
ENV LDFLAGS="-Wl,-rpath=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/lib64 -Wl,-rpath=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/lib"
|
ENV LDFLAGS="-Wl,-rpath=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/lib64 -Wl,-rpath=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/lib"
|
||||||
# Somewhere in ROCm stack, we still use non-existing /opt/rocm/hip path,
|
# Somewhere in ROCm stack, we still use non-existing /opt/rocm/hip path,
|
||||||
# below workaround helps avoid error
|
# below workaround helps avoid error
|
||||||
|
|||||||
@ -50,10 +50,6 @@ RUN rm install_ninja.sh
|
|||||||
ENV PATH=/opt/rh/gcc-toolset-${GCCTOOLSET_VERSION}/root/usr/bin:$PATH
|
ENV PATH=/opt/rh/gcc-toolset-${GCCTOOLSET_VERSION}/root/usr/bin:$PATH
|
||||||
ENV LD_LIBRARY_PATH=/opt/rh/gcc-toolset-${GCCTOOLSET_VERSION}/root/usr/lib64:/opt/rh/gcc-toolset-${GCCTOOLSET_VERSION}/root/usr/lib:$LD_LIBRARY_PATH
|
ENV LD_LIBRARY_PATH=/opt/rh/gcc-toolset-${GCCTOOLSET_VERSION}/root/usr/lib64:/opt/rh/gcc-toolset-${GCCTOOLSET_VERSION}/root/usr/lib:$LD_LIBRARY_PATH
|
||||||
|
|
||||||
# Build a newer version of libgomp than that supported in in Almalinux 8.
|
|
||||||
COPY ./common/install_libgomp.sh install_libgomp.sh
|
|
||||||
RUN bash ./install_libgomp.sh && rm install_libgomp.sh
|
|
||||||
|
|
||||||
# git236+ would refuse to run git commands in repos owned by other users
|
# git236+ would refuse to run git commands in repos owned by other users
|
||||||
# Which causes version check to fail, as pytorch repo is bind-mounted into the image
|
# Which causes version check to fail, as pytorch repo is bind-mounted into the image
|
||||||
# Override this behaviour by treating every folder as safe
|
# Override this behaviour by treating every folder as safe
|
||||||
|
|||||||
@ -87,13 +87,17 @@ case ${image} in
|
|||||||
MANY_LINUX_VERSION="2_28"
|
MANY_LINUX_VERSION="2_28"
|
||||||
DEVTOOLSET_VERSION="11"
|
DEVTOOLSET_VERSION="11"
|
||||||
GPU_IMAGE=rocm/dev-almalinux-8:${GPU_ARCH_VERSION}-complete
|
GPU_IMAGE=rocm/dev-almalinux-8:${GPU_ARCH_VERSION}-complete
|
||||||
PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201;gfx950;gfx1150;gfx1151"
|
PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201"
|
||||||
|
# add gfx950, gfx115x conditionally starting in ROCm 7.0
|
||||||
|
if [[ "$GPU_ARCH_VERSION" == *"7.0"* ]]; then
|
||||||
|
PYTORCH_ROCM_ARCH="${PYTORCH_ROCM_ARCH};gfx950;gfx1150;gfx1151"
|
||||||
|
fi
|
||||||
DOCKER_GPU_BUILD_ARG="--build-arg ROCM_VERSION=${GPU_ARCH_VERSION} --build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH} --build-arg DEVTOOLSET_VERSION=${DEVTOOLSET_VERSION}"
|
DOCKER_GPU_BUILD_ARG="--build-arg ROCM_VERSION=${GPU_ARCH_VERSION} --build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH} --build-arg DEVTOOLSET_VERSION=${DEVTOOLSET_VERSION}"
|
||||||
;;
|
;;
|
||||||
manylinux2_28-builder:xpu)
|
manylinux2_28-builder:xpu)
|
||||||
TARGET=xpu_final
|
TARGET=xpu_final
|
||||||
GPU_IMAGE=amd64/almalinux:8
|
GPU_IMAGE=amd64/almalinux:8
|
||||||
DOCKER_GPU_BUILD_ARG=" --build-arg DEVTOOLSET_VERSION=13"
|
DOCKER_GPU_BUILD_ARG=" --build-arg DEVTOOLSET_VERSION=11"
|
||||||
MANY_LINUX_VERSION="2_28"
|
MANY_LINUX_VERSION="2_28"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|||||||
@ -138,12 +138,10 @@ numba==0.60.0 ; python_version == "3.12" and platform_machine != "s390x"
|
|||||||
#test_binary_ufuncs.py
|
#test_binary_ufuncs.py
|
||||||
numpy==1.22.4; python_version == "3.10"
|
numpy==1.22.4; python_version == "3.10"
|
||||||
numpy==1.26.2; python_version == "3.11" or python_version == "3.12"
|
numpy==1.26.2; python_version == "3.11" or python_version == "3.12"
|
||||||
numpy==2.1.2; python_version >= "3.13" and python_version < "3.14"
|
numpy==2.1.2; python_version >= "3.13"
|
||||||
numpy==2.3.4; python_version >= "3.14"
|
|
||||||
|
|
||||||
pandas==2.0.3; python_version < "3.13"
|
pandas==2.0.3; python_version < "3.13"
|
||||||
pandas==2.2.3; python_version >= "3.13" and python_version < "3.14"
|
pandas==2.2.3; python_version >= "3.13"
|
||||||
pandas==2.3.3; python_version >= "3.14"
|
|
||||||
|
|
||||||
#onnxruntime
|
#onnxruntime
|
||||||
#Description: scoring engine for Open Neural Network Exchange (ONNX) models
|
#Description: scoring engine for Open Neural Network Exchange (ONNX) models
|
||||||
@ -155,8 +153,7 @@ opt-einsum==3.3
|
|||||||
#Pinned versions: 3.3
|
#Pinned versions: 3.3
|
||||||
#test that import: test_linalg.py
|
#test that import: test_linalg.py
|
||||||
|
|
||||||
optree==0.13.0 ; python_version < "3.14"
|
optree==0.13.0
|
||||||
optree==0.17.0 ; python_version >= "3.14"
|
|
||||||
#Description: A library for tree manipulation
|
#Description: A library for tree manipulation
|
||||||
#Pinned versions: 0.13.0
|
#Pinned versions: 0.13.0
|
||||||
#test that import: test_vmap.py, test_aotdispatch.py, test_dynamic_shapes.py,
|
#test that import: test_vmap.py, test_aotdispatch.py, test_dynamic_shapes.py,
|
||||||
@ -255,8 +252,7 @@ scikit-image==0.22.0
|
|||||||
#test that import:
|
#test that import:
|
||||||
|
|
||||||
scipy==1.10.1 ; python_version <= "3.11"
|
scipy==1.10.1 ; python_version <= "3.11"
|
||||||
scipy==1.14.1 ; python_version > "3.11" and python_version < "3.14"
|
scipy==1.14.1 ; python_version >= "3.12"
|
||||||
scipy==1.16.2 ; python_version >= "3.14"
|
|
||||||
# Pin SciPy because of failing distribution tests (see #60347)
|
# Pin SciPy because of failing distribution tests (see #60347)
|
||||||
#Description: scientific python
|
#Description: scientific python
|
||||||
#Pinned versions: 1.10.1
|
#Pinned versions: 1.10.1
|
||||||
@ -328,8 +324,7 @@ pywavelets==1.7.0 ; python_version >= "3.12"
|
|||||||
#Pinned versions: 1.4.1
|
#Pinned versions: 1.4.1
|
||||||
#test that import:
|
#test that import:
|
||||||
|
|
||||||
lxml==5.3.0 ; python_version < "3.14"
|
lxml==5.3.0
|
||||||
lxml==6.0.2 ; python_version >= "3.14"
|
|
||||||
#Description: This is a requirement of unittest-xml-reporting
|
#Description: This is a requirement of unittest-xml-reporting
|
||||||
|
|
||||||
PyGithub==2.3.0
|
PyGithub==2.3.0
|
||||||
@ -339,9 +334,7 @@ sympy==1.13.3
|
|||||||
#Pinned versions:
|
#Pinned versions:
|
||||||
#test that import:
|
#test that import:
|
||||||
|
|
||||||
onnx==1.19.1 ; python_version < "3.14"
|
onnx==1.19.1
|
||||||
# Unpin once Python 3.14 is supported. See onnxruntime issue 26309.
|
|
||||||
onnx==1.18.0 ; python_version == "3.14"
|
|
||||||
#Description: Required by onnx tests, and mypy and test_public_bindings.py when checking torch.onnx._internal
|
#Description: Required by onnx tests, and mypy and test_public_bindings.py when checking torch.onnx._internal
|
||||||
#Pinned versions:
|
#Pinned versions:
|
||||||
#test that import:
|
#test that import:
|
||||||
@ -366,7 +359,7 @@ pwlf==2.2.1
|
|||||||
#test that import: test_sac_estimator.py
|
#test that import: test_sac_estimator.py
|
||||||
|
|
||||||
# To build PyTorch itself
|
# To build PyTorch itself
|
||||||
pyyaml==6.0.3
|
pyyaml==6.0.2
|
||||||
pyzstd
|
pyzstd
|
||||||
setuptools==78.1.1
|
setuptools==78.1.1
|
||||||
packaging==23.1
|
packaging==23.1
|
||||||
|
|||||||
@ -1,11 +1,15 @@
|
|||||||
sphinx==7.2.6
|
sphinx==5.3.0
|
||||||
#Description: This is used to generate PyTorch docs
|
#Description: This is used to generate PyTorch docs
|
||||||
#Pinned versions: 7.2.6
|
#Pinned versions: 5.3.0
|
||||||
|
|
||||||
pytorch_sphinx_theme2==0.2.0
|
standard-imghdr==3.13.0; python_version >= "3.13"
|
||||||
#Description: This is needed to generate PyTorch docs
|
#Description: This is needed by Sphinx, so it needs to be added here.
|
||||||
#Pinned versions: 0.2.0
|
# The reasons are as follows:
|
||||||
|
# 1) This module has been removed from the Python standard library since Python 3.13(https://peps.python.org/pep-0594/#imghdr);
|
||||||
|
# 2) The current version of Sphinx (5.3.0) is not compatible with Python 3.13.
|
||||||
|
# Once Sphinx is upgraded to a version compatible with Python 3.13 or later, we can remove this dependency.
|
||||||
|
|
||||||
|
-e git+https://github.com/pytorch/pytorch_sphinx_theme.git@71e55749be14ceb56e7f8211a9fb649866b87ad4#egg=pytorch_sphinx_theme2
|
||||||
# TODO: sphinxcontrib.katex 0.9.0 adds a local KaTeX server to speed up pre-rendering
|
# TODO: sphinxcontrib.katex 0.9.0 adds a local KaTeX server to speed up pre-rendering
|
||||||
# but it doesn't seem to work and hangs around idly. The initial thought that it is probably
|
# but it doesn't seem to work and hangs around idly. The initial thought that it is probably
|
||||||
# something related to Docker setup. We can investigate this later.
|
# something related to Docker setup. We can investigate this later.
|
||||||
@ -32,17 +36,17 @@ tensorboard==2.18.0 ; python_version >= "3.13"
|
|||||||
#Description: This is used to generate PyTorch docs
|
#Description: This is used to generate PyTorch docs
|
||||||
#Pinned versions: 2.13.0
|
#Pinned versions: 2.13.0
|
||||||
|
|
||||||
breathe==4.36.0
|
breathe==4.34.0
|
||||||
#Description: This is used to generate PyTorch C++ docs
|
#Description: This is used to generate PyTorch C++ docs
|
||||||
#Pinned versions: 4.36.0
|
#Pinned versions: 4.34.0
|
||||||
|
|
||||||
exhale==0.3.7
|
exhale==0.2.3
|
||||||
#Description: This is used to generate PyTorch C++ docs
|
#Description: This is used to generate PyTorch C++ docs
|
||||||
#Pinned versions: 0.3.7
|
#Pinned versions: 0.2.3
|
||||||
|
|
||||||
docutils==0.20
|
docutils==0.16
|
||||||
#Description: This is used to generate PyTorch C++ docs
|
#Description: This is used to generate PyTorch C++ docs
|
||||||
#Pinned versions: 0.20
|
#Pinned versions: 0.16
|
||||||
|
|
||||||
bs4==0.0.1
|
bs4==0.0.1
|
||||||
#Description: This is used to generate PyTorch C++ docs
|
#Description: This is used to generate PyTorch C++ docs
|
||||||
@ -52,13 +56,13 @@ IPython==8.12.0
|
|||||||
#Description: This is used to generate PyTorch functorch docs
|
#Description: This is used to generate PyTorch functorch docs
|
||||||
#Pinned versions: 8.12.0
|
#Pinned versions: 8.12.0
|
||||||
|
|
||||||
myst-nb==1.3.0
|
myst-nb==0.17.2
|
||||||
#Description: This is used to generate PyTorch functorch and torch.compile docs.
|
#Description: This is used to generate PyTorch functorch and torch.compile docs.
|
||||||
#Pinned versions: 1.3.0
|
#Pinned versions: 0.17.2
|
||||||
|
|
||||||
# The following are required to build torch.distributed.elastic.rendezvous.etcd* docs
|
# The following are required to build torch.distributed.elastic.rendezvous.etcd* docs
|
||||||
python-etcd==0.4.5
|
python-etcd==0.4.5
|
||||||
sphinx-copybutton==0.5.0
|
sphinx-copybutton==0.5.0
|
||||||
sphinx-design==0.6.1
|
sphinx-design==0.4.0
|
||||||
sphinxcontrib-mermaid==1.0.0
|
sphinxcontrib-mermaid==1.0.0
|
||||||
myst-parser==4.0.1
|
myst-parser==0.18.1
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
3.5.1
|
3.5.0
|
||||||
|
|||||||
@ -54,15 +54,12 @@ ENV OPENSSL_DIR /opt/openssl
|
|||||||
RUN rm install_openssl.sh
|
RUN rm install_openssl.sh
|
||||||
|
|
||||||
ARG INDUCTOR_BENCHMARKS
|
ARG INDUCTOR_BENCHMARKS
|
||||||
ARG ANACONDA_PYTHON_VERSION
|
|
||||||
ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION
|
|
||||||
COPY ./common/install_inductor_benchmark_deps.sh install_inductor_benchmark_deps.sh
|
COPY ./common/install_inductor_benchmark_deps.sh install_inductor_benchmark_deps.sh
|
||||||
COPY ./common/common_utils.sh common_utils.sh
|
COPY ./common/common_utils.sh common_utils.sh
|
||||||
COPY ci_commit_pins/huggingface-requirements.txt huggingface-requirements.txt
|
COPY ci_commit_pins/huggingface-requirements.txt huggingface-requirements.txt
|
||||||
COPY ci_commit_pins/timm.txt timm.txt
|
COPY ci_commit_pins/timm.txt timm.txt
|
||||||
COPY ci_commit_pins/torchbench.txt torchbench.txt
|
|
||||||
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
|
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
|
||||||
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface-requirements.txt torchbench.txt
|
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface-requirements.txt
|
||||||
|
|
||||||
# Install XPU Dependencies
|
# Install XPU Dependencies
|
||||||
ARG XPU_VERSION
|
ARG XPU_VERSION
|
||||||
|
|||||||
@ -100,8 +100,6 @@ COPY ./common/common_utils.sh common_utils.sh
|
|||||||
COPY ci_commit_pins/huggingface-requirements.txt huggingface-requirements.txt
|
COPY ci_commit_pins/huggingface-requirements.txt huggingface-requirements.txt
|
||||||
COPY ci_commit_pins/timm.txt timm.txt
|
COPY ci_commit_pins/timm.txt timm.txt
|
||||||
COPY ci_commit_pins/torchbench.txt torchbench.txt
|
COPY ci_commit_pins/torchbench.txt torchbench.txt
|
||||||
# Only build aoti cpp tests when INDUCTOR_BENCHMARKS is set to True
|
|
||||||
ENV BUILD_AOT_INDUCTOR_TEST ${INDUCTOR_BENCHMARKS}
|
|
||||||
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
|
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
|
||||||
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface-requirements.txt torchbench.txt
|
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface-requirements.txt torchbench.txt
|
||||||
|
|
||||||
@ -143,15 +141,6 @@ COPY ci_commit_pins/halide.txt halide.txt
|
|||||||
RUN if [ -n "${HALIDE}" ]; then bash ./install_halide.sh; fi
|
RUN if [ -n "${HALIDE}" ]; then bash ./install_halide.sh; fi
|
||||||
RUN rm install_halide.sh common_utils.sh halide.txt
|
RUN rm install_halide.sh common_utils.sh halide.txt
|
||||||
|
|
||||||
ARG PALLAS
|
|
||||||
ARG CUDA_VERSION
|
|
||||||
# Install JAX with CUDA support (for Pallas)
|
|
||||||
COPY ./common/install_jax.sh install_jax.sh
|
|
||||||
COPY ./common/common_utils.sh common_utils.sh
|
|
||||||
COPY ./ci_commit_pins/jax.txt /ci_commit_pins/jax.txt
|
|
||||||
RUN if [ -n "${PALLAS}" ]; then bash ./install_jax.sh ${CUDA_VERSION}; fi
|
|
||||||
RUN rm -f install_jax.sh common_utils.sh /ci_commit_pins/jax.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 ./
|
||||||
|
|||||||
@ -8,11 +8,9 @@ from abc import ABC, abstractmethod
|
|||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from collections.abc import Callable # Python 3.11+
|
from typing import Any, Callable, Required, TypedDict # Python 3.11+
|
||||||
from typing import Any, Required, TypedDict
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from collections.abc import Callable
|
from typing import Any, Callable, TypedDict
|
||||||
from typing import Any, TypedDict
|
|
||||||
|
|
||||||
from typing_extensions import Required # Fallback for Python <3.11
|
from typing_extensions import Required # Fallback for Python <3.11
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ dependencies = [
|
|||||||
"GitPython==3.1.45",
|
"GitPython==3.1.45",
|
||||||
"docker==7.1.0",
|
"docker==7.1.0",
|
||||||
"pytest==7.3.2",
|
"pytest==7.3.2",
|
||||||
"uv==0.9.6"
|
"uv==0.9.5"
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.setuptools]
|
[tool.setuptools]
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
SHELL=/usr/bin/env bash
|
SHELL=/usr/bin/env bash
|
||||||
|
|
||||||
DOCKER_CMD ?= docker
|
DOCKER_CMD ?= docker
|
||||||
DESIRED_ROCM ?= 7.1
|
DESIRED_ROCM ?= 7.0
|
||||||
DESIRED_ROCM_SHORT = $(subst .,,$(DESIRED_ROCM))
|
DESIRED_ROCM_SHORT = $(subst .,,$(DESIRED_ROCM))
|
||||||
PACKAGE_NAME = magma-rocm
|
PACKAGE_NAME = magma-rocm
|
||||||
# inherit this from underlying docker image, do not pass this env var to docker
|
# inherit this from underlying docker image, do not pass this env var to docker
|
||||||
@ -16,7 +16,6 @@ DOCKER_RUN = set -eou pipefail; ${DOCKER_CMD} run --rm -i \
|
|||||||
magma-rocm/build_magma.sh
|
magma-rocm/build_magma.sh
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: magma-rocm71
|
|
||||||
all: magma-rocm70
|
all: magma-rocm70
|
||||||
all: magma-rocm64
|
all: magma-rocm64
|
||||||
|
|
||||||
@ -25,11 +24,6 @@ clean:
|
|||||||
$(RM) -r magma-*
|
$(RM) -r magma-*
|
||||||
$(RM) -r output
|
$(RM) -r output
|
||||||
|
|
||||||
.PHONY: magma-rocm71
|
|
||||||
magma-rocm71: DESIRED_ROCM := 7.1
|
|
||||||
magma-rocm71:
|
|
||||||
$(DOCKER_RUN)
|
|
||||||
|
|
||||||
.PHONY: magma-rocm70
|
.PHONY: magma-rocm70
|
||||||
magma-rocm70: DESIRED_ROCM := 7.0
|
magma-rocm70: DESIRED_ROCM := 7.0
|
||||||
magma-rocm70:
|
magma-rocm70:
|
||||||
|
|||||||
@ -30,6 +30,7 @@ into a tarball, with the following structure:
|
|||||||
More specifically, `build_magma.sh` copies over the relevant files from the `package_files` directory depending on the ROCm version.
|
More specifically, `build_magma.sh` copies over the relevant files from the `package_files` directory depending on the ROCm version.
|
||||||
Outputted binaries should be in the `output` folder.
|
Outputted binaries should be in the `output` folder.
|
||||||
|
|
||||||
|
|
||||||
## Pushing
|
## Pushing
|
||||||
|
|
||||||
Packages can be uploaded to an S3 bucket using:
|
Packages can be uploaded to an S3 bucket using:
|
||||||
|
|||||||
@ -168,16 +168,14 @@ if [[ "$BUILD_ENVIRONMENT" == *xpu* ]]; then
|
|||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source /opt/intel/oneapi/compiler/latest/env/vars.sh
|
source /opt/intel/oneapi/compiler/latest/env/vars.sh
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source /opt/intel/oneapi/umf/latest/env/vars.sh
|
|
||||||
# shellcheck disable=SC1091
|
|
||||||
source /opt/intel/oneapi/ccl/latest/env/vars.sh
|
source /opt/intel/oneapi/ccl/latest/env/vars.sh
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source /opt/intel/oneapi/mpi/latest/env/vars.sh
|
source /opt/intel/oneapi/mpi/latest/env/vars.sh
|
||||||
# shellcheck disable=SC1091
|
|
||||||
source /opt/intel/oneapi/pti/latest/env/vars.sh
|
|
||||||
# Enable XCCL build
|
# Enable XCCL build
|
||||||
export USE_XCCL=1
|
export USE_XCCL=1
|
||||||
export USE_MPI=0
|
export USE_MPI=0
|
||||||
|
# XPU kineto feature dependencies are not fully ready, disable kineto build as temp WA
|
||||||
|
export USE_KINETO=0
|
||||||
export TORCH_XPU_ARCH_LIST=pvc
|
export TORCH_XPU_ARCH_LIST=pvc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -428,7 +426,7 @@ fi
|
|||||||
if [[ "$BUILD_ENVIRONMENT" != *libtorch* && "$BUILD_ENVIRONMENT" != *bazel* ]]; then
|
if [[ "$BUILD_ENVIRONMENT" != *libtorch* && "$BUILD_ENVIRONMENT" != *bazel* ]]; then
|
||||||
# export test times so that potential sharded tests that'll branch off this build will use consistent data
|
# export test times so that potential sharded tests that'll branch off this build will use consistent data
|
||||||
# don't do this for libtorch as libtorch is C++ only and thus won't have python tests run on its build
|
# don't do this for libtorch as libtorch is C++ only and thus won't have python tests run on its build
|
||||||
PYTHONPATH=. python tools/stats/export_test_times.py
|
python tools/stats/export_test_times.py
|
||||||
fi
|
fi
|
||||||
# don't do this for bazel or s390x or riscv64 as they don't use sccache
|
# don't do this for bazel or s390x or riscv64 as they don't use sccache
|
||||||
if [[ "$BUILD_ENVIRONMENT" != *s390x* && "$BUILD_ENVIRONMENT" != *riscv64* && "$BUILD_ENVIRONMENT" != *-bazel-* ]]; then
|
if [[ "$BUILD_ENVIRONMENT" != *s390x* && "$BUILD_ENVIRONMENT" != *riscv64* && "$BUILD_ENVIRONMENT" != *-bazel-* ]]; then
|
||||||
|
|||||||
@ -96,6 +96,7 @@ function pip_build_and_install() {
|
|||||||
python3 -m pip wheel \
|
python3 -m pip wheel \
|
||||||
--no-build-isolation \
|
--no-build-isolation \
|
||||||
--no-deps \
|
--no-deps \
|
||||||
|
--no-use-pep517 \
|
||||||
-w "${wheel_dir}" \
|
-w "${wheel_dir}" \
|
||||||
"${build_target}"
|
"${build_target}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -89,41 +89,23 @@ if [ "$is_main_doc" = true ]; then
|
|||||||
|
|
||||||
make coverage
|
make coverage
|
||||||
# Now we have the coverage report, we need to make sure it is empty.
|
# Now we have the coverage report, we need to make sure it is empty.
|
||||||
# Sphinx 7.2.6+ format: python.txt contains a statistics table with a TOTAL row
|
# Count the number of lines in the file and turn that number into a variable
|
||||||
# showing the undocumented count in the third column.
|
# $lines. The `cut -f1 ...` is to only parse the number, not the filename
|
||||||
# Example: | TOTAL | 99.83% | 2 |
|
# Skip the report header by subtracting 2: the header will be output even if
|
||||||
|
# there are no undocumented items.
|
||||||
#
|
#
|
||||||
# Also: see docs/source/conf.py for "coverage_ignore*" items, which should
|
# Also: see docs/source/conf.py for "coverage_ignore*" items, which should
|
||||||
# be documented then removed from there.
|
# be documented then removed from there.
|
||||||
|
lines=$(wc -l build/coverage/python.txt 2>/dev/null |cut -f1 -d' ')
|
||||||
# Extract undocumented count from TOTAL row in Sphinx 7.2.6 statistics table
|
undocumented=$((lines - 2))
|
||||||
# The table format is: | Module | Coverage | Undocumented |
|
if [ $undocumented -lt 0 ]; then
|
||||||
# Extract the third column (undocumented count) from the TOTAL row
|
|
||||||
undocumented=$(grep "| TOTAL" build/coverage/python.txt | awk -F'|' '{print $4}' | tr -d ' ')
|
|
||||||
|
|
||||||
if [ -z "$undocumented" ] || ! [[ "$undocumented" =~ ^[0-9]+$ ]]; then
|
|
||||||
echo coverage output not found
|
echo coverage output not found
|
||||||
exit 1
|
exit 1
|
||||||
elif [ "$undocumented" -gt 0 ]; then
|
elif [ $undocumented -gt 0 ]; then
|
||||||
set +x # Disable command echoing for cleaner output
|
echo undocumented objects found:
|
||||||
echo ""
|
cat build/coverage/python.txt
|
||||||
echo "====================="
|
|
||||||
echo "UNDOCUMENTED OBJECTS:"
|
|
||||||
echo "====================="
|
|
||||||
echo ""
|
|
||||||
# Find the line number of the TOTAL row and print only what comes after it
|
|
||||||
total_line=$(grep -n "| TOTAL" build/coverage/python.txt | cut -d: -f1)
|
|
||||||
if [ -n "$total_line" ]; then
|
|
||||||
# Print only the detailed list (skip the statistics table)
|
|
||||||
tail -n +$((total_line + 2)) build/coverage/python.txt
|
|
||||||
else
|
|
||||||
# Fallback to showing entire file if TOTAL line not found
|
|
||||||
cat build/coverage/python.txt
|
|
||||||
fi
|
|
||||||
echo ""
|
|
||||||
echo "Make sure you've updated relevant .rsts in docs/source!"
|
echo "Make sure you've updated relevant .rsts in docs/source!"
|
||||||
echo "You can reproduce locally by running 'cd docs && make coverage && tail -n +\$((grep -n \"| TOTAL\" build/coverage/python.txt | cut -d: -f1) + 2)) build/coverage/python.txt'"
|
echo "You can reproduce locally by running 'cd docs && make coverage && cat build/coverage/python.txt'"
|
||||||
set -x # Re-enable command echoing
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|||||||
@ -208,8 +208,6 @@ if [[ "$BUILD_ENVIRONMENT" == *xpu* ]]; then
|
|||||||
source /opt/intel/oneapi/ccl/latest/env/vars.sh
|
source /opt/intel/oneapi/ccl/latest/env/vars.sh
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source /opt/intel/oneapi/mpi/latest/env/vars.sh
|
source /opt/intel/oneapi/mpi/latest/env/vars.sh
|
||||||
# shellcheck disable=SC1091
|
|
||||||
source /opt/intel/oneapi/pti/latest/env/vars.sh
|
|
||||||
# Check XPU status before testing
|
# Check XPU status before testing
|
||||||
timeout 30 xpu-smi discovery || true
|
timeout 30 xpu-smi discovery || true
|
||||||
fi
|
fi
|
||||||
@ -339,7 +337,7 @@ test_python() {
|
|||||||
|
|
||||||
test_python_smoke() {
|
test_python_smoke() {
|
||||||
# Smoke tests for H100/B200
|
# Smoke tests for H100/B200
|
||||||
time python test/run_test.py --include test_matmul_cuda test_scaled_matmul_cuda inductor/test_fp8 inductor/test_max_autotune inductor/test_cutedsl_grouped_mm $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running
|
time python test/run_test.py --include test_matmul_cuda test_scaled_matmul_cuda inductor/test_fp8 inductor/test_max_autotune $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running
|
||||||
assert_git_not_dirty
|
assert_git_not_dirty
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -462,18 +460,28 @@ test_inductor_shard() {
|
|||||||
--verbose
|
--verbose
|
||||||
}
|
}
|
||||||
|
|
||||||
test_inductor_aoti_cpp() {
|
test_inductor_aoti() {
|
||||||
|
# docker build uses bdist_wheel which does not work with test_aot_inductor
|
||||||
|
# TODO: need a faster way to build
|
||||||
if [[ "$BUILD_ENVIRONMENT" == *rocm* ]]; then
|
if [[ "$BUILD_ENVIRONMENT" == *rocm* ]]; then
|
||||||
# We need to hipify before building again
|
# We need to hipify before building again
|
||||||
python3 tools/amd_build/build_amd.py
|
python3 tools/amd_build/build_amd.py
|
||||||
fi
|
fi
|
||||||
if [[ "$BUILD_ENVIRONMENT" == *sm86* ]]; then
|
if [[ "$BUILD_ENVIRONMENT" == *sm86* ]]; then
|
||||||
|
BUILD_COMMAND=(TORCH_CUDA_ARCH_LIST=8.6 USE_FLASH_ATTENTION=OFF python -m pip install --no-build-isolation -v -e .)
|
||||||
# TODO: Replace me completely, as one should not use conda libstdc++, nor need special path to TORCH_LIB
|
# TODO: Replace me completely, as one should not use conda libstdc++, nor need special path to TORCH_LIB
|
||||||
TEST_ENVS=(CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="/opt/conda/envs/py_3.10/lib:${TORCH_LIB_DIR}:${LD_LIBRARY_PATH}")
|
TEST_ENVS=(CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="/opt/conda/envs/py_3.10/lib:${TORCH_LIB_DIR}:${LD_LIBRARY_PATH}")
|
||||||
else
|
else
|
||||||
|
BUILD_COMMAND=(python -m pip install --no-build-isolation -v -e .)
|
||||||
TEST_ENVS=(CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="${TORCH_LIB_DIR}")
|
TEST_ENVS=(CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="${TORCH_LIB_DIR}")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# aoti cmake custom command requires `torch` to be installed
|
||||||
|
# initialize the cmake build cache and install torch
|
||||||
|
/usr/bin/env "${BUILD_COMMAND[@]}"
|
||||||
|
# rebuild with the build cache with `BUILD_AOT_INDUCTOR_TEST` enabled
|
||||||
|
/usr/bin/env CMAKE_FRESH=1 BUILD_AOT_INDUCTOR_TEST=1 "${BUILD_COMMAND[@]}"
|
||||||
|
|
||||||
/usr/bin/env "${TEST_ENVS[@]}" python test/run_test.py --cpp --verbose -i cpp/test_aoti_abi_check cpp/test_aoti_inference cpp/test_vec_half_AVX2 -dist=loadfile
|
/usr/bin/env "${TEST_ENVS[@]}" python test/run_test.py --cpp --verbose -i cpp/test_aoti_abi_check cpp/test_aoti_inference cpp/test_vec_half_AVX2 -dist=loadfile
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -574,8 +582,6 @@ fi
|
|||||||
|
|
||||||
if [[ "${TEST_CONFIG}" == *cpu* ]]; then
|
if [[ "${TEST_CONFIG}" == *cpu* ]]; then
|
||||||
DYNAMO_BENCHMARK_FLAGS+=(--device cpu)
|
DYNAMO_BENCHMARK_FLAGS+=(--device cpu)
|
||||||
elif [[ "${TEST_CONFIG}" == *xpu* ]]; then
|
|
||||||
DYNAMO_BENCHMARK_FLAGS+=(--device xpu)
|
|
||||||
else
|
else
|
||||||
DYNAMO_BENCHMARK_FLAGS+=(--device cuda)
|
DYNAMO_BENCHMARK_FLAGS+=(--device cuda)
|
||||||
fi
|
fi
|
||||||
@ -669,8 +675,6 @@ test_perf_for_dashboard() {
|
|||||||
device=cuda_b200
|
device=cuda_b200
|
||||||
elif [[ "${TEST_CONFIG}" == *rocm* ]]; then
|
elif [[ "${TEST_CONFIG}" == *rocm* ]]; then
|
||||||
device=rocm
|
device=rocm
|
||||||
elif [[ "${TEST_CONFIG}" == *xpu* ]]; then
|
|
||||||
device=xpu
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for mode in "${modes[@]}"; do
|
for mode in "${modes[@]}"; do
|
||||||
@ -826,11 +830,6 @@ test_inductor_halide() {
|
|||||||
assert_git_not_dirty
|
assert_git_not_dirty
|
||||||
}
|
}
|
||||||
|
|
||||||
test_inductor_pallas() {
|
|
||||||
python test/run_test.py --include inductor/test_pallas.py --verbose
|
|
||||||
assert_git_not_dirty
|
|
||||||
}
|
|
||||||
|
|
||||||
test_inductor_triton_cpu() {
|
test_inductor_triton_cpu() {
|
||||||
python test/run_test.py --include inductor/test_triton_cpu_backend.py inductor/test_torchinductor_strided_blocks.py --verbose
|
python test/run_test.py --include inductor/test_triton_cpu_backend.py inductor/test_torchinductor_strided_blocks.py --verbose
|
||||||
assert_git_not_dirty
|
assert_git_not_dirty
|
||||||
@ -1660,7 +1659,7 @@ test_operator_microbenchmark() {
|
|||||||
|
|
||||||
cd "${TEST_DIR}"/benchmarks/operator_benchmark
|
cd "${TEST_DIR}"/benchmarks/operator_benchmark
|
||||||
|
|
||||||
for OP_BENCHMARK_TESTS in matmul mm addmm bmm conv; do
|
for OP_BENCHMARK_TESTS in matmul mm addmm bmm; do
|
||||||
$TASKSET python -m pt.${OP_BENCHMARK_TESTS}_test --tag-filter long \
|
$TASKSET python -m pt.${OP_BENCHMARK_TESTS}_test --tag-filter long \
|
||||||
--output-json-for-dashboard "${TEST_REPORTS_DIR}/operator_microbenchmark_${OP_BENCHMARK_TESTS}_compile.json" \
|
--output-json-for-dashboard "${TEST_REPORTS_DIR}/operator_microbenchmark_${OP_BENCHMARK_TESTS}_compile.json" \
|
||||||
--benchmark-name "PyTorch operator microbenchmark" --use-compile
|
--benchmark-name "PyTorch operator microbenchmark" --use-compile
|
||||||
@ -1731,8 +1730,6 @@ elif [[ "${TEST_CONFIG}" == *inductor_distributed* ]]; then
|
|||||||
test_inductor_distributed
|
test_inductor_distributed
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor-halide* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor-halide* ]]; then
|
||||||
test_inductor_halide
|
test_inductor_halide
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor-pallas* ]]; then
|
|
||||||
test_inductor_pallas
|
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor-triton-cpu* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor-triton-cpu* ]]; then
|
||||||
test_inductor_triton_cpu
|
test_inductor_triton_cpu
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor-micro-benchmark* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor-micro-benchmark* ]]; then
|
||||||
@ -1770,7 +1767,7 @@ elif [[ "${TEST_CONFIG}" == *torchbench* ]]; then
|
|||||||
else
|
else
|
||||||
# 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* && "${TEST_CONFIG}" != *xpu* ]]; then
|
if [[ "${TEST_CONFIG}" != *cpu* ]]; then
|
||||||
install_torchrec_and_fbgemm
|
install_torchrec_and_fbgemm
|
||||||
fi
|
fi
|
||||||
PYTHONPATH=/torchbench test_dynamo_benchmark torchbench "$id"
|
PYTHONPATH=/torchbench test_dynamo_benchmark torchbench "$id"
|
||||||
@ -1779,7 +1776,7 @@ elif [[ "${TEST_CONFIG}" == *inductor_cpp_wrapper* ]]; then
|
|||||||
install_torchvision
|
install_torchvision
|
||||||
PYTHONPATH=/torchbench test_inductor_cpp_wrapper_shard "$SHARD_NUMBER"
|
PYTHONPATH=/torchbench test_inductor_cpp_wrapper_shard "$SHARD_NUMBER"
|
||||||
if [[ "$SHARD_NUMBER" -eq "1" ]]; then
|
if [[ "$SHARD_NUMBER" -eq "1" ]]; then
|
||||||
test_inductor_aoti_cpp
|
test_inductor_aoti
|
||||||
fi
|
fi
|
||||||
elif [[ "${TEST_CONFIG}" == *inductor* ]]; then
|
elif [[ "${TEST_CONFIG}" == *inductor* ]]; then
|
||||||
install_torchvision
|
install_torchvision
|
||||||
|
|||||||
@ -70,7 +70,7 @@ sccache --zero-stats
|
|||||||
sccache --show-stats
|
sccache --show-stats
|
||||||
|
|
||||||
# Build the wheel
|
# Build the wheel
|
||||||
python -m build --wheel --no-isolation
|
python -m build --wheel --no-build-isolation
|
||||||
if ($LASTEXITCODE -ne 0) { exit 1 }
|
if ($LASTEXITCODE -ne 0) { exit 1 }
|
||||||
|
|
||||||
# Install the wheel locally
|
# Install the wheel locally
|
||||||
|
|||||||
@ -7,9 +7,12 @@ if "%DESIRED_PYTHON%" == "3.13t" (
|
|||||||
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe"
|
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe"
|
||||||
set ADDITIONAL_OPTIONS="Include_freethreaded=1"
|
set ADDITIONAL_OPTIONS="Include_freethreaded=1"
|
||||||
set PYTHON_EXEC="python3.13t"
|
set PYTHON_EXEC="python3.13t"
|
||||||
|
) else if "%DESIRED_PYTHON%"=="3.14" (
|
||||||
|
echo Python version is set to 3.14 or 3.14t
|
||||||
|
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.14.0/python-3.14.0rc1-amd64.exe"
|
||||||
) else if "%DESIRED_PYTHON%"=="3.14t" (
|
) else if "%DESIRED_PYTHON%"=="3.14t" (
|
||||||
echo Python version is set to 3.14 or 3.14t
|
echo Python version is set to 3.14 or 3.14t
|
||||||
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.14.0/python-3.14.0-amd64.exe"
|
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.14.0/python-3.14.0rc1-amd64.exe"
|
||||||
set ADDITIONAL_OPTIONS="Include_freethreaded=1"
|
set ADDITIONAL_OPTIONS="Include_freethreaded=1"
|
||||||
set PYTHON_EXEC="python3.14t"
|
set PYTHON_EXEC="python3.14t"
|
||||||
) else (
|
) else (
|
||||||
|
|||||||
@ -60,11 +60,9 @@ performance-*,
|
|||||||
readability-container-size-empty,
|
readability-container-size-empty,
|
||||||
readability-delete-null-pointer,
|
readability-delete-null-pointer,
|
||||||
readability-duplicate-include,
|
readability-duplicate-include,
|
||||||
readability-named-parameter,
|
|
||||||
readability-misplaced-array-index,
|
readability-misplaced-array-index,
|
||||||
readability-redundant*,
|
readability-redundant*,
|
||||||
readability-simplify-subscript-expr,
|
readability-simplify-subscript-expr,
|
||||||
readability-static-definition-in-anonymous-namespace
|
|
||||||
readability-string-compare,
|
readability-string-compare,
|
||||||
-readability-redundant-access-specifiers,
|
-readability-redundant-access-specifiers,
|
||||||
-readability-redundant-control-flow,
|
-readability-redundant-control-flow,
|
||||||
|
|||||||
@ -1,319 +0,0 @@
|
|||||||
---
|
|
||||||
name: add-uint-support
|
|
||||||
description: Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
|
|
||||||
---
|
|
||||||
|
|
||||||
# Add Unsigned Integer (uint) Support to Operators
|
|
||||||
|
|
||||||
This skill helps add support for unsigned integer types (uint16, uint32, uint64) to PyTorch operators by updating their AT_DISPATCH macros.
|
|
||||||
|
|
||||||
## When to use this skill
|
|
||||||
|
|
||||||
Use this skill when:
|
|
||||||
- Adding uint16, uint32, or uint64 support to an operator
|
|
||||||
- User mentions "unsigned types", "uint support", "barebones unsigned types"
|
|
||||||
- Enabling support for kUInt16, kUInt32, kUInt64 in kernels
|
|
||||||
- Working with operator implementations that need expanded type coverage
|
|
||||||
|
|
||||||
## Quick reference
|
|
||||||
|
|
||||||
**Add unsigned types to existing dispatch:**
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES));
|
|
||||||
|
|
||||||
// After (method 1: add unsigned types explicitly)
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES));
|
|
||||||
|
|
||||||
// After (method 2: use V2 integral types if AT_INTEGRAL_TYPES present)
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_INTEGRAL_TYPES_V2), AT_EXPAND(AT_FLOATING_TYPES));
|
|
||||||
```
|
|
||||||
|
|
||||||
## Type group reference
|
|
||||||
|
|
||||||
**Unsigned type groups:**
|
|
||||||
- `AT_BAREBONES_UNSIGNED_TYPES`: kUInt16, kUInt32, kUInt64
|
|
||||||
- `AT_INTEGRAL_TYPES_V2`: AT_INTEGRAL_TYPES + AT_BAREBONES_UNSIGNED_TYPES
|
|
||||||
|
|
||||||
**Relationship:**
|
|
||||||
```cpp
|
|
||||||
AT_INTEGRAL_TYPES // kByte, kChar, kInt, kLong, kShort
|
|
||||||
AT_BAREBONES_UNSIGNED_TYPES // kUInt16, kUInt32, kUInt64
|
|
||||||
AT_INTEGRAL_TYPES_V2 // INTEGRAL_TYPES + BAREBONES_UNSIGNED_TYPES
|
|
||||||
```
|
|
||||||
|
|
||||||
## Instructions
|
|
||||||
|
|
||||||
### Step 1: Determine if conversion to V2 is needed
|
|
||||||
|
|
||||||
Check if the file uses AT_DISPATCH_V2:
|
|
||||||
|
|
||||||
**If using old AT_DISPATCH:**
|
|
||||||
- First convert to AT_DISPATCH_V2 using the at-dispatch-v2 skill
|
|
||||||
- Then proceed with adding uint support
|
|
||||||
|
|
||||||
**If already using AT_DISPATCH_V2:**
|
|
||||||
- Proceed directly to Step 2
|
|
||||||
|
|
||||||
### Step 2: Analyze the current dispatch macro
|
|
||||||
|
|
||||||
Identify what type groups are currently in use:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
// body
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), kHalf, kBFloat16);
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
Current type coverage
|
|
||||||
```
|
|
||||||
|
|
||||||
Common patterns:
|
|
||||||
- `AT_EXPAND(AT_ALL_TYPES)` → includes AT_INTEGRAL_TYPES + AT_FLOATING_TYPES
|
|
||||||
- `AT_EXPAND(AT_INTEGRAL_TYPES)` → signed integers only
|
|
||||||
- `AT_EXPAND(AT_FLOATING_TYPES)` → floating point types
|
|
||||||
|
|
||||||
### Step 3: Choose the uint addition method
|
|
||||||
|
|
||||||
Two approaches:
|
|
||||||
|
|
||||||
**Method 1: Add AT_BAREBONES_UNSIGNED_TYPES explicitly**
|
|
||||||
- Use when: You want to be explicit about adding uint support
|
|
||||||
- Add `AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES)` to the type list
|
|
||||||
|
|
||||||
**Method 2: Substitute AT_INTEGRAL_TYPES with AT_INTEGRAL_TYPES_V2**
|
|
||||||
- Use when: The dispatch already uses `AT_EXPAND(AT_INTEGRAL_TYPES)`
|
|
||||||
- More concise: replaces one type group with its superset
|
|
||||||
- Only applicable if AT_INTEGRAL_TYPES is present
|
|
||||||
|
|
||||||
### Step 4: Apply the transformation
|
|
||||||
|
|
||||||
**Method 1 example:**
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
dtype,
|
|
||||||
"min_values_cuda",
|
|
||||||
AT_WRAP([&]() {
|
|
||||||
kernel_impl<scalar_t>(iter);
|
|
||||||
}),
|
|
||||||
AT_EXPAND(AT_ALL_TYPES),
|
|
||||||
kBFloat16, kHalf, kBool
|
|
||||||
);
|
|
||||||
|
|
||||||
// After (add unsigned types)
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
dtype,
|
|
||||||
"min_values_cuda",
|
|
||||||
AT_WRAP([&]() {
|
|
||||||
kernel_impl<scalar_t>(iter);
|
|
||||||
}),
|
|
||||||
AT_EXPAND(AT_ALL_TYPES),
|
|
||||||
AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES),
|
|
||||||
kBFloat16, kHalf, kBool
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
**Method 2 example:**
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
dtype,
|
|
||||||
"integral_op",
|
|
||||||
AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}),
|
|
||||||
AT_EXPAND(AT_INTEGRAL_TYPES)
|
|
||||||
);
|
|
||||||
|
|
||||||
// After (substitute with V2)
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
dtype,
|
|
||||||
"integral_op",
|
|
||||||
AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}),
|
|
||||||
AT_EXPAND(AT_INTEGRAL_TYPES_V2)
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 5: Handle AT_ALL_TYPES vs individual type groups
|
|
||||||
|
|
||||||
If the dispatch uses `AT_EXPAND(AT_ALL_TYPES)`:
|
|
||||||
- `AT_ALL_TYPES` = `AT_INTEGRAL_TYPES` + `AT_FLOATING_TYPES`
|
|
||||||
- To add uint: add `AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES)` to the list
|
|
||||||
|
|
||||||
If the dispatch separately lists INTEGRAL and FLOATING:
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_EXPAND(AT_INTEGRAL_TYPES), AT_EXPAND(AT_FLOATING_TYPES)
|
|
||||||
|
|
||||||
// After (Method 2 preferred)
|
|
||||||
AT_EXPAND(AT_INTEGRAL_TYPES_V2), AT_EXPAND(AT_FLOATING_TYPES)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 6: Verify all dispatch sites
|
|
||||||
|
|
||||||
Check the file for ALL dispatch macros that need uint support:
|
|
||||||
- Some operators have multiple dispatch sites (CPU, CUDA, different functions)
|
|
||||||
- Apply the transformation consistently across all sites
|
|
||||||
- Ensure each gets the same type coverage updates
|
|
||||||
|
|
||||||
### Step 7: Validate the changes
|
|
||||||
|
|
||||||
Check that:
|
|
||||||
- [ ] AT_DISPATCH_V2 format is used (not old AT_DISPATCH)
|
|
||||||
- [ ] Unsigned types are added via one of the two methods
|
|
||||||
- [ ] All relevant dispatch sites in the file are updated
|
|
||||||
- [ ] Type groups use `AT_EXPAND()`
|
|
||||||
- [ ] Arguments are properly formatted and comma-separated
|
|
||||||
|
|
||||||
## Common patterns
|
|
||||||
|
|
||||||
### Pattern 1: AT_ALL_TYPES + extras
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), kHalf, kBFloat16);
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES), kHalf, kBFloat16);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Pattern 2: Separate INTEGRAL + FLOATING
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_INTEGRAL_TYPES), AT_EXPAND(AT_FLOATING_TYPES));
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_INTEGRAL_TYPES_V2), AT_EXPAND(AT_FLOATING_TYPES));
|
|
||||||
```
|
|
||||||
|
|
||||||
### Pattern 3: Old dispatch needs conversion first
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before (needs v2 conversion first)
|
|
||||||
AT_DISPATCH_ALL_TYPES_AND2(kHalf, kBFloat16, dtype, "op", [&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
});
|
|
||||||
|
|
||||||
// After v2 conversion
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), kHalf, kBFloat16);
|
|
||||||
|
|
||||||
// After adding uint support
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES), kHalf, kBFloat16);
|
|
||||||
```
|
|
||||||
|
|
||||||
## Multiple dispatch sites example
|
|
||||||
|
|
||||||
For a file with multiple functions:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
void min_values_kernel_cuda(TensorIterator& iter) {
|
|
||||||
AT_DISPATCH_V2(iter.dtype(), "min_values_cuda", AT_WRAP([&]() {
|
|
||||||
impl<scalar_t>(iter);
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES), kBFloat16, kHalf);
|
|
||||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
// Added uint support
|
|
||||||
}
|
|
||||||
|
|
||||||
void min_launch_kernel(TensorIterator &iter) {
|
|
||||||
AT_DISPATCH_V2(iter.input_dtype(), "min_cuda", AT_WRAP([&]() {
|
|
||||||
gpu_reduce_kernel<scalar_t>(iter);
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES), kBFloat16, kHalf);
|
|
||||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
// Added uint support here too
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Decision tree
|
|
||||||
|
|
||||||
Use this decision tree to determine the approach:
|
|
||||||
|
|
||||||
```
|
|
||||||
Is the file using AT_DISPATCH_V2?
|
|
||||||
├─ No → Use at-dispatch-v2 skill first, then continue
|
|
||||||
└─ Yes
|
|
||||||
└─ Does it use AT_EXPAND(AT_INTEGRAL_TYPES)?
|
|
||||||
├─ Yes → Replace with AT_EXPAND(AT_INTEGRAL_TYPES_V2)
|
|
||||||
└─ No → Add AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES) to type list
|
|
||||||
```
|
|
||||||
|
|
||||||
## Edge cases
|
|
||||||
|
|
||||||
### Case 1: Dispatch with only floating types
|
|
||||||
|
|
||||||
If the operator only supports floating point types, don't add uint support:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Leave as-is - floating point only operator
|
|
||||||
AT_DISPATCH_V2(dtype, "float_op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_FLOATING_TYPES), kHalf);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Case 2: Complex types present
|
|
||||||
|
|
||||||
Unsigned types work alongside complex types:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES),
|
|
||||||
AT_EXPAND(AT_BAREBONES_UNSIGNED_TYPES),
|
|
||||||
AT_EXPAND(AT_COMPLEX_TYPES),
|
|
||||||
kHalf, kBFloat16);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Case 3: Already has uint support
|
|
||||||
|
|
||||||
Check if uint types are already present:
|
|
||||||
- If `AT_INTEGRAL_TYPES_V2` is used → already has uint support
|
|
||||||
- If `AT_BAREBONES_UNSIGNED_TYPES` is already in list → already has uint support
|
|
||||||
- Skip the file if uint support is already present
|
|
||||||
|
|
||||||
## Workflow
|
|
||||||
|
|
||||||
When asked to add uint support:
|
|
||||||
|
|
||||||
1. Read the target file
|
|
||||||
2. Check if using AT_DISPATCH_V2:
|
|
||||||
- If not → use at-dispatch-v2 skill first
|
|
||||||
3. Identify all dispatch macro sites
|
|
||||||
4. For each dispatch:
|
|
||||||
- Analyze current type groups
|
|
||||||
- Choose method (add BAREBONES_UNSIGNED or upgrade to V2)
|
|
||||||
- Apply transformation with Edit tool
|
|
||||||
5. Show the user the changes
|
|
||||||
6. Explain what was modified
|
|
||||||
|
|
||||||
## Important notes
|
|
||||||
|
|
||||||
- Always check if v2 conversion is needed first
|
|
||||||
- Apply changes consistently across all dispatch sites in the file
|
|
||||||
- Method 2 (AT_INTEGRAL_TYPES_V2) is cleaner when applicable
|
|
||||||
- Method 1 (explicit AT_BAREBONES_UNSIGNED_TYPES) is more explicit
|
|
||||||
- Unsigned types are: kUInt16, kUInt32, kUInt64 (not kByte which is uint8)
|
|
||||||
- Some operators may not semantically support unsigned types - use judgment
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
After adding uint support, the operator should accept uint16, uint32, and uint64 tensors. The user is responsible for functional testing.
|
|
||||||
@ -1,305 +0,0 @@
|
|||||||
---
|
|
||||||
name: at-dispatch-v2
|
|
||||||
description: Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
|
|
||||||
---
|
|
||||||
|
|
||||||
# AT_DISPATCH to AT_DISPATCH_V2 Converter
|
|
||||||
|
|
||||||
This skill helps convert PyTorch's legacy AT_DISPATCH macros to the new AT_DISPATCH_V2 format, as defined in `aten/src/ATen/Dispatch_v2.h`.
|
|
||||||
|
|
||||||
## When to use this skill
|
|
||||||
|
|
||||||
Use this skill when:
|
|
||||||
- Converting AT_DISPATCH_* macros to AT_DISPATCH_V2
|
|
||||||
- Porting ATen kernels to use the new dispatch API
|
|
||||||
- Working with files in `aten/src/ATen/native/` that use dispatch macros
|
|
||||||
- User mentions "AT_DISPATCH", "dispatch v2", "Dispatch_v2.h", or macro conversion
|
|
||||||
|
|
||||||
## Quick reference
|
|
||||||
|
|
||||||
**Old format:**
|
|
||||||
```cpp
|
|
||||||
AT_DISPATCH_ALL_TYPES_AND3(kBFloat16, kHalf, kBool, dtype, "kernel_name", [&]() {
|
|
||||||
// lambda body
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
**New format:**
|
|
||||||
```cpp
|
|
||||||
AT_DISPATCH_V2(dtype, "kernel_name", AT_WRAP([&]() {
|
|
||||||
// lambda body
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), kBFloat16, kHalf, kBool);
|
|
||||||
```
|
|
||||||
|
|
||||||
## Key transformations
|
|
||||||
|
|
||||||
1. **Reorder arguments**: `scalar_type` and `name` come first, then lambda, then types
|
|
||||||
2. **Wrap the lambda**: Use `AT_WRAP(lambda)` to handle internal commas
|
|
||||||
3. **Expand type groups**: Use `AT_EXPAND(AT_ALL_TYPES)` instead of implicit expansion
|
|
||||||
4. **List individual types**: Add extra types (kHalf, kBFloat16, etc.) after expanded groups
|
|
||||||
5. **Add include**: `#include <ATen/Dispatch_v2.h>` near other Dispatch includes
|
|
||||||
|
|
||||||
## Instructions
|
|
||||||
|
|
||||||
### Step 1: Add the Dispatch_v2.h include
|
|
||||||
|
|
||||||
Add the v2 header near the existing `#include <ATen/Dispatch.h>`:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
#include <ATen/Dispatch.h>
|
|
||||||
#include <ATen/Dispatch_v2.h>
|
|
||||||
```
|
|
||||||
|
|
||||||
Keep the old Dispatch.h include for now (other code may still need it).
|
|
||||||
|
|
||||||
### Step 2: Identify the old dispatch pattern
|
|
||||||
|
|
||||||
Common patterns to convert:
|
|
||||||
|
|
||||||
- `AT_DISPATCH_ALL_TYPES_AND{2,3,4}(type1, type2, ..., scalar_type, name, lambda)`
|
|
||||||
- `AT_DISPATCH_FLOATING_TYPES_AND{2,3}(type1, type2, ..., scalar_type, name, lambda)`
|
|
||||||
- `AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND{2,3}(type1, ..., scalar_type, name, lambda)`
|
|
||||||
- `AT_DISPATCH_FLOATING_AND_COMPLEX_TYPES_AND{2,3}(type1, ..., scalar_type, name, lambda)`
|
|
||||||
|
|
||||||
### Step 3: Map the old macro to type groups
|
|
||||||
|
|
||||||
Identify which type group macro corresponds to the base types:
|
|
||||||
|
|
||||||
| Old macro base | AT_DISPATCH_V2 type group |
|
|
||||||
|----------------|---------------------------|
|
|
||||||
| `ALL_TYPES` | `AT_EXPAND(AT_ALL_TYPES)` |
|
|
||||||
| `FLOATING_TYPES` | `AT_EXPAND(AT_FLOATING_TYPES)` |
|
|
||||||
| `INTEGRAL_TYPES` | `AT_EXPAND(AT_INTEGRAL_TYPES)` |
|
|
||||||
| `COMPLEX_TYPES` | `AT_EXPAND(AT_COMPLEX_TYPES)` |
|
|
||||||
| `ALL_TYPES_AND_COMPLEX` | `AT_EXPAND(AT_ALL_TYPES_AND_COMPLEX)` |
|
|
||||||
|
|
||||||
For combined patterns, use multiple `AT_EXPAND()` entries:
|
|
||||||
```cpp
|
|
||||||
// Old: AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND2(...)
|
|
||||||
// New: AT_EXPAND(AT_ALL_TYPES), AT_EXPAND(AT_COMPLEX_TYPES), type1, type2
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 4: Extract the individual types
|
|
||||||
|
|
||||||
From `AT_DISPATCH_*_AND2(type1, type2, ...)` or `AT_DISPATCH_*_AND3(type1, type2, type3, ...)`, extract the individual types (type1, type2, etc.).
|
|
||||||
|
|
||||||
These become the trailing arguments after the type group:
|
|
||||||
```cpp
|
|
||||||
AT_DISPATCH_V2(..., AT_EXPAND(AT_ALL_TYPES), kBFloat16, kHalf, kBool)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
Individual types from AND3
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 5: Transform to AT_DISPATCH_V2
|
|
||||||
|
|
||||||
Apply the transformation:
|
|
||||||
|
|
||||||
**Pattern:**
|
|
||||||
```cpp
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
scalar_type, // 1st: The dtype expression
|
|
||||||
"name", // 2nd: The debug string
|
|
||||||
AT_WRAP(lambda), // 3rd: The lambda wrapped in AT_WRAP
|
|
||||||
type_groups, // 4th+: Type groups with AT_EXPAND()
|
|
||||||
individual_types // Last: Individual types
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
**Example transformation:**
|
|
||||||
```cpp
|
|
||||||
// BEFORE
|
|
||||||
AT_DISPATCH_ALL_TYPES_AND3(
|
|
||||||
kBFloat16, kHalf, kBool,
|
|
||||||
iter.dtype(),
|
|
||||||
"min_values_cuda",
|
|
||||||
[&]() {
|
|
||||||
min_values_kernel_cuda_impl<scalar_t>(iter);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// AFTER
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
iter.dtype(),
|
|
||||||
"min_values_cuda",
|
|
||||||
AT_WRAP([&]() {
|
|
||||||
min_values_kernel_cuda_impl<scalar_t>(iter);
|
|
||||||
}),
|
|
||||||
AT_EXPAND(AT_ALL_TYPES),
|
|
||||||
kBFloat16, kHalf, kBool
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 6: Handle multi-line lambdas
|
|
||||||
|
|
||||||
For lambdas with internal commas or complex expressions, AT_WRAP is essential:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
dtype,
|
|
||||||
"complex_kernel",
|
|
||||||
AT_WRAP([&]() {
|
|
||||||
gpu_reduce_kernel<scalar_t, scalar_t>(
|
|
||||||
iter,
|
|
||||||
MinOps<scalar_t>{},
|
|
||||||
thrust::pair<scalar_t, int64_t>(upper_bound(), 0) // Commas inside!
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
AT_EXPAND(AT_ALL_TYPES)
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 7: Verify the conversion
|
|
||||||
|
|
||||||
Check that:
|
|
||||||
- [ ] `AT_WRAP()` wraps the entire lambda
|
|
||||||
- [ ] Type groups use `AT_EXPAND()`
|
|
||||||
- [ ] Individual types don't have `AT_EXPAND()` (just `kBFloat16`, not `AT_EXPAND(kBFloat16)`)
|
|
||||||
- [ ] Argument order is: scalar_type, name, lambda, types
|
|
||||||
- [ ] Include added: `#include <ATen/Dispatch_v2.h>`
|
|
||||||
|
|
||||||
## Type group reference
|
|
||||||
|
|
||||||
Available type group macros (use with `AT_EXPAND()`):
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
AT_INTEGRAL_TYPES // kByte, kChar, kInt, kLong, kShort
|
|
||||||
AT_FLOATING_TYPES // kDouble, kFloat
|
|
||||||
AT_COMPLEX_TYPES // kComplexDouble, kComplexFloat
|
|
||||||
AT_QINT_TYPES // kQInt8, kQUInt8, kQInt32
|
|
||||||
AT_ALL_TYPES // INTEGRAL_TYPES + FLOATING_TYPES
|
|
||||||
AT_ALL_TYPES_AND_COMPLEX // ALL_TYPES + COMPLEX_TYPES
|
|
||||||
AT_INTEGRAL_TYPES_V2 // INTEGRAL_TYPES + unsigned types
|
|
||||||
AT_BAREBONES_UNSIGNED_TYPES // kUInt16, kUInt32, kUInt64
|
|
||||||
AT_FLOAT8_TYPES // Float8 variants
|
|
||||||
```
|
|
||||||
|
|
||||||
## Common patterns
|
|
||||||
|
|
||||||
### Pattern: AT_DISPATCH_ALL_TYPES_AND2
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_ALL_TYPES_AND2(kHalf, kBFloat16, dtype, "op", [&]() {
|
|
||||||
kernel<scalar_t>(data);
|
|
||||||
});
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>(data);
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), kHalf, kBFloat16);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Pattern: AT_DISPATCH_FLOATING_TYPES_AND3
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_FLOATING_TYPES_AND3(kHalf, kBFloat16, kFloat8_e4m3fn,
|
|
||||||
tensor.scalar_type(), "float_op", [&] {
|
|
||||||
process<scalar_t>(tensor);
|
|
||||||
});
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(tensor.scalar_type(), "float_op", AT_WRAP([&] {
|
|
||||||
process<scalar_t>(tensor);
|
|
||||||
}), AT_EXPAND(AT_FLOATING_TYPES), kHalf, kBFloat16, kFloat8_e4m3fn);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Pattern: AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND2
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND2(
|
|
||||||
kComplexHalf, kHalf,
|
|
||||||
self.scalar_type(),
|
|
||||||
"complex_op",
|
|
||||||
[&] {
|
|
||||||
result = compute<scalar_t>(self);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(
|
|
||||||
self.scalar_type(),
|
|
||||||
"complex_op",
|
|
||||||
AT_WRAP([&] {
|
|
||||||
result = compute<scalar_t>(self);
|
|
||||||
}),
|
|
||||||
AT_EXPAND(AT_ALL_TYPES),
|
|
||||||
AT_EXPAND(AT_COMPLEX_TYPES),
|
|
||||||
kComplexHalf,
|
|
||||||
kHalf
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
## Edge cases
|
|
||||||
|
|
||||||
### Case 1: No extra types (rare)
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_ALL_TYPES(dtype, "op", [&]() { kernel<scalar_t>(); });
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES));
|
|
||||||
```
|
|
||||||
|
|
||||||
### Case 2: Many individual types (AND4, AND5, etc.)
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_FLOATING_TYPES_AND4(kHalf, kBFloat16, kFloat8_e4m3fn, kFloat8_e5m2,
|
|
||||||
dtype, "float8_op", [&]() { kernel<scalar_t>(); });
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(dtype, "float8_op", AT_WRAP([&]() {
|
|
||||||
kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_FLOATING_TYPES), kHalf, kBFloat16, kFloat8_e4m3fn, kFloat8_e5m2);
|
|
||||||
```
|
|
||||||
|
|
||||||
### Case 3: Lambda with no captures
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
// Before
|
|
||||||
AT_DISPATCH_ALL_TYPES_AND2(kHalf, kBool, dtype, "op", []() {
|
|
||||||
static_kernel<scalar_t>();
|
|
||||||
});
|
|
||||||
|
|
||||||
// After
|
|
||||||
AT_DISPATCH_V2(dtype, "op", AT_WRAP([]() {
|
|
||||||
static_kernel<scalar_t>();
|
|
||||||
}), AT_EXPAND(AT_ALL_TYPES), kHalf, kBool);
|
|
||||||
```
|
|
||||||
|
|
||||||
## Benefits of AT_DISPATCH_V2
|
|
||||||
|
|
||||||
1. **No arity in macro name**: Don't need different macros for AND2, AND3, AND4
|
|
||||||
2. **Composable type sets**: Mix and match type groups with `AT_EXPAND()`
|
|
||||||
3. **Extensible**: Easy to add more types without hitting macro limits
|
|
||||||
4. **Clearer**: Type groups are explicit, not implicit in macro name
|
|
||||||
|
|
||||||
## Important notes
|
|
||||||
|
|
||||||
- Keep `#include <ATen/Dispatch.h>` - other code may need it
|
|
||||||
- The `AT_WRAP()` is mandatory - prevents comma parsing issues in the lambda
|
|
||||||
- Type groups need `AT_EXPAND()`, individual types don't
|
|
||||||
- The v2 API is in `aten/src/ATen/Dispatch_v2.h` - refer to it for full docs
|
|
||||||
- See the header file for the Python script to regenerate the macro implementation
|
|
||||||
|
|
||||||
## Workflow
|
|
||||||
|
|
||||||
When asked to convert AT_DISPATCH macros:
|
|
||||||
|
|
||||||
1. Read the file to identify all AT_DISPATCH uses
|
|
||||||
2. Add `#include <ATen/Dispatch_v2.h>` if not present
|
|
||||||
3. For each dispatch macro:
|
|
||||||
- Identify the pattern and extract components
|
|
||||||
- Map the base type group
|
|
||||||
- Extract individual types
|
|
||||||
- Construct the AT_DISPATCH_V2 call
|
|
||||||
- Apply with Edit tool
|
|
||||||
4. Show the user the complete converted file
|
|
||||||
5. Explain what was changed
|
|
||||||
|
|
||||||
Do NOT compile or test the code - focus on accurate conversion only.
|
|
||||||
@ -1,11 +1,11 @@
|
|||||||
name: 🚀 New Feature for Release
|
name: 🚀 Release highlight for proposed Feature
|
||||||
description: Submit a Release highlight for proposed Feature
|
description: Submit a Release highlight for proposed Feature
|
||||||
labels: ["release-feature-request"]
|
labels: ["release-feature-request"]
|
||||||
|
|
||||||
body:
|
body:
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: New Feature for Release
|
label: Release highlight for proposed Feature
|
||||||
description: >
|
description: >
|
||||||
Example: “A torch.special module, analogous to SciPy's special module.”
|
Example: “A torch.special module, analogous to SciPy's special module.”
|
||||||
- type: input
|
- type: input
|
||||||
|
|||||||
2
.github/actionlint.yaml
vendored
2
.github/actionlint.yaml
vendored
@ -63,7 +63,7 @@ self-hosted-runner:
|
|||||||
- linux.rocm.gpu.gfx942.1
|
- linux.rocm.gpu.gfx942.1
|
||||||
- linux.rocm.gpu.gfx942.2
|
- linux.rocm.gpu.gfx942.2
|
||||||
- linux.rocm.gpu.gfx942.4
|
- linux.rocm.gpu.gfx942.4
|
||||||
- linux.rocm.gfx942.docker-cache
|
- rocm-docker
|
||||||
# Org wise AWS `mac2.metal` runners (2020 Mac mini hardware powered by Apple silicon M1 processors)
|
# Org wise AWS `mac2.metal` runners (2020 Mac mini hardware powered by Apple silicon M1 processors)
|
||||||
- macos-m1-stable
|
- macos-m1-stable
|
||||||
- macos-m1-14
|
- macos-m1-14
|
||||||
|
|||||||
4
.github/actions/diskspace-cleanup/action.yml
vendored
4
.github/actions/diskspace-cleanup/action.yml
vendored
@ -27,9 +27,7 @@ runs:
|
|||||||
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 ${docker_root_dir} | sed -n 2p | sed 's/%//' | sed 's/ //')
|
||||||
if [[ "$diskspace_new" -gt "$diskspace_cutoff" ]] ; then
|
if [[ "$diskspace_new" -gt "$diskspace_cutoff" ]] ; then
|
||||||
diskspace_cutoff_int=$((diskspace_cutoff + 0))
|
echo "Error: Available diskspace is less than $diskspace_cutoff percent. Not enough diskspace."
|
||||||
difference=$((100 - diskspace_cutoff_int))
|
|
||||||
echo "Error: Available diskspace is less than $difference percent. Not enough diskspace."
|
|
||||||
echo "$msg"
|
echo "$msg"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
|
|||||||
12
.github/actions/pytest-cache-download/action.yml
vendored
12
.github/actions/pytest-cache-download/action.yml
vendored
@ -38,9 +38,9 @@ runs:
|
|||||||
run: |
|
run: |
|
||||||
python3 .github/scripts/pytest_cache.py \
|
python3 .github/scripts/pytest_cache.py \
|
||||||
--download \
|
--download \
|
||||||
--cache_dir "$GITHUB_WORKSPACE/$CACHE_DIR" \
|
--cache_dir $GITHUB_WORKSPACE/$CACHE_DIR \
|
||||||
--pr_identifier "$GITHUB_REF" \
|
--pr_identifier $GITHUB_REF \
|
||||||
--job_identifier "$JOB_IDENTIFIER" \
|
--job_identifier $JOB_IDENTIFIER \
|
||||||
--temp_dir "$RUNNER_TEMP" \
|
--temp_dir $RUNNER_TEMP \
|
||||||
--repo "$REPO" \
|
--repo $REPO \
|
||||||
--bucket "$BUCKET" \
|
--bucket $BUCKET \
|
||||||
|
|||||||
16
.github/actions/pytest-cache-upload/action.yml
vendored
16
.github/actions/pytest-cache-upload/action.yml
vendored
@ -47,11 +47,11 @@ runs:
|
|||||||
run: |
|
run: |
|
||||||
python3 .github/scripts/pytest_cache.py \
|
python3 .github/scripts/pytest_cache.py \
|
||||||
--upload \
|
--upload \
|
||||||
--cache_dir "$GITHUB_WORKSPACE/$CACHE_DIR" \
|
--cache_dir $GITHUB_WORKSPACE/$CACHE_DIR \
|
||||||
--pr_identifier "$GITHUB_REF" \
|
--pr_identifier $GITHUB_REF \
|
||||||
--job_identifier "$JOB_IDENTIFIER" \
|
--job_identifier $JOB_IDENTIFIER \
|
||||||
--sha "$SHA" \
|
--sha $SHA \
|
||||||
--test_config "$TEST_CONFIG" \
|
--test_config $TEST_CONFIG \
|
||||||
--shard "$SHARD" \
|
--shard $SHARD \
|
||||||
--repo "$REPO" \
|
--repo $REPO \
|
||||||
--temp_dir "$RUNNER_TEMP" \
|
--temp_dir $RUNNER_TEMP \
|
||||||
|
|||||||
2
.github/ci_commit_pins/audio.txt
vendored
2
.github/ci_commit_pins/audio.txt
vendored
@ -1 +1 @@
|
|||||||
07b6cbde121417a70e4dc871adb6d27030e0ce3f
|
69bbe7363897764f9e758d851cd0340147d27f94
|
||||||
|
|||||||
2
.github/ci_commit_pins/vision.txt
vendored
2
.github/ci_commit_pins/vision.txt
vendored
@ -1 +1 @@
|
|||||||
acccf86477759b2d3500f1ae1be065f7b1e409ec
|
1752fe6809b74921644866275ab80244b96e80bc
|
||||||
|
|||||||
2
.github/ci_commit_pins/xla.txt
vendored
2
.github/ci_commit_pins/xla.txt
vendored
@ -1 +1 @@
|
|||||||
e4d25697f9dc5eedaf8f0a5bf085c62c5455a53a
|
df6798dfb931ce7c7fe5bed2447cd1092a5981af
|
||||||
|
|||||||
125
.github/copilot-instructions.md
vendored
125
.github/copilot-instructions.md
vendored
@ -1,125 +0,0 @@
|
|||||||
# PyTorch Copilot Instructions
|
|
||||||
|
|
||||||
This is the PyTorch machine learning framework codebase. These instructions help AI agents navigate and contribute effectively.
|
|
||||||
|
|
||||||
## Architecture Overview
|
|
||||||
|
|
||||||
### Core Components
|
|
||||||
|
|
||||||
- **c10/** - Core library (C++-10 compatible) for essential, binary-size-conscious functionality
|
|
||||||
- **aten/** - ATen tensor library (C++), PyTorch's foundation without autograd
|
|
||||||
- `aten/src/ATen/native/` - Modern operator implementations (CPU/CUDA/MPS/sparse)
|
|
||||||
- `aten/src/ATen/native/native_functions.yaml` - **Critical**: Declarative operator registry
|
|
||||||
- **torch/** - Python bindings and public API
|
|
||||||
- `torch/csrc/` - C++ Python bindings (hand-written and generated)
|
|
||||||
- `torch/csrc/autograd/` - Reverse-mode automatic differentiation
|
|
||||||
- `torch/csrc/jit/` - TorchScript JIT compiler
|
|
||||||
- **torchgen/** - Code generation tooling that reads `native_functions.yaml`
|
|
||||||
- **tools/** - Build scripts, autograd derivatives, code generation
|
|
||||||
|
|
||||||
### The Code Generation Workflow
|
|
||||||
|
|
||||||
**Most operator changes require editing `native_functions.yaml`**, not direct C++ files. This YAML file:
|
|
||||||
1. Declares operator signatures, variants (function/method), and dispatch behavior
|
|
||||||
2. Gets processed by `torchgen/` to generate C++/Python bindings
|
|
||||||
3. Produces headers in `build/aten/src/ATen/` during compilation
|
|
||||||
|
|
||||||
Example entry structure:
|
|
||||||
```yaml
|
|
||||||
- func: my_op(Tensor self, Scalar alpha=1) -> Tensor
|
|
||||||
variants: function, method
|
|
||||||
dispatch:
|
|
||||||
CPU: my_op_cpu
|
|
||||||
CUDA: my_op_cuda
|
|
||||||
```
|
|
||||||
|
|
||||||
After editing `native_functions.yaml`, implement kernels in `aten/src/ATen/native/` (see `aten/src/ATen/native/README.md`).
|
|
||||||
|
|
||||||
## Development Workflows
|
|
||||||
|
|
||||||
### Building from Source
|
|
||||||
|
|
||||||
**Never run `setup.py` directly** - use pip with editable install:
|
|
||||||
```bash
|
|
||||||
python -m pip install --no-build-isolation -v -e .
|
|
||||||
```
|
|
||||||
|
|
||||||
Speed up builds:
|
|
||||||
- `DEBUG=1` - Debug symbols with `-g -O0`
|
|
||||||
- `USE_CUDA=0` - Skip CUDA compilation
|
|
||||||
- `BUILD_TEST=0` - Skip C++ test binaries
|
|
||||||
- Install `ninja` (`pip install ninja`) for faster builds
|
|
||||||
- Use `ccache` for incremental compilation caching
|
|
||||||
|
|
||||||
Rebuild specific targets: `(cd build && ninja <target>)`
|
|
||||||
|
|
||||||
### Testing
|
|
||||||
|
|
||||||
**Critical**: DO NOT run entire test suites. Run specific tests only:
|
|
||||||
```bash
|
|
||||||
python test/test_torch.py TestTorch.test_specific_case
|
|
||||||
```
|
|
||||||
|
|
||||||
**Test structure**: All tests use `torch.testing._internal.common_utils`:
|
|
||||||
```python
|
|
||||||
from torch.testing._internal.common_utils import run_tests, TestCase
|
|
||||||
|
|
||||||
class TestFeature(TestCase):
|
|
||||||
def test_something(self):
|
|
||||||
# Use self.assertEqual for tensor comparisons
|
|
||||||
pass
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
run_tests()
|
|
||||||
```
|
|
||||||
|
|
||||||
**For bug fixes**: Create a standalone reproduction script first, verify it fails, then fix and add to appropriate test file.
|
|
||||||
|
|
||||||
### Linting
|
|
||||||
|
|
||||||
Run linter (not pre-commit): `lintrunner -a` (auto-applies fixes)
|
|
||||||
|
|
||||||
## Project-Specific Conventions
|
|
||||||
|
|
||||||
### Memory and Storage
|
|
||||||
- **Storage is never nullptr** (but `StorageImpl.data` may be nullptr for unallocated outputs)
|
|
||||||
- CUDA device info lives in storage objects
|
|
||||||
|
|
||||||
### Python-C++ Integration (`torch/csrc/`)
|
|
||||||
- Always include `Python.h` **first** to avoid `_XOPEN_SOURCE` redefinition errors
|
|
||||||
- Use `pybind11::gil_scoped_acquire` before calling Python API or using `THPObjectPtr`
|
|
||||||
- Wrap entry points with `HANDLE_TH_ERRORS` / `END_HANDLE_TH_ERRORS` for exception conversion
|
|
||||||
|
|
||||||
### Dispatch System
|
|
||||||
- PyTorch uses operator dispatch to route calls to backend-specific kernels
|
|
||||||
- Prefer `CompositeExplicitAutograd` dispatch when writing device-agnostic compound ops
|
|
||||||
- See `aten/src/ATen/native/README.md` for dispatch keyword guidance
|
|
||||||
|
|
||||||
## Git Workflow (AI Agent Specific)
|
|
||||||
|
|
||||||
When preparing PRs from this environment:
|
|
||||||
```bash
|
|
||||||
git stash -u
|
|
||||||
git reset --hard $(cat /tmp/orig_work.txt) # Reset to LOCAL branch
|
|
||||||
git stash pop
|
|
||||||
# Resolve conflicts if necessary
|
|
||||||
```
|
|
||||||
|
|
||||||
## Common Gotchas
|
|
||||||
|
|
||||||
1. **Editing generated files** - If it's in `build/`, don't edit it. Edit the source template or `native_functions.yaml`
|
|
||||||
2. **NVCC template compilation** - NVCC is stricter about C++ than gcc/clang; code working on Linux may fail Windows CI
|
|
||||||
3. **Windows symbol visibility** - Use `TORCH_API` macros for exported symbols (required on Windows, optional on Linux)
|
|
||||||
4. **No internet access** - DO NOT attempt to install dependencies during development
|
|
||||||
|
|
||||||
## Key Files Reference
|
|
||||||
|
|
||||||
- `AGENTS.md` - Instructions specific to AI coding agents
|
|
||||||
- `CONTRIBUTING.md` - Comprehensive human contributor guide
|
|
||||||
- `GLOSSARY.md` - Terminology (ATen, kernels, operations, JIT, TorchScript)
|
|
||||||
- `aten/src/ATen/native/README.md` - Operator implementation guide
|
|
||||||
- `tools/autograd/derivatives.yaml` - Gradient definitions for autograd
|
|
||||||
|
|
||||||
## Performance Debugging
|
|
||||||
|
|
||||||
Use `TORCH_SHOW_CPP_STACKTRACES=1` for C++ traces in Python errors. For profiling, prefer `py-spy` over manual instrumentation.
|
|
||||||
22
.github/labeler.yml
vendored
22
.github/labeler.yml
vendored
@ -138,8 +138,7 @@
|
|||||||
- test/test_matmul_cuda.py
|
- test/test_matmul_cuda.py
|
||||||
- test/test_scaled_matmul_cuda.py
|
- test/test_scaled_matmul_cuda.py
|
||||||
- test/inductor/test_fp8.py
|
- test/inductor/test_fp8.py
|
||||||
- aten/src/ATen/native/cuda/*Blas.cpp
|
- aten/src/ATen/native/cuda/Blas.cpp
|
||||||
- aten/src/ATen/cuda/CUDA*Blas.*
|
|
||||||
- torch/**/*cublas*
|
- torch/**/*cublas*
|
||||||
- torch/_inductor/kernel/mm.py
|
- torch/_inductor/kernel/mm.py
|
||||||
- test/inductor/test_max_autotune.py
|
- test/inductor/test_max_autotune.py
|
||||||
@ -149,8 +148,7 @@
|
|||||||
- test/test_matmul_cuda.py
|
- test/test_matmul_cuda.py
|
||||||
- test/test_scaled_matmul_cuda.py
|
- test/test_scaled_matmul_cuda.py
|
||||||
- test/inductor/test_fp8.py
|
- test/inductor/test_fp8.py
|
||||||
- aten/src/ATen/native/cuda/*Blas.cpp
|
- aten/src/ATen/native/cuda/Blas.cpp
|
||||||
- aten/src/ATen/cuda/CUDA*Blas.*
|
|
||||||
- torch/**/*cublas*
|
- torch/**/*cublas*
|
||||||
- torch/_inductor/kernel/mm.py
|
- torch/_inductor/kernel/mm.py
|
||||||
- test/inductor/test_max_autotune.py
|
- test/inductor/test_max_autotune.py
|
||||||
@ -160,21 +158,7 @@
|
|||||||
- test/test_matmul_cuda.py
|
- test/test_matmul_cuda.py
|
||||||
- test/test_scaled_matmul_cuda.py
|
- test/test_scaled_matmul_cuda.py
|
||||||
- test/inductor/test_fp8.py
|
- test/inductor/test_fp8.py
|
||||||
- aten/src/ATen/native/cuda/*Blas.cpp
|
- aten/src/ATen/native/cuda/Blas.cpp
|
||||||
- aten/src/ATen/cuda/CUDA*Blas.*
|
|
||||||
- torch/_inductor/kernel/mm.py
|
- torch/_inductor/kernel/mm.py
|
||||||
- test/inductor/test_max_autotune.py
|
- test/inductor/test_max_autotune.py
|
||||||
- third_party/fbgemm
|
- third_party/fbgemm
|
||||||
|
|
||||||
"ciflow/mps":
|
|
||||||
- aten/src/ATen/mps/**
|
|
||||||
- aten/src/ATen/native/mps/**
|
|
||||||
- torch/_inductor/codegen/mps.py
|
|
||||||
- test/test_mps.py
|
|
||||||
- test/inductor/test_mps_basic.py
|
|
||||||
|
|
||||||
"ciflow/h100-symm-mem":
|
|
||||||
- torch/csrc/distributed/c10d/symm_mem/**
|
|
||||||
- torch/distributed/_symmetric_memory/**
|
|
||||||
- test/distributed/**/*mem*
|
|
||||||
- test/distributed/**/*mem*/**
|
|
||||||
|
|||||||
20
.github/merge_rules.yaml
vendored
20
.github/merge_rules.yaml
vendored
@ -540,26 +540,6 @@
|
|||||||
- Lint
|
- Lint
|
||||||
- pull
|
- pull
|
||||||
|
|
||||||
- name: PrivateUse1
|
|
||||||
patterns:
|
|
||||||
- torch/accelerator/**
|
|
||||||
- torch/utils/backend_registration.py
|
|
||||||
- torch/csrc/acc/**
|
|
||||||
- torch/csrc/DeviceAccelerator.*
|
|
||||||
- torch/csrc/profiler/standalone/privateuse1_observer.*
|
|
||||||
- aten/src/ATen/DeviceAccelerator.*
|
|
||||||
- aten/src/ATen/core/GeneratorForPrivateuseone.*
|
|
||||||
- aten/src/ATen/detail/PrivateUse1HooksInterface.*
|
|
||||||
- docs/source/accelerator/**
|
|
||||||
- test/cpp_extensions/open_registration_extension/torch_openreg/**
|
|
||||||
approved_by:
|
|
||||||
- albanD
|
|
||||||
- fffrog
|
|
||||||
mandatory_checks_name:
|
|
||||||
- EasyCLA
|
|
||||||
- Lint
|
|
||||||
- pull
|
|
||||||
|
|
||||||
- name: superuser
|
- name: superuser
|
||||||
patterns:
|
patterns:
|
||||||
- '*'
|
- '*'
|
||||||
|
|||||||
1
.github/nitpicks.yml
vendored
1
.github/nitpicks.yml
vendored
@ -10,4 +10,3 @@
|
|||||||
pathFilter:
|
pathFilter:
|
||||||
- 'torch/csrc/inductor/aoti_torch/c/*'
|
- 'torch/csrc/inductor/aoti_torch/c/*'
|
||||||
- 'torch/csrc/inductor/aoti_torch/generated/*'
|
- 'torch/csrc/inductor/aoti_torch/generated/*'
|
||||||
- 'torch/csrc/stable/c/*'
|
|
||||||
|
|||||||
8
.github/pytorch-probot.yml
vendored
8
.github/pytorch-probot.yml
vendored
@ -2,8 +2,8 @@ tracking_issue: 24422
|
|||||||
ciflow_tracking_issue: 64124
|
ciflow_tracking_issue: 64124
|
||||||
ciflow_push_tags:
|
ciflow_push_tags:
|
||||||
- ciflow/b200
|
- ciflow/b200
|
||||||
- ciflow/b200-distributed
|
|
||||||
- ciflow/b200-symm-mem
|
- ciflow/b200-symm-mem
|
||||||
|
- ciflow/b200-distributed
|
||||||
- ciflow/binaries
|
- ciflow/binaries
|
||||||
- ciflow/binaries_libtorch
|
- ciflow/binaries_libtorch
|
||||||
- ciflow/binaries_wheel
|
- ciflow/binaries_wheel
|
||||||
@ -19,29 +19,23 @@ ciflow_push_tags:
|
|||||||
- ciflow/inductor-perf-test-nightly-rocm-mi300
|
- ciflow/inductor-perf-test-nightly-rocm-mi300
|
||||||
- ciflow/inductor-perf-test-nightly-rocm-mi355
|
- ciflow/inductor-perf-test-nightly-rocm-mi355
|
||||||
- ciflow/inductor-perf-test-nightly-x86-zen
|
- ciflow/inductor-perf-test-nightly-x86-zen
|
||||||
- ciflow/inductor-perf-test-nightly-xpu
|
|
||||||
- ciflow/inductor-periodic
|
- ciflow/inductor-periodic
|
||||||
- ciflow/inductor-rocm
|
- ciflow/inductor-rocm
|
||||||
- ciflow/inductor-rocm-mi200
|
|
||||||
- ciflow/inductor-rocm-mi300
|
|
||||||
- ciflow/linux-aarch64
|
- ciflow/linux-aarch64
|
||||||
- ciflow/mps
|
- ciflow/mps
|
||||||
- ciflow/nightly
|
- ciflow/nightly
|
||||||
- ciflow/op-benchmark
|
- ciflow/op-benchmark
|
||||||
- ciflow/periodic
|
- ciflow/periodic
|
||||||
- ciflow/periodic-rocm-mi200
|
|
||||||
- ciflow/periodic-rocm-mi300
|
- ciflow/periodic-rocm-mi300
|
||||||
- ciflow/pull
|
- ciflow/pull
|
||||||
- ciflow/quantization-periodic
|
- ciflow/quantization-periodic
|
||||||
- ciflow/riscv64
|
- ciflow/riscv64
|
||||||
- ciflow/rocm
|
- ciflow/rocm
|
||||||
- ciflow/rocm-mi200
|
|
||||||
- ciflow/rocm-mi300
|
- ciflow/rocm-mi300
|
||||||
- ciflow/rocm-mi355
|
- ciflow/rocm-mi355
|
||||||
- ciflow/rocm-navi31
|
- ciflow/rocm-navi31
|
||||||
- ciflow/s390
|
- ciflow/s390
|
||||||
- ciflow/slow
|
- ciflow/slow
|
||||||
- ciflow/slow-rocm-mi200
|
|
||||||
- ciflow/torchbench
|
- ciflow/torchbench
|
||||||
- ciflow/triton_binaries
|
- ciflow/triton_binaries
|
||||||
- ciflow/trunk
|
- ciflow/trunk
|
||||||
|
|||||||
3
.github/scripts/delete_old_branches.py
vendored
3
.github/scripts/delete_old_branches.py
vendored
@ -1,11 +1,10 @@
|
|||||||
# Delete old branches
|
# Delete old branches
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from collections.abc import Callable
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any, Callable
|
||||||
|
|
||||||
from github_utils import gh_fetch_json_dict, gh_graphql
|
from github_utils import gh_fetch_json_dict, gh_graphql
|
||||||
from gitutils import GitRepo
|
from gitutils import GitRepo
|
||||||
|
|||||||
3
.github/scripts/filter_test_configs.py
vendored
3
.github/scripts/filter_test_configs.py
vendored
@ -8,11 +8,10 @@ import re
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import warnings
|
import warnings
|
||||||
from collections.abc import Callable
|
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from functools import cache
|
from functools import cache
|
||||||
from logging import info
|
from logging import info
|
||||||
from typing import Any, Optional
|
from typing import Any, Callable, Optional
|
||||||
from urllib.request import Request, urlopen
|
from urllib.request import Request, urlopen
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|||||||
99
.github/scripts/generate_binary_build_matrix.py
vendored
99
.github/scripts/generate_binary_build_matrix.py
vendored
@ -11,24 +11,18 @@ architectures:
|
|||||||
* Latest XPU
|
* Latest XPU
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import json
|
|
||||||
import os
|
import os
|
||||||
import re
|
|
||||||
from pathlib import Path
|
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
SCRIPT_DIR = Path(__file__).absolute().parent
|
# NOTE: Please also update the CUDA sources in `PIP_SOURCES` in tools/nightly.py when changing this
|
||||||
REPO_ROOT = SCRIPT_DIR.parent.parent
|
|
||||||
|
|
||||||
|
|
||||||
CUDA_ARCHES = ["12.6", "12.8", "12.9", "13.0"]
|
CUDA_ARCHES = ["12.6", "12.8", "12.9", "13.0"]
|
||||||
CUDA_STABLE = "12.8"
|
CUDA_STABLE = "12.8"
|
||||||
CUDA_ARCHES_FULL_VERSION = {
|
CUDA_ARCHES_FULL_VERSION = {
|
||||||
"12.6": "12.6.3",
|
"12.6": "12.6.3",
|
||||||
"12.8": "12.8.1",
|
"12.8": "12.8.1",
|
||||||
"12.9": "12.9.1",
|
"12.9": "12.9.1",
|
||||||
"13.0": "13.0.0",
|
"13.0": "13.0.2",
|
||||||
}
|
}
|
||||||
CUDA_ARCHES_CUDNN_VERSION = {
|
CUDA_ARCHES_CUDNN_VERSION = {
|
||||||
"12.6": "9",
|
"12.6": "9",
|
||||||
@ -37,7 +31,8 @@ CUDA_ARCHES_CUDNN_VERSION = {
|
|||||||
"13.0": "9",
|
"13.0": "9",
|
||||||
}
|
}
|
||||||
|
|
||||||
ROCM_ARCHES = ["7.0", "7.1"]
|
# NOTE: Please also update the ROCm sources in `PIP_SOURCES` in tools/nightly.py when changing this
|
||||||
|
ROCM_ARCHES = ["6.4", "7.0"]
|
||||||
|
|
||||||
XPU_ARCHES = ["xpu"]
|
XPU_ARCHES = ["xpu"]
|
||||||
|
|
||||||
@ -61,7 +56,7 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
|
|||||||
"nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | "
|
"nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | "
|
||||||
"nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | "
|
"nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | "
|
||||||
"nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | "
|
"nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | "
|
||||||
"nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | "
|
"nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | "
|
||||||
"nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | "
|
"nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | "
|
||||||
"nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | "
|
"nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | "
|
||||||
"nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'"
|
"nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'"
|
||||||
@ -78,7 +73,7 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
|
|||||||
"nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | "
|
"nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | "
|
||||||
"nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | "
|
"nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | "
|
||||||
"nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | "
|
"nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | "
|
||||||
"nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | "
|
"nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | "
|
||||||
"nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | "
|
"nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | "
|
||||||
"nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | "
|
"nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | "
|
||||||
"nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'"
|
"nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'"
|
||||||
@ -95,7 +90,7 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
|
|||||||
"nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | "
|
"nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | "
|
||||||
"nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | "
|
"nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | "
|
||||||
"nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | "
|
"nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | "
|
||||||
"nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | "
|
"nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | "
|
||||||
"nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | "
|
"nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | "
|
||||||
"nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | "
|
"nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | "
|
||||||
"nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'"
|
"nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'"
|
||||||
@ -112,7 +107,7 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
|
|||||||
"nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | "
|
"nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | "
|
||||||
"nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | "
|
"nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | "
|
||||||
"nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | "
|
"nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | "
|
||||||
"nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | "
|
"nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | "
|
||||||
"nvidia-nvtx==13.0.85; platform_system == 'Linux' | "
|
"nvidia-nvtx==13.0.85; platform_system == 'Linux' | "
|
||||||
"nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | "
|
"nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | "
|
||||||
"nvidia-cufile==1.15.1.6; platform_system == 'Linux'"
|
"nvidia-cufile==1.15.1.6; platform_system == 'Linux'"
|
||||||
@ -142,48 +137,9 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Used by tools/nightly.py
|
|
||||||
PYTORCH_NIGHTLY_PIP_INDEX_URL = "https://download.pytorch.org/whl/nightly"
|
|
||||||
NIGHTLY_SOURCE_MATRIX = {
|
|
||||||
"cpu": dict(
|
|
||||||
name="cpu",
|
|
||||||
index_url=f"{PYTORCH_NIGHTLY_PIP_INDEX_URL}/cpu",
|
|
||||||
supported_platforms=["Linux", "macOS", "Windows"],
|
|
||||||
accelerator="cpu",
|
|
||||||
)
|
|
||||||
}
|
|
||||||
CUDA_NIGHTLY_SOURCE_MATRIX = {
|
|
||||||
f"cuda-{major}.{minor}": dict(
|
|
||||||
name=f"cuda-{major}.{minor}",
|
|
||||||
index_url=f"{PYTORCH_NIGHTLY_PIP_INDEX_URL}/cu{major}{minor}",
|
|
||||||
supported_platforms=["Linux", "Windows"],
|
|
||||||
accelerator="cuda",
|
|
||||||
)
|
|
||||||
for major, minor in (map(int, version.split(".")) for version in CUDA_ARCHES)
|
|
||||||
}
|
|
||||||
ROCM_NIGHTLY_SOURCE_MATRIX = {
|
|
||||||
f"rocm-{major}.{minor}": dict(
|
|
||||||
name=f"rocm-{major}.{minor}",
|
|
||||||
index_url=f"{PYTORCH_NIGHTLY_PIP_INDEX_URL}/rocm{major}.{minor}",
|
|
||||||
supported_platforms=["Linux"],
|
|
||||||
accelerator="rocm",
|
|
||||||
)
|
|
||||||
for major, minor in (map(int, version.split(".")) for version in ROCM_ARCHES)
|
|
||||||
}
|
|
||||||
XPU_NIGHTLY_SOURCE_MATRIX = {
|
|
||||||
"xpu": dict(
|
|
||||||
name="xpu",
|
|
||||||
index_url=f"{PYTORCH_NIGHTLY_PIP_INDEX_URL}/xpu",
|
|
||||||
supported_platforms=["Linux"],
|
|
||||||
accelerator="xpu",
|
|
||||||
)
|
|
||||||
}
|
|
||||||
NIGHTLY_SOURCE_MATRIX.update(CUDA_NIGHTLY_SOURCE_MATRIX)
|
|
||||||
NIGHTLY_SOURCE_MATRIX.update(ROCM_NIGHTLY_SOURCE_MATRIX)
|
|
||||||
NIGHTLY_SOURCE_MATRIX.update(XPU_NIGHTLY_SOURCE_MATRIX)
|
|
||||||
|
|
||||||
|
|
||||||
def get_nccl_wheel_version(arch_version: str) -> str:
|
def get_nccl_wheel_version(arch_version: str) -> str:
|
||||||
|
import re
|
||||||
|
|
||||||
requirements = map(
|
requirements = map(
|
||||||
str.strip, re.split("[;|]", PYTORCH_EXTRA_INSTALL_REQUIREMENTS[arch_version])
|
str.strip, re.split("[;|]", PYTORCH_EXTRA_INSTALL_REQUIREMENTS[arch_version])
|
||||||
)
|
)
|
||||||
@ -191,14 +147,17 @@ def get_nccl_wheel_version(arch_version: str) -> str:
|
|||||||
|
|
||||||
|
|
||||||
def read_nccl_pin(arch_version: str) -> str:
|
def read_nccl_pin(arch_version: str) -> str:
|
||||||
nccl_pin_path = (
|
from pathlib import Path
|
||||||
REPO_ROOT
|
|
||||||
/ ".ci"
|
nccl_pin_path = os.path.join(
|
||||||
/ "docker"
|
Path(__file__).absolute().parents[2],
|
||||||
/ "ci_commit_pins"
|
".ci",
|
||||||
/ f"nccl-cu{arch_version[:2]}.txt"
|
"docker",
|
||||||
|
"ci_commit_pins",
|
||||||
|
f"nccl-cu{arch_version[:2]}.txt",
|
||||||
)
|
)
|
||||||
return nccl_pin_path.read_text().strip()
|
with open(nccl_pin_path) as f:
|
||||||
|
return f.read().strip()
|
||||||
|
|
||||||
|
|
||||||
def validate_nccl_dep_consistency(arch_version: str) -> None:
|
def validate_nccl_dep_consistency(arch_version: str) -> None:
|
||||||
@ -206,8 +165,7 @@ def validate_nccl_dep_consistency(arch_version: str) -> None:
|
|||||||
wheel_ver = get_nccl_wheel_version(arch_version)
|
wheel_ver = get_nccl_wheel_version(arch_version)
|
||||||
if not nccl_release_tag.startswith(f"v{wheel_ver}"):
|
if not nccl_release_tag.startswith(f"v{wheel_ver}"):
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
f"{arch_version} NCCL release tag version {nccl_release_tag} "
|
f"{arch_version} NCCL release tag version {nccl_release_tag} does not correspond to wheel version {wheel_ver}"
|
||||||
f"does not correspond to wheel version {wheel_ver}"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -454,14 +412,7 @@ def generate_wheels_matrix(
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
arch_version = ""
|
validate_nccl_dep_consistency("13.0")
|
||||||
for arch_version in CUDA_ARCHES:
|
validate_nccl_dep_consistency("12.9")
|
||||||
validate_nccl_dep_consistency(arch_version)
|
validate_nccl_dep_consistency("12.8")
|
||||||
del arch_version
|
validate_nccl_dep_consistency("12.6")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
# Used by tools/nightly.py
|
|
||||||
(SCRIPT_DIR / "nightly_source_matrix.json").write_text(
|
|
||||||
json.dumps(NIGHTLY_SOURCE_MATRIX, indent=4) + "\n"
|
|
||||||
)
|
|
||||||
|
|||||||
3
.github/scripts/get_workflow_job_id.py
vendored
3
.github/scripts/get_workflow_job_id.py
vendored
@ -11,8 +11,7 @@ import sys
|
|||||||
import time
|
import time
|
||||||
import urllib
|
import urllib
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
from collections.abc import Callable
|
from typing import Any, Callable, Optional
|
||||||
from typing import Any, Optional
|
|
||||||
from urllib.request import Request, urlopen
|
from urllib.request import Request, urlopen
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
3
.github/scripts/github_utils.py
vendored
3
.github/scripts/github_utils.py
vendored
@ -3,9 +3,8 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import warnings
|
import warnings
|
||||||
from collections.abc import Callable
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any, cast, Optional, Union
|
from typing import Any, Callable, cast, Optional, Union
|
||||||
from urllib.error import HTTPError
|
from urllib.error import HTTPError
|
||||||
from urllib.parse import quote
|
from urllib.parse import quote
|
||||||
from urllib.request import Request, urlopen
|
from urllib.request import Request, urlopen
|
||||||
|
|||||||
4
.github/scripts/gitutils.py
vendored
4
.github/scripts/gitutils.py
vendored
@ -4,10 +4,10 @@ import os
|
|||||||
import re
|
import re
|
||||||
import tempfile
|
import tempfile
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from collections.abc import Callable, Iterator
|
from collections.abc import Iterator
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import Any, cast, Optional, TypeVar, Union
|
from typing import Any, Callable, cast, Optional, TypeVar, Union
|
||||||
|
|
||||||
|
|
||||||
T = TypeVar("T")
|
T = TypeVar("T")
|
||||||
|
|||||||
3
.github/scripts/lintrunner.sh
vendored
3
.github/scripts/lintrunner.sh
vendored
@ -34,9 +34,6 @@ python3 torch/utils/data/datapipes/gen_pyi.py
|
|||||||
# Also check generated pyi files
|
# Also check generated pyi files
|
||||||
find torch -name '*.pyi' -exec git add --force -- "{}" +
|
find torch -name '*.pyi' -exec git add --force -- "{}" +
|
||||||
|
|
||||||
# Print current environment
|
|
||||||
python3 -m pip freeze
|
|
||||||
|
|
||||||
RC=0
|
RC=0
|
||||||
# Run lintrunner on all files
|
# Run lintrunner on all files
|
||||||
if ! lintrunner --force-color --tee-json=lint.json ${ADDITIONAL_LINTRUNNER_ARGS} 2> /dev/null; then
|
if ! lintrunner --force-color --tee-json=lint.json ${ADDITIONAL_LINTRUNNER_ARGS} 2> /dev/null; then
|
||||||
|
|||||||
4
.github/scripts/trymerge.py
vendored
4
.github/scripts/trymerge.py
vendored
@ -17,12 +17,12 @@ import re
|
|||||||
import time
|
import time
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from collections.abc import Callable, Iterable
|
from collections.abc import Iterable
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from functools import cache
|
from functools import cache
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from re import Pattern
|
from re import Pattern
|
||||||
from typing import Any, cast, NamedTuple, Optional
|
from typing import Any, Callable, cast, NamedTuple, Optional
|
||||||
from warnings import warn
|
from warnings import warn
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|||||||
4
.github/workflows/_rocm-test.yml
vendored
4
.github/workflows/_rocm-test.yml
vendored
@ -97,8 +97,8 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
ngpu=$(rocminfo | grep -c -E 'Name:.*\sgfx')
|
ngpu=$(rocminfo | grep -c -E 'Name:.*\sgfx')
|
||||||
if [[ $ngpu -lt 2 ]]; then #We are temporarily reducing this down to 2 from 4 so that we can run tests on nodes with less gpus.
|
if [[ $ngpu -lt 4 ]]; then
|
||||||
echo "Error: only $ngpu GPU(s) detected, at least 2 GPUs are needed for distributed jobs"
|
echo "Error: only $ngpu GPU(s) detected, at least 4 GPUs are needed for distributed jobs"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
29
.github/workflows/_xpu-test.yml
vendored
29
.github/workflows/_xpu-test.yml
vendored
@ -38,10 +38,6 @@ on:
|
|||||||
default: ""
|
default: ""
|
||||||
description: |
|
description: |
|
||||||
List of tests to include (empty string implies default list)
|
List of tests to include (empty string implies default list)
|
||||||
dashboard-tag:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
disable-monitor:
|
disable-monitor:
|
||||||
description: |
|
description: |
|
||||||
[Experimental] Disable utilization monitoring for tests.
|
[Experimental] Disable utilization monitoring for tests.
|
||||||
@ -62,11 +58,6 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: number
|
type: number
|
||||||
default: 1
|
default: 1
|
||||||
secrets:
|
|
||||||
HUGGING_FACE_HUB_TOKEN:
|
|
||||||
required: false
|
|
||||||
description: |
|
|
||||||
HF Auth token to avoid rate limits when downloading models or datasets from hub
|
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
contents: read
|
contents: read
|
||||||
@ -205,8 +196,6 @@ jobs:
|
|||||||
PYTORCH_TEST_CUDA_MEM_LEAK_CHECK: ${{ matrix.mem_leak_check && '1' || '0' }}
|
PYTORCH_TEST_CUDA_MEM_LEAK_CHECK: ${{ matrix.mem_leak_check && '1' || '0' }}
|
||||||
PYTORCH_TEST_RERUN_DISABLED_TESTS: ${{ matrix.rerun_disabled_tests && '1' || '0' }}
|
PYTORCH_TEST_RERUN_DISABLED_TESTS: ${{ matrix.rerun_disabled_tests && '1' || '0' }}
|
||||||
TESTS_TO_INCLUDE: ${{ inputs.tests-to-include }}
|
TESTS_TO_INCLUDE: ${{ inputs.tests-to-include }}
|
||||||
DASHBOARD_TAG: ${{ inputs.dashboard-tag }}
|
|
||||||
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
|
|
||||||
timeout-minutes: ${{ fromJson(steps.test-timeout.outputs.timeout) }}
|
timeout-minutes: ${{ fromJson(steps.test-timeout.outputs.timeout) }}
|
||||||
run: |
|
run: |
|
||||||
# Fetch aws credential from IMDs
|
# Fetch aws credential from IMDs
|
||||||
@ -257,8 +246,6 @@ jobs:
|
|||||||
-e PYTORCH_TEST_RERUN_DISABLED_TESTS \
|
-e PYTORCH_TEST_RERUN_DISABLED_TESTS \
|
||||||
-e TESTS_TO_INCLUDE \
|
-e TESTS_TO_INCLUDE \
|
||||||
-e ZE_AFFINITY_MASK \
|
-e ZE_AFFINITY_MASK \
|
||||||
-e HUGGING_FACE_HUB_TOKEN \
|
|
||||||
-e DASHBOARD_TAG \
|
|
||||||
--env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
|
--env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
|
||||||
--ulimit stack=10485760:83886080 \
|
--ulimit stack=10485760:83886080 \
|
||||||
--ulimit core=0 \
|
--ulimit core=0 \
|
||||||
@ -344,21 +331,5 @@ jobs:
|
|||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
path: ./**/core.[1-9]*
|
path: ./**/core.[1-9]*
|
||||||
|
|
||||||
- name: Authenticate with AWS
|
|
||||||
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
|
|
||||||
with:
|
|
||||||
role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_upload-benchmark-results
|
|
||||||
# The max duration enforced by the server side
|
|
||||||
role-duration-seconds: 18000
|
|
||||||
aws-region: us-east-1
|
|
||||||
|
|
||||||
- name: Upload the benchmark results
|
|
||||||
uses: pytorch/test-infra/.github/actions/upload-benchmark-results@main
|
|
||||||
with:
|
|
||||||
benchmark-results-dir: test/test-reports
|
|
||||||
dry-run: false
|
|
||||||
schema-version: v3
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Teardown XPU
|
- name: Teardown XPU
|
||||||
uses: ./.github/actions/teardown-xpu
|
uses: ./.github/actions/teardown-xpu
|
||||||
|
|||||||
2
.github/workflows/build-almalinux-images.yml
vendored
2
.github/workflows/build-almalinux-images.yml
vendored
@ -36,7 +36,7 @@ jobs:
|
|||||||
runs-on: linux.9xlarge.ephemeral
|
runs-on: linux.9xlarge.ephemeral
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
tag: ["cuda12.6", "cuda12.8", "cuda12.9", "cuda13.0", "rocm7.0", "rocm7.1", "cpu"]
|
tag: ["cuda12.6", "cuda12.8", "cuda12.9", "cuda13.0", "rocm6.4", "rocm7.0", "cpu"]
|
||||||
steps:
|
steps:
|
||||||
- name: Build docker image
|
- name: Build docker image
|
||||||
uses: pytorch/pytorch/.github/actions/binary-docker-build@main
|
uses: pytorch/pytorch/.github/actions/binary-docker-build@main
|
||||||
|
|||||||
2
.github/workflows/build-libtorch-images.yml
vendored
2
.github/workflows/build-libtorch-images.yml
vendored
@ -52,8 +52,8 @@ jobs:
|
|||||||
{ tag: "cuda12.9" },
|
{ tag: "cuda12.9" },
|
||||||
{ tag: "cuda12.8" },
|
{ tag: "cuda12.8" },
|
||||||
{ tag: "cuda12.6" },
|
{ tag: "cuda12.6" },
|
||||||
|
{ tag: "rocm6.4" },
|
||||||
{ tag: "rocm7.0" },
|
{ tag: "rocm7.0" },
|
||||||
{ tag: "rocm7.1" },
|
|
||||||
{ tag: "cpu" },
|
{ tag: "cpu" },
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/build-magma-rocm-linux.yml
vendored
2
.github/workflows/build-magma-rocm-linux.yml
vendored
@ -34,7 +34,7 @@ jobs:
|
|||||||
id-token: write
|
id-token: write
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
rocm_version: ["71", "70"]
|
rocm_version: ["70", "64"]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PyTorch
|
- name: Checkout PyTorch
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
|||||||
2
.github/workflows/build-manywheel-images.yml
vendored
2
.github/workflows/build-manywheel-images.yml
vendored
@ -54,8 +54,8 @@ jobs:
|
|||||||
{ name: "manylinuxaarch64-builder", tag: "cuda12.9", runner: "linux.arm64.2xlarge.ephemeral" },
|
{ name: "manylinuxaarch64-builder", tag: "cuda12.9", runner: "linux.arm64.2xlarge.ephemeral" },
|
||||||
{ name: "manylinuxaarch64-builder", tag: "cuda12.8", runner: "linux.arm64.2xlarge.ephemeral" },
|
{ name: "manylinuxaarch64-builder", tag: "cuda12.8", runner: "linux.arm64.2xlarge.ephemeral" },
|
||||||
{ name: "manylinuxaarch64-builder", tag: "cuda12.6", runner: "linux.arm64.2xlarge.ephemeral" },
|
{ name: "manylinuxaarch64-builder", tag: "cuda12.6", runner: "linux.arm64.2xlarge.ephemeral" },
|
||||||
|
{ name: "manylinux2_28-builder", tag: "rocm6.4", runner: "linux.9xlarge.ephemeral" },
|
||||||
{ name: "manylinux2_28-builder", tag: "rocm7.0", runner: "linux.9xlarge.ephemeral" },
|
{ name: "manylinux2_28-builder", tag: "rocm7.0", runner: "linux.9xlarge.ephemeral" },
|
||||||
{ name: "manylinux2_28-builder", tag: "rocm7.1", runner: "linux.9xlarge.ephemeral" },
|
|
||||||
{ name: "manylinux2_28-builder", tag: "cpu", runner: "linux.9xlarge.ephemeral" },
|
{ name: "manylinux2_28-builder", tag: "cpu", runner: "linux.9xlarge.ephemeral" },
|
||||||
{ name: "manylinux2_28_aarch64-builder", tag: "cpu-aarch64", runner: "linux.arm64.2xlarge.ephemeral" },
|
{ name: "manylinux2_28_aarch64-builder", tag: "cpu-aarch64", runner: "linux.arm64.2xlarge.ephemeral" },
|
||||||
{ name: "manylinux2_28-builder", tag: "xpu", runner: "linux.9xlarge.ephemeral" },
|
{ name: "manylinux2_28-builder", tag: "xpu", runner: "linux.9xlarge.ephemeral" },
|
||||||
|
|||||||
9
.github/workflows/build-triton-wheel.yml
vendored
9
.github/workflows/build-triton-wheel.yml
vendored
@ -55,7 +55,7 @@ jobs:
|
|||||||
docker-image: ["pytorch/manylinux2_28-builder:cpu"]
|
docker-image: ["pytorch/manylinux2_28-builder:cpu"]
|
||||||
include:
|
include:
|
||||||
- device: "rocm"
|
- device: "rocm"
|
||||||
rocm_version: "7.1"
|
rocm_version: "7.0"
|
||||||
runs_on: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge"
|
runs_on: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge"
|
||||||
- device: "cuda"
|
- device: "cuda"
|
||||||
rocm_version: ""
|
rocm_version: ""
|
||||||
@ -159,7 +159,12 @@ jobs:
|
|||||||
WITH_CLANG_LDD="--with-clang-ldd"
|
WITH_CLANG_LDD="--with-clang-ldd"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
docker exec -t "${container_name}" bash -c "${PYTHON_EXECUTABLE} /pytorch/.github/scripts/build_triton_wheel.py --device=$BUILD_DEVICE $RELEASE $WITH_CLANG_LDD"
|
if [[ "${BUILD_DEVICE}" == xpu ]]; then
|
||||||
|
docker exec -t "${container_name}" bash -c "dnf install -y gcc-toolset-13-gcc-c++"
|
||||||
|
docker exec -t "${container_name}" bash -c "source /opt/rh/gcc-toolset-13/enable && ${PYTHON_EXECUTABLE} /pytorch/.github/scripts/build_triton_wheel.py --device=$BUILD_DEVICE $RELEASE"
|
||||||
|
else
|
||||||
|
docker exec -t "${container_name}" bash -c "${PYTHON_EXECUTABLE} /pytorch/.github/scripts/build_triton_wheel.py --device=$BUILD_DEVICE $RELEASE $WITH_CLANG_LDD"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ("${{ matrix.device }}" == "cuda" || "${{ matrix.device }}" == "xpu") ]]; then
|
if [[ ("${{ matrix.device }}" == "cuda" || "${{ matrix.device }}" == "xpu") ]]; then
|
||||||
docker exec -t "${container_name}" bash -c "auditwheel repair --plat ${PLATFORM} //artifacts/*.whl"
|
docker exec -t "${container_name}" bash -c "auditwheel repair --plat ${PLATFORM} //artifacts/*.whl"
|
||||||
|
|||||||
29
.github/workflows/docker-builds.yml
vendored
29
.github/workflows/docker-builds.yml
vendored
@ -56,10 +56,7 @@ jobs:
|
|||||||
pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9,
|
pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9,
|
||||||
pytorch-linux-jammy-cuda12.4-cudnn9-py3-gcc11,
|
pytorch-linux-jammy-cuda12.4-cudnn9-py3-gcc11,
|
||||||
pytorch-linux-jammy-py3.10-clang12,
|
pytorch-linux-jammy-py3.10-clang12,
|
||||||
pytorch-linux-jammy-py3.11-clang12,
|
|
||||||
pytorch-linux-jammy-py3.12-clang12,
|
|
||||||
pytorch-linux-jammy-py3.13-clang12,
|
pytorch-linux-jammy-py3.13-clang12,
|
||||||
pytorch-linux-jammy-py3.14-clang12,
|
|
||||||
pytorch-linux-jammy-rocm-n-py3,
|
pytorch-linux-jammy-rocm-n-py3,
|
||||||
pytorch-linux-noble-rocm-n-py3,
|
pytorch-linux-noble-rocm-n-py3,
|
||||||
pytorch-linux-jammy-rocm-n-py3-benchmarks,
|
pytorch-linux-jammy-rocm-n-py3-benchmarks,
|
||||||
@ -67,10 +64,8 @@ jobs:
|
|||||||
pytorch-linux-jammy-py3.10-gcc11,
|
pytorch-linux-jammy-py3.10-gcc11,
|
||||||
pytorch-linux-jammy-py3-gcc11-inductor-benchmarks,
|
pytorch-linux-jammy-py3-gcc11-inductor-benchmarks,
|
||||||
pytorch-linux-jammy-py3.12-halide,
|
pytorch-linux-jammy-py3.12-halide,
|
||||||
pytorch-linux-jammy-cuda12.8-py3.12-pallas,
|
|
||||||
pytorch-linux-jammy-xpu-n-1-py3,
|
pytorch-linux-jammy-xpu-n-1-py3,
|
||||||
pytorch-linux-noble-xpu-n-py3,
|
pytorch-linux-jammy-xpu-n-py3,
|
||||||
pytorch-linux-noble-xpu-n-py3-inductor-benchmarks,
|
|
||||||
pytorch-linux-jammy-py3-clang18-asan,
|
pytorch-linux-jammy-py3-clang18-asan,
|
||||||
pytorch-linux-jammy-py3-clang12-onnx,
|
pytorch-linux-jammy-py3-clang12-onnx,
|
||||||
pytorch-linux-jammy-linter,
|
pytorch-linux-jammy-linter,
|
||||||
@ -80,11 +75,9 @@ jobs:
|
|||||||
pytorch-linux-noble-riscv64-py3.12-gcc14
|
pytorch-linux-noble-riscv64-py3.12-gcc14
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-gcc13
|
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-gcc11
|
||||||
runner: linux.arm64.m7g.4xlarge
|
runner: linux.arm64.m7g.4xlarge
|
||||||
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-clang21
|
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-gcc11-inductor-benchmarks
|
||||||
runner: linux.arm64.m7g.4xlarge
|
|
||||||
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-gcc13-inductor-benchmarks
|
|
||||||
runner: linux.arm64.m7g.4xlarge
|
runner: linux.arm64.m7g.4xlarge
|
||||||
timeout-minutes: 600
|
timeout-minutes: 600
|
||||||
# Docker uploads fail from LF runners, see https://github.com/pytorch/pytorch/pull/137358
|
# Docker uploads fail from LF runners, see https://github.com/pytorch/pytorch/pull/137358
|
||||||
@ -119,22 +112,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
docker-image: ${{ steps.build-docker-image.outputs.docker-image }}
|
docker-image: ${{ steps.build-docker-image.outputs.docker-image }}
|
||||||
|
|
||||||
- name: Generate output
|
|
||||||
if: contains(matrix.docker-image-name, 'rocm')
|
|
||||||
id: generate_output
|
|
||||||
run: |
|
|
||||||
docker_image_name="${{ matrix.docker-image-name }}"
|
|
||||||
docker_image_tag="${{ steps.build-docker-image.outputs.docker-image }}"
|
|
||||||
echo "${docker_image_name}=${docker_image_tag}" >> docker-builds-output-${docker_image_name}.txt
|
|
||||||
|
|
||||||
- name: Upload artifacts
|
|
||||||
uses: actions/upload-artifact@v4.4.0
|
|
||||||
if: contains(matrix.docker-image-name, 'rocm')
|
|
||||||
with:
|
|
||||||
name: docker-builds-artifacts-${{ matrix.docker-image-name }}
|
|
||||||
retention-days: 14
|
|
||||||
path: ./docker-builds-output-${{ matrix.docker-image-name }}.txt
|
|
||||||
|
|
||||||
- uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # v3.0.0
|
- uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # v3.0.0
|
||||||
name: Push to https://ghcr.io/
|
name: Push to https://ghcr.io/
|
||||||
id: push-to-ghcr-io
|
id: push-to-ghcr-io
|
||||||
|
|||||||
55
.github/workflows/docker-cache-mi300.yml
vendored
Normal file
55
.github/workflows/docker-cache-mi300.yml
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
name: docker-cache-mi300
|
||||||
|
|
||||||
|
on:
|
||||||
|
# run every 6 hours
|
||||||
|
schedule:
|
||||||
|
- cron: 0 0,6,12,18 * * *
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker-cache:
|
||||||
|
if: github.repository_owner == 'pytorch'
|
||||||
|
runs-on: rocm-docker
|
||||||
|
steps:
|
||||||
|
- name: Checkout PyTorch
|
||||||
|
uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
|
||||||
|
with:
|
||||||
|
no-sudo: true
|
||||||
|
|
||||||
|
- name: configure aws credentials
|
||||||
|
id: aws_creds
|
||||||
|
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
|
||||||
|
with:
|
||||||
|
role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
|
||||||
|
aws-region: us-east-1
|
||||||
|
role-duration-seconds: 18000
|
||||||
|
|
||||||
|
- name: Login to Amazon ECR
|
||||||
|
id: login-ecr
|
||||||
|
continue-on-error: false
|
||||||
|
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2.0.1
|
||||||
|
|
||||||
|
- name: Calculate docker image
|
||||||
|
id: calculate-docker-image
|
||||||
|
uses: pytorch/test-infra/.github/actions/calculate-docker-image@main
|
||||||
|
with:
|
||||||
|
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
|
||||||
|
push: false
|
||||||
|
|
||||||
|
- name: Pull docker image
|
||||||
|
uses: pytorch/test-infra/.github/actions/pull-docker-image@main
|
||||||
|
with:
|
||||||
|
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
|
||||||
|
|
||||||
|
- name: Tar and upload to S3 bucket
|
||||||
|
run: |
|
||||||
|
sudo docker save -o ~/docker-data/pytorch/pytorch_docker_image.tar ${{ steps.calculate-docker-image.outputs.docker-image }}
|
||||||
|
sudo rclone copy -P --s3-upload-concurrency 64 --s3-chunk-size 200M --s3-upload-cutoff 300M ~/docker-data/pytorch/pytorch_docker_image.tar oci:pytorchbucket0002/pytorch_docker_image --progress
|
||||||
105
.github/workflows/docker-cache-rocm.yml
vendored
105
.github/workflows/docker-cache-rocm.yml
vendored
@ -1,105 +0,0 @@
|
|||||||
name: docker-cache-rocm
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_run:
|
|
||||||
workflows: [docker-builds]
|
|
||||||
branches: [main, release]
|
|
||||||
types:
|
|
||||||
- completed
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
actions: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
download-docker-builds-artifacts:
|
|
||||||
if: github.repository_owner == 'pytorch'
|
|
||||||
name: download-docker-builds-artifacts
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
pytorch-linux-jammy-rocm-n-py3: ${{ steps.process-artifacts.outputs.pytorch-linux-jammy-rocm-n-py3 }}
|
|
||||||
pytorch-linux-noble-rocm-n-py3: ${{ steps.process-artifacts.outputs.pytorch-linux-noble-rocm-n-py3 }}
|
|
||||||
pytorch-linux-jammy-rocm-n-py3-benchmarks: ${{ steps.process-artifacts.outputs.pytorch-linux-jammy-rocm-n-py3-benchmarks }}
|
|
||||||
steps:
|
|
||||||
- name: Download artifacts
|
|
||||||
uses: actions/download-artifact@v4.1.7
|
|
||||||
with:
|
|
||||||
run-id: ${{ github.event.workflow_run.id }}
|
|
||||||
path: ./docker-builds-artifacts
|
|
||||||
merge-multiple: true
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Process artifacts
|
|
||||||
id: process-artifacts
|
|
||||||
run: |
|
|
||||||
ls -R ./docker-builds-artifacts
|
|
||||||
cat ./docker-builds-artifacts/*txt >> "${GITHUB_OUTPUT}"
|
|
||||||
cat "${GITHUB_OUTPUT}"
|
|
||||||
|
|
||||||
docker-cache:
|
|
||||||
if: github.repository_owner == 'pytorch'
|
|
||||||
needs: download-docker-builds-artifacts
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
runner: [linux.rocm.gfx942.docker-cache]
|
|
||||||
docker-image: [
|
|
||||||
"${{ needs.download-docker-builds-artifacts.outputs.pytorch-linux-jammy-rocm-n-py3 }}",
|
|
||||||
"${{ needs.download-docker-builds-artifacts.outputs.pytorch-linux-noble-rocm-n-py3 }}",
|
|
||||||
"${{ needs.download-docker-builds-artifacts.outputs.pytorch-linux-jammy-rocm-n-py3-benchmarks }}"
|
|
||||||
]
|
|
||||||
runs-on: "${{ matrix.runner }}"
|
|
||||||
steps:
|
|
||||||
- name: debug
|
|
||||||
run: |
|
|
||||||
JSON_STRINGIFIED="${{ toJSON(needs.download-docker-builds-artifacts.outputs) }}"
|
|
||||||
echo "Outputs of download-docker-builds-artifacts job: ${JSON_STRINGIFIED}"
|
|
||||||
|
|
||||||
- name: configure aws credentials
|
|
||||||
id: aws_creds
|
|
||||||
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
|
|
||||||
with:
|
|
||||||
role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
|
|
||||||
aws-region: us-east-1
|
|
||||||
role-duration-seconds: 18000
|
|
||||||
|
|
||||||
- name: Login to Amazon ECR
|
|
||||||
id: login-ecr
|
|
||||||
continue-on-error: false
|
|
||||||
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2.0.1
|
|
||||||
|
|
||||||
- name: Generate ghrc.io tag
|
|
||||||
id: ghcr-io-tag
|
|
||||||
run: |
|
|
||||||
ecr_image="${{ matrix.docker-image }}"
|
|
||||||
ghcr_image="ghcr.io/pytorch/ci-image:${ecr_image##*:}"
|
|
||||||
echo "ghcr_image=${ghcr_image}" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: Pull docker image
|
|
||||||
uses: pytorch/test-infra/.github/actions/pull-docker-image@main
|
|
||||||
with:
|
|
||||||
docker-image: ${{ steps.ghcr-io-tag.outputs.ghcr_image }}
|
|
||||||
|
|
||||||
- name: Save as tarball
|
|
||||||
run: |
|
|
||||||
docker_image_tag=${{ matrix.docker-image }}
|
|
||||||
docker_image_tag="${docker_image_tag#*:}" # Remove everything before and including first ":"
|
|
||||||
docker_image_tag="${docker_image_tag%-*}" # Remove everything after and including last "-"
|
|
||||||
ref_name=${{ github.event.workflow_run.head_branch }}
|
|
||||||
if [[ $ref_name =~ "release/" ]]; then
|
|
||||||
ref_suffix="release"
|
|
||||||
elif [[ $ref_name == "main" ]]; then
|
|
||||||
ref_suffix="main"
|
|
||||||
else
|
|
||||||
echo "Unexpected branch in ref_name: ${ref_name}" && exit 1
|
|
||||||
fi
|
|
||||||
docker tag ${{ steps.ghcr-io-tag.outputs.ghcr_image }} ${{ matrix.docker-image }}
|
|
||||||
# mv is atomic operation, so we use intermediate tar.tmp file to prevent read-write contention
|
|
||||||
docker save -o ~/pytorch-data/docker/${docker_image_tag}.tar.tmp ${{ matrix.docker-image }}
|
|
||||||
mv ~/pytorch-data/docker/${docker_image_tag}.tar.tmp ~/pytorch-data/docker/${docker_image_tag}_${ref_suffix}.tar
|
|
||||||
1
.github/workflows/docker-release.yml
vendored
1
.github/workflows/docker-release.yml
vendored
@ -8,7 +8,6 @@ on:
|
|||||||
- docker.Makefile
|
- docker.Makefile
|
||||||
- .github/workflows/docker-release.yml
|
- .github/workflows/docker-release.yml
|
||||||
- .github/scripts/generate_docker_release_matrix.py
|
- .github/scripts/generate_docker_release_matrix.py
|
||||||
- .github/scripts/generate_binary_build_matrix.py
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- nightly
|
- nightly
|
||||||
|
|||||||
56
.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
generated
vendored
56
.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
generated
vendored
@ -132,7 +132,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_10-cuda-aarch64-12_6
|
build_name: manywheel-py3_10-cuda-aarch64-12_6
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -178,7 +178,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_10-cuda-aarch64-12_8
|
build_name: manywheel-py3_10-cuda-aarch64-12_8
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -224,7 +224,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_10-cuda-aarch64-12_9
|
build_name: manywheel-py3_10-cuda-aarch64-12_9
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -270,7 +270,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_10-cuda-aarch64-13_0
|
build_name: manywheel-py3_10-cuda-aarch64-13_0
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -381,7 +381,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_11-cuda-aarch64-12_6
|
build_name: manywheel-py3_11-cuda-aarch64-12_6
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -427,7 +427,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_11-cuda-aarch64-12_8
|
build_name: manywheel-py3_11-cuda-aarch64-12_8
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -473,7 +473,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_11-cuda-aarch64-12_9
|
build_name: manywheel-py3_11-cuda-aarch64-12_9
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -519,7 +519,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_11-cuda-aarch64-13_0
|
build_name: manywheel-py3_11-cuda-aarch64-13_0
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -630,7 +630,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_12-cuda-aarch64-12_6
|
build_name: manywheel-py3_12-cuda-aarch64-12_6
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -676,7 +676,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_12-cuda-aarch64-12_8
|
build_name: manywheel-py3_12-cuda-aarch64-12_8
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -722,7 +722,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_12-cuda-aarch64-12_9
|
build_name: manywheel-py3_12-cuda-aarch64-12_9
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -768,7 +768,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_12-cuda-aarch64-13_0
|
build_name: manywheel-py3_12-cuda-aarch64-13_0
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -879,7 +879,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13-cuda-aarch64-12_6
|
build_name: manywheel-py3_13-cuda-aarch64-12_6
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -925,7 +925,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13-cuda-aarch64-12_8
|
build_name: manywheel-py3_13-cuda-aarch64-12_8
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -971,7 +971,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13-cuda-aarch64-12_9
|
build_name: manywheel-py3_13-cuda-aarch64-12_9
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1017,7 +1017,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13-cuda-aarch64-13_0
|
build_name: manywheel-py3_13-cuda-aarch64-13_0
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1128,7 +1128,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13t-cuda-aarch64-12_6
|
build_name: manywheel-py3_13t-cuda-aarch64-12_6
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1174,7 +1174,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13t-cuda-aarch64-12_8
|
build_name: manywheel-py3_13t-cuda-aarch64-12_8
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1220,7 +1220,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13t-cuda-aarch64-12_9
|
build_name: manywheel-py3_13t-cuda-aarch64-12_9
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1266,7 +1266,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_13t-cuda-aarch64-13_0
|
build_name: manywheel-py3_13t-cuda-aarch64-13_0
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1377,7 +1377,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14-cuda-aarch64-12_6
|
build_name: manywheel-py3_14-cuda-aarch64-12_6
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1423,7 +1423,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14-cuda-aarch64-12_8
|
build_name: manywheel-py3_14-cuda-aarch64-12_8
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1469,7 +1469,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14-cuda-aarch64-12_9
|
build_name: manywheel-py3_14-cuda-aarch64-12_9
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1515,7 +1515,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14-cuda-aarch64-13_0
|
build_name: manywheel-py3_14-cuda-aarch64-13_0
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1626,7 +1626,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14t-cuda-aarch64-12_6
|
build_name: manywheel-py3_14t-cuda-aarch64-12_6
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1672,7 +1672,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14t-cuda-aarch64-12_8
|
build_name: manywheel-py3_14t-cuda-aarch64-12_8
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.24; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1718,7 +1718,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14t-cuda-aarch64-12_9
|
build_name: manywheel-py3_14t-cuda-aarch64-12_9
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.4.5; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -1764,7 +1764,7 @@ jobs:
|
|||||||
ALPINE_IMAGE: "arm64v8/alpine"
|
ALPINE_IMAGE: "arm64v8/alpine"
|
||||||
build_name: manywheel-py3_14t-cuda-aarch64-13_0
|
build_name: manywheel-py3_14t-cuda-aarch64-13_0
|
||||||
build_environment: linux-aarch64-binary-manywheel
|
build_environment: linux-aarch64-binary-manywheel
|
||||||
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.4.5; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.88; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.96; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.85; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.1.0.3; platform_system == 'Linux' | nvidia-cufft==12.0.0.61; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.4.66; platform_system == 'Linux' | nvidia-cusparse==12.6.3.3; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.27.7; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.85; platform_system == 'Linux' | nvidia-nvjitlink==13.0.88; platform_system == 'Linux' | nvidia-cufile==1.15.1.6; platform_system == 'Linux'
|
||||||
timeout-minutes: 420
|
timeout-minutes: 420
|
||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
236
.github/workflows/generated-linux-binary-libtorch-nightly.yml
generated
vendored
236
.github/workflows/generated-linux-binary-libtorch-nightly.yml
generated
vendored
@ -384,6 +384,124 @@ jobs:
|
|||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
|
libtorch-rocm6_4-shared-with-deps-release-build:
|
||||||
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
|
uses: ./.github/workflows/_binary-build-linux.yml
|
||||||
|
needs: get-label-type
|
||||||
|
with:
|
||||||
|
PYTORCH_ROOT: /pytorch
|
||||||
|
PACKAGE_TYPE: libtorch
|
||||||
|
# TODO: This is a legacy variable that we eventually want to get rid of in
|
||||||
|
# favor of GPU_ARCH_VERSION
|
||||||
|
DESIRED_CUDA: rocm6.4
|
||||||
|
GPU_ARCH_VERSION: "6.4"
|
||||||
|
GPU_ARCH_TYPE: rocm
|
||||||
|
DOCKER_IMAGE: libtorch-cxx11-builder
|
||||||
|
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
|
||||||
|
LIBTORCH_CONFIG: release
|
||||||
|
LIBTORCH_VARIANT: shared-with-deps
|
||||||
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
|
timeout-minutes: 300
|
||||||
|
build_name: libtorch-rocm6_4-shared-with-deps-release
|
||||||
|
build_environment: linux-binary-libtorch
|
||||||
|
secrets:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
libtorch-rocm6_4-shared-with-deps-release-test: # Testing
|
||||||
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
|
needs:
|
||||||
|
- libtorch-rocm6_4-shared-with-deps-release-build
|
||||||
|
- get-label-type
|
||||||
|
runs-on: linux.rocm.gpu.mi250
|
||||||
|
timeout-minutes: 240
|
||||||
|
env:
|
||||||
|
PYTORCH_ROOT: /pytorch
|
||||||
|
PACKAGE_TYPE: libtorch
|
||||||
|
# TODO: This is a legacy variable that we eventually want to get rid of in
|
||||||
|
# favor of GPU_ARCH_VERSION
|
||||||
|
DESIRED_CUDA: rocm6.4
|
||||||
|
GPU_ARCH_VERSION: "6.4"
|
||||||
|
GPU_ARCH_TYPE: rocm
|
||||||
|
SKIP_ALL_TESTS: 1
|
||||||
|
DOCKER_IMAGE: libtorch-cxx11-builder
|
||||||
|
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
|
||||||
|
LIBTORCH_CONFIG: release
|
||||||
|
LIBTORCH_VARIANT: shared-with-deps
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- name: Setup ROCm
|
||||||
|
uses: ./.github/actions/setup-rocm
|
||||||
|
- uses: actions/download-artifact@v4.1.7
|
||||||
|
name: Download Build Artifacts
|
||||||
|
with:
|
||||||
|
name: libtorch-rocm6_4-shared-with-deps-release
|
||||||
|
path: "${{ runner.temp }}/artifacts/"
|
||||||
|
- name: Checkout PyTorch
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
|
||||||
|
submodules: recursive
|
||||||
|
path: pytorch
|
||||||
|
show-progress: false
|
||||||
|
- name: Clean PyTorch checkout
|
||||||
|
run: |
|
||||||
|
# Remove any artifacts from the previous checkouts
|
||||||
|
git clean -fxd
|
||||||
|
working-directory: pytorch
|
||||||
|
- name: ROCm set GPU_FLAG
|
||||||
|
run: |
|
||||||
|
echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
|
||||||
|
- name: configure aws credentials
|
||||||
|
id: aws_creds
|
||||||
|
if: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') }}
|
||||||
|
uses: aws-actions/configure-aws-credentials@v4
|
||||||
|
with:
|
||||||
|
role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
|
||||||
|
aws-region: us-east-1
|
||||||
|
role-duration-seconds: 18000
|
||||||
|
- name: Calculate docker image
|
||||||
|
id: calculate-docker-image
|
||||||
|
uses: pytorch/test-infra/.github/actions/calculate-docker-image@main
|
||||||
|
with:
|
||||||
|
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
|
||||||
|
docker-image-name: libtorch-cxx11-builder
|
||||||
|
custom-tag-prefix: rocm6.4
|
||||||
|
docker-build-dir: .ci/docker
|
||||||
|
working-directory: pytorch
|
||||||
|
- name: Pull Docker image
|
||||||
|
uses: pytorch/test-infra/.github/actions/pull-docker-image@main
|
||||||
|
with:
|
||||||
|
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
|
||||||
|
- name: Test Pytorch binary
|
||||||
|
uses: ./pytorch/.github/actions/test-pytorch-binary
|
||||||
|
env:
|
||||||
|
DOCKER_IMAGE: ${{ steps.calculate-docker-image.outputs.docker-image }}
|
||||||
|
- name: Teardown ROCm
|
||||||
|
uses: ./.github/actions/teardown-rocm
|
||||||
|
libtorch-rocm6_4-shared-with-deps-release-upload: # Uploading
|
||||||
|
if: ${{ github.repository_owner == 'pytorch' }}
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
needs: libtorch-rocm6_4-shared-with-deps-release-test
|
||||||
|
with:
|
||||||
|
PYTORCH_ROOT: /pytorch
|
||||||
|
PACKAGE_TYPE: libtorch
|
||||||
|
# TODO: This is a legacy variable that we eventually want to get rid of in
|
||||||
|
# favor of GPU_ARCH_VERSION
|
||||||
|
DESIRED_CUDA: rocm6.4
|
||||||
|
GPU_ARCH_VERSION: "6.4"
|
||||||
|
GPU_ARCH_TYPE: rocm
|
||||||
|
DOCKER_IMAGE: libtorch-cxx11-builder
|
||||||
|
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
|
||||||
|
LIBTORCH_CONFIG: release
|
||||||
|
LIBTORCH_VARIANT: shared-with-deps
|
||||||
|
build_name: libtorch-rocm6_4-shared-with-deps-release
|
||||||
|
secrets:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
libtorch-rocm7_0-shared-with-deps-release-build:
|
libtorch-rocm7_0-shared-with-deps-release-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
|
||||||
@ -501,121 +619,3 @@ jobs:
|
|||||||
secrets:
|
secrets:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
uses: ./.github/workflows/_binary-upload.yml
|
||||||
|
|
||||||
libtorch-rocm7_1-shared-with-deps-release-build:
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
uses: ./.github/workflows/_binary-build-linux.yml
|
|
||||||
needs: get-label-type
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
PACKAGE_TYPE: libtorch
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: rocm7.1
|
|
||||||
GPU_ARCH_VERSION: "7.1"
|
|
||||||
GPU_ARCH_TYPE: rocm
|
|
||||||
DOCKER_IMAGE: libtorch-cxx11-builder
|
|
||||||
DOCKER_IMAGE_TAG_PREFIX: rocm7.1
|
|
||||||
LIBTORCH_CONFIG: release
|
|
||||||
LIBTORCH_VARIANT: shared-with-deps
|
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
|
||||||
timeout-minutes: 300
|
|
||||||
build_name: libtorch-rocm7_1-shared-with-deps-release
|
|
||||||
build_environment: linux-binary-libtorch
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
libtorch-rocm7_1-shared-with-deps-release-test: # Testing
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
needs:
|
|
||||||
- libtorch-rocm7_1-shared-with-deps-release-build
|
|
||||||
- get-label-type
|
|
||||||
runs-on: linux.rocm.gpu.mi250
|
|
||||||
timeout-minutes: 240
|
|
||||||
env:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
PACKAGE_TYPE: libtorch
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: rocm7.1
|
|
||||||
GPU_ARCH_VERSION: "7.1"
|
|
||||||
GPU_ARCH_TYPE: rocm
|
|
||||||
SKIP_ALL_TESTS: 1
|
|
||||||
DOCKER_IMAGE: libtorch-cxx11-builder
|
|
||||||
DOCKER_IMAGE_TAG_PREFIX: rocm7.1
|
|
||||||
LIBTORCH_CONFIG: release
|
|
||||||
LIBTORCH_VARIANT: shared-with-deps
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
steps:
|
|
||||||
- name: Setup ROCm
|
|
||||||
uses: ./.github/actions/setup-rocm
|
|
||||||
- uses: actions/download-artifact@v4.1.7
|
|
||||||
name: Download Build Artifacts
|
|
||||||
with:
|
|
||||||
name: libtorch-rocm7_1-shared-with-deps-release
|
|
||||||
path: "${{ runner.temp }}/artifacts/"
|
|
||||||
- name: Checkout PyTorch
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
|
|
||||||
submodules: recursive
|
|
||||||
path: pytorch
|
|
||||||
show-progress: false
|
|
||||||
- name: Clean PyTorch checkout
|
|
||||||
run: |
|
|
||||||
# Remove any artifacts from the previous checkouts
|
|
||||||
git clean -fxd
|
|
||||||
working-directory: pytorch
|
|
||||||
- name: ROCm set GPU_FLAG
|
|
||||||
run: |
|
|
||||||
echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
|
|
||||||
- name: configure aws credentials
|
|
||||||
id: aws_creds
|
|
||||||
if: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') }}
|
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
|
||||||
with:
|
|
||||||
role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
|
|
||||||
aws-region: us-east-1
|
|
||||||
role-duration-seconds: 18000
|
|
||||||
- name: Calculate docker image
|
|
||||||
id: calculate-docker-image
|
|
||||||
uses: pytorch/test-infra/.github/actions/calculate-docker-image@main
|
|
||||||
with:
|
|
||||||
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
|
|
||||||
docker-image-name: libtorch-cxx11-builder
|
|
||||||
custom-tag-prefix: rocm7.1
|
|
||||||
docker-build-dir: .ci/docker
|
|
||||||
working-directory: pytorch
|
|
||||||
- name: Pull Docker image
|
|
||||||
uses: pytorch/test-infra/.github/actions/pull-docker-image@main
|
|
||||||
with:
|
|
||||||
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
|
|
||||||
- name: Test Pytorch binary
|
|
||||||
uses: ./pytorch/.github/actions/test-pytorch-binary
|
|
||||||
env:
|
|
||||||
DOCKER_IMAGE: ${{ steps.calculate-docker-image.outputs.docker-image }}
|
|
||||||
- name: Teardown ROCm
|
|
||||||
uses: ./.github/actions/teardown-rocm
|
|
||||||
libtorch-rocm7_1-shared-with-deps-release-upload: # Uploading
|
|
||||||
if: ${{ github.repository_owner == 'pytorch' }}
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
needs: libtorch-rocm7_1-shared-with-deps-release-test
|
|
||||||
with:
|
|
||||||
PYTORCH_ROOT: /pytorch
|
|
||||||
PACKAGE_TYPE: libtorch
|
|
||||||
# TODO: This is a legacy variable that we eventually want to get rid of in
|
|
||||||
# favor of GPU_ARCH_VERSION
|
|
||||||
DESIRED_CUDA: rocm7.1
|
|
||||||
GPU_ARCH_VERSION: "7.1"
|
|
||||||
GPU_ARCH_TYPE: rocm
|
|
||||||
DOCKER_IMAGE: libtorch-cxx11-builder
|
|
||||||
DOCKER_IMAGE_TAG_PREFIX: rocm7.1
|
|
||||||
LIBTORCH_CONFIG: release
|
|
||||||
LIBTORCH_VARIANT: shared-with-deps
|
|
||||||
build_name: libtorch-rocm7_1-shared-with-deps-release
|
|
||||||
secrets:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
uses: ./.github/workflows/_binary-upload.yml
|
|
||||||
|
|||||||
1666
.github/workflows/generated-linux-binary-manywheel-nightly.yml
generated
vendored
1666
.github/workflows/generated-linux-binary-manywheel-nightly.yml
generated
vendored
File diff suppressed because it is too large
Load Diff
1
.github/workflows/h100-distributed.yml
vendored
1
.github/workflows/h100-distributed.yml
vendored
@ -37,6 +37,7 @@ jobs:
|
|||||||
needs: get-label-type
|
needs: get-label-type
|
||||||
with:
|
with:
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
|
runner: "linux.c7i.12xlarge"
|
||||||
build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm90-dist
|
build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm90-dist
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
|
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
|
||||||
cuda-arch-list: '9.0'
|
cuda-arch-list: '9.0'
|
||||||
|
|||||||
@ -72,7 +72,7 @@ jobs:
|
|||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
runner: linux.arm64.m7g.4xlarge
|
runner: linux.arm64.m7g.4xlarge
|
||||||
build-environment: linux-jammy-aarch64-py3.10
|
build-environment: linux-jammy-aarch64-py3.10
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-aarch64-py3.10-gcc13-inductor-benchmarks
|
docker-image-name: ci-image:pytorch-linux-jammy-aarch64-py3.10-gcc11-inductor-benchmarks
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "inductor_huggingface_perf_cpu_aarch64", shard: 1, num_shards: 9, runner: "linux.arm64.m7g.metal" },
|
{ config: "inductor_huggingface_perf_cpu_aarch64", shard: 1, num_shards: 9, runner: "linux.arm64.m7g.metal" },
|
||||||
|
|||||||
148
.github/workflows/inductor-perf-test-nightly-xpu.yml
vendored
148
.github/workflows/inductor-perf-test-nightly-xpu.yml
vendored
@ -1,148 +0,0 @@
|
|||||||
name: inductor-perf-nightly-xpu
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- ciflow/inductor-perf-test-nightly-xpu/*
|
|
||||||
schedule:
|
|
||||||
- cron: 30 17 * * *
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
training:
|
|
||||||
description: Run training (on by default)?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
inference:
|
|
||||||
description: Run inference (on by default)?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
default:
|
|
||||||
description: Run inductor_default?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
dynamic:
|
|
||||||
description: Run inductor_dynamic_shapes?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
cppwrapper:
|
|
||||||
description: Run inductor_cpp_wrapper?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
cudagraphs:
|
|
||||||
description: Run inductor_cudagraphs?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
freezing_cudagraphs:
|
|
||||||
description: Run inductor_cudagraphs with freezing for inference?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
aotinductor:
|
|
||||||
description: Run aot_inductor for inference?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
maxautotune:
|
|
||||||
description: Run inductor_max_autotune?
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
benchmark_configs:
|
|
||||||
description: The list of configs used the benchmark
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: inductor_huggingface_perf,inductor_timm_perf,inductor_torchbench_perf,cachebench
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
permissions: read-all
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
get-label-type:
|
|
||||||
name: get-label-type
|
|
||||||
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main
|
|
||||||
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
|
|
||||||
with:
|
|
||||||
triggering_actor: ${{ github.triggering_actor }}
|
|
||||||
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
|
|
||||||
curr_branch: ${{ github.head_ref || github.ref_name }}
|
|
||||||
curr_ref_type: ${{ github.ref_type }}
|
|
||||||
opt_out_experiments: lf
|
|
||||||
|
|
||||||
xpu-n-py3_10-inductor-benchmark-build:
|
|
||||||
name: xpu-n-py3.10-inductor-benchmark
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
needs: get-label-type
|
|
||||||
with:
|
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
|
||||||
build-environment: linux-noble-xpu-n-py3.10
|
|
||||||
docker-image-name: ci-image:pytorch-linux-noble-xpu-n-py3-inductor-benchmarks
|
|
||||||
runner: linux.c7i.12xlarge
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor_huggingface_perf_xpu", shard: 1, num_shards: 5, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_huggingface_perf_xpu", shard: 2, num_shards: 5, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_huggingface_perf_xpu", shard: 3, num_shards: 5, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_huggingface_perf_xpu", shard: 4, num_shards: 5, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_huggingface_perf_xpu", shard: 5, num_shards: 5, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_timm_perf_xpu", shard: 1, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_timm_perf_xpu", shard: 2, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_timm_perf_xpu", shard: 3, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_timm_perf_xpu", shard: 4, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_timm_perf_xpu", shard: 5, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_timm_perf_xpu", shard: 6, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_torchbench_perf_xpu", shard: 1, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_torchbench_perf_xpu", shard: 2, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_torchbench_perf_xpu", shard: 3, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_torchbench_perf_xpu", shard: 4, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_torchbench_perf_xpu", shard: 5, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "inductor_torchbench_perf_xpu", shard: 6, num_shards: 6, runner: "linux.idc.xpu" },
|
|
||||||
]}
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
xpu-n-py3_10-inductor-benchmark-test-nightly:
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
if: github.event_name != 'workflow_dispatch'
|
|
||||||
name: xpu-n-py3.10-inductor-benchmark
|
|
||||||
uses: ./.github/workflows/_xpu-test.yml
|
|
||||||
needs: xpu-n-py3_10-inductor-benchmark-build
|
|
||||||
with:
|
|
||||||
build-environment: linux-noble-xpu-n-py3.10
|
|
||||||
dashboard-tag: training-true-inference-true-default-true-dynamic-true-cudagraphs-false-cppwrapper-true-aotinductor-true-freezing_cudagraphs-false-cudagraphs_low_precision-false
|
|
||||||
docker-image: ${{ needs.xpu-n-py3_10-inductor-benchmark-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.xpu-n-py3_10-inductor-benchmark-build.outputs.test-matrix }}
|
|
||||||
timeout-minutes: 720
|
|
||||||
# Disable monitor in perf tests for more investigation
|
|
||||||
disable-monitor: true
|
|
||||||
monitor-log-interval: 10
|
|
||||||
monitor-data-collect-interval: 2
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
xpu-n-py3_10-inductor-benchmark-test:
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
if: github.event_name == 'workflow_dispatch'
|
|
||||||
name: xpu-n-py3.10-inductor-test
|
|
||||||
uses: ./.github/workflows/_xpu-test.yml
|
|
||||||
needs: xpu-n-py3_10-inductor-benchmark-build
|
|
||||||
with:
|
|
||||||
build-environment: linux-noble-xpu-n-py3.10
|
|
||||||
dashboard-tag: training-${{ inputs.training }}-inference-${{ inputs.inference }}-default-${{ inputs.default }}-dynamic-${{ inputs.dynamic }}-cudagraphs-${{ inputs.cudagraphs }}-cppwrapper-${{ inputs.cppwrapper }}-aotinductor-${{ inputs.aotinductor }}-maxautotune-${{ inputs.maxautotune }}-freezing_cudagraphs-${{ inputs.freezing_cudagraphs }}-cudagraphs_low_precision-${{ inputs.cudagraphs }}
|
|
||||||
docker-image: ${{ needs.xpu-n-py3_10-inductor-benchmark-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.xpu-n-py3_10-inductor-benchmark-build.outputs.test-matrix }}
|
|
||||||
timeout-minutes: 720
|
|
||||||
disable-monitor: false
|
|
||||||
monitor-log-interval: 15
|
|
||||||
monitor-data-collect-interval: 4
|
|
||||||
secrets: inherit
|
|
||||||
1
.github/workflows/inductor-rocm-mi300.yml
vendored
1
.github/workflows/inductor-rocm-mi300.yml
vendored
@ -7,7 +7,6 @@ on:
|
|||||||
- release/*
|
- release/*
|
||||||
tags:
|
tags:
|
||||||
- ciflow/inductor-rocm/*
|
- ciflow/inductor-rocm/*
|
||||||
- ciflow/inductor-rocm-mi300/*
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
|
|||||||
@ -1,13 +1,12 @@
|
|||||||
name: inductor-rocm-mi200
|
name: inductor-rocm
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
|
||||||
- cron: 0 */3 * * *
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
- main
|
||||||
- release/*
|
- release/*
|
||||||
tags:
|
tags:
|
||||||
- ciflow/inductor-rocm-mi200/*
|
- ciflow/inductor-rocm/*
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
34
.github/workflows/inductor-unittest.yml
vendored
34
.github/workflows/inductor-unittest.yml
vendored
@ -81,32 +81,6 @@ jobs:
|
|||||||
test-matrix: ${{ needs.inductor-halide-build.outputs.test-matrix }}
|
test-matrix: ${{ needs.inductor-halide-build.outputs.test-matrix }}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
inductor-pallas-build:
|
|
||||||
name: inductor-pallas-build
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
needs: get-label-type
|
|
||||||
with:
|
|
||||||
build-environment: linux-jammy-cuda12.8-py3.12-gcc11
|
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-py3.12-pallas
|
|
||||||
cuda-arch-list: '8.9'
|
|
||||||
runner: linux.8xlarge.memory
|
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "inductor-pallas", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.12xlarge.nvidia.gpu" },
|
|
||||||
]}
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
inductor-pallas-test:
|
|
||||||
name: inductor-pallas-test
|
|
||||||
uses: ./.github/workflows/_linux-test.yml
|
|
||||||
needs: inductor-pallas-build
|
|
||||||
with:
|
|
||||||
build-environment: linux-jammy-py3.12-gcc11
|
|
||||||
docker-image: ${{ needs.inductor-pallas-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.inductor-pallas-build.outputs.test-matrix }}
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
inductor-triton-cpu-build:
|
inductor-triton-cpu-build:
|
||||||
name: inductor-triton-cpu-build
|
name: inductor-triton-cpu-build
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
@ -141,10 +115,10 @@ jobs:
|
|||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "inductor_amx", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "inductor_amx", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "inductor_amx", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "inductor_amx", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "inductor_avx2", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.avx2" },
|
{ config: "inductor_avx2", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.10xlarge.avx2" },
|
||||||
{ config: "inductor_avx2", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.avx2" },
|
{ config: "inductor_avx2", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.10xlarge.avx2" },
|
||||||
]}
|
]}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
|||||||
14
.github/workflows/inductor.yml
vendored
14
.github/workflows/inductor.yml
vendored
@ -84,13 +84,13 @@ jobs:
|
|||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "dynamic_cpu_inductor_huggingface", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "dynamic_cpu_inductor_huggingface", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "dynamic_cpu_inductor_timm", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "dynamic_cpu_inductor_timm", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "dynamic_cpu_inductor_timm", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "dynamic_cpu_inductor_timm", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "dynamic_cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "dynamic_cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "dynamic_cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge.amx" },
|
{ config: "dynamic_cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
|
||||||
{ config: "inductor_torchbench_cpu_smoketest_perf", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.24xl.spr-metal" },
|
{ config: "inductor_torchbench_cpu_smoketest_perf", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.24xl.spr-metal" },
|
||||||
]}
|
]}
|
||||||
build-additional-packages: "vision audio torchao"
|
build-additional-packages: "vision audio torchao"
|
||||||
|
|||||||
15
.github/workflows/lint.yml
vendored
15
.github/workflows/lint.yml
vendored
@ -76,12 +76,11 @@ jobs:
|
|||||||
|
|
||||||
# NOTE: mypy needs its own job because it depends on --all-files, without assessing all files it sometimes
|
# NOTE: mypy needs its own job because it depends on --all-files, without assessing all files it sometimes
|
||||||
# fails to find types when it should
|
# fails to find types when it should
|
||||||
# NOTE: We should be able to disable this and consolidate with Pyrefly
|
lintrunner-mypy:
|
||||||
lintrunner-pyrefly:
|
|
||||||
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
|
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
|
||||||
name: lintrunner-pyrefly-${{ needs.get-changed-files.outputs.changed-files == '*' && 'all' || 'partial' }}
|
name: lintrunner-mypy-${{ needs.get-changed-files.outputs.changed-files == '*' && 'all' || 'partial' }}
|
||||||
needs: [get-label-type, get-changed-files]
|
needs: [get-label-type, get-changed-files]
|
||||||
# Only run if there are changed files relevant to pyrefly
|
# Only run if there are changed files relevant to mypy
|
||||||
if: |
|
if: |
|
||||||
github.repository_owner == 'pytorch' && (
|
github.repository_owner == 'pytorch' && (
|
||||||
needs.get-changed-files.outputs.changed-files == '*' ||
|
needs.get-changed-files.outputs.changed-files == '*' ||
|
||||||
@ -99,8 +98,8 @@ jobs:
|
|||||||
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: |
|
||||||
CHANGED_FILES="${{ needs.get-changed-files.outputs.changed-files }}"
|
CHANGED_FILES="${{ needs.get-changed-files.outputs.changed-files }}"
|
||||||
echo "Running pyrefly"
|
echo "Running mypy"
|
||||||
ADDITIONAL_LINTRUNNER_ARGS="--take PYREFLY --all-files" .github/scripts/lintrunner.sh
|
ADDITIONAL_LINTRUNNER_ARGS="--take MYPY,MYPYSTRICT --all-files" .github/scripts/lintrunner.sh
|
||||||
|
|
||||||
lintrunner-noclang:
|
lintrunner-noclang:
|
||||||
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
|
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
|
||||||
@ -119,9 +118,9 @@ jobs:
|
|||||||
CHANGED_FILES="${{ needs.get-changed-files.outputs.changed-files }}"
|
CHANGED_FILES="${{ needs.get-changed-files.outputs.changed-files }}"
|
||||||
echo "Running all other linters"
|
echo "Running all other linters"
|
||||||
if [ "$CHANGED_FILES" = '*' ]; then
|
if [ "$CHANGED_FILES" = '*' ]; then
|
||||||
ADDITIONAL_LINTRUNNER_ARGS="--skip CLANGTIDY,CLANGFORMAT,PYREFLY --all-files" .github/scripts/lintrunner.sh
|
ADDITIONAL_LINTRUNNER_ARGS="--skip CLANGTIDY,CLANGFORMAT,MYPY,MYPYSTRICT,PYREFLY --all-files" .github/scripts/lintrunner.sh
|
||||||
else
|
else
|
||||||
ADDITIONAL_LINTRUNNER_ARGS="--skip CLANGTIDY,CLANGFORMAT,PYREFLY ${CHANGED_FILES}" .github/scripts/lintrunner.sh
|
ADDITIONAL_LINTRUNNER_ARGS="--skip CLANGTIDY,CLANGFORMAT,MYPY,MYPYSTRICT,PYREFLY ${CHANGED_FILES}" .github/scripts/lintrunner.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
quick-checks:
|
quick-checks:
|
||||||
|
|||||||
2
.github/workflows/linux-aarch64.yml
vendored
2
.github/workflows/linux-aarch64.yml
vendored
@ -33,7 +33,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
|
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
|
||||||
build-environment: linux-jammy-aarch64-py3.10
|
build-environment: linux-jammy-aarch64-py3.10
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-aarch64-py3.10-gcc13
|
docker-image-name: ci-image:pytorch-linux-jammy-aarch64-py3.10-gcc11
|
||||||
runner: linux.arm64.m7g.4xlarge
|
runner: linux.arm64.m7g.4xlarge
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
|
|||||||
10
.github/workflows/nightly.yml
vendored
10
.github/workflows/nightly.yml
vendored
@ -5,11 +5,9 @@ on:
|
|||||||
- cron: 0 0 * * *
|
- cron: 0 0 * * *
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
# NOTE: Doc build pipelines should only get triggered on:
|
# NOTE: Doc build pipelines should only get triggered on release candidate builds
|
||||||
# Major or minor release candidates builds
|
# Release candidate tags look like: v1.11.0-rc1
|
||||||
- v[0-9]+.[0-9]+.0+-rc[0-9]+
|
- v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+
|
||||||
# Final RC for major, minor and patch releases
|
|
||||||
- v[0-9]+.[0-9]+.[0-9]+
|
|
||||||
- ciflow/nightly/*
|
- ciflow/nightly/*
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
@ -43,7 +41,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
needs: get-label-type
|
needs: get-label-type
|
||||||
with:
|
with:
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge"
|
||||||
build-environment: linux-jammy-py3.10-gcc11
|
build-environment: linux-jammy-py3.10-gcc11
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-gcc11
|
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-gcc11
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|||||||
2
.github/workflows/operator_benchmark.yml
vendored
2
.github/workflows/operator_benchmark.yml
vendored
@ -60,7 +60,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
build-environment: linux-jammy-aarch64-py3.10
|
build-environment: linux-jammy-aarch64-py3.10
|
||||||
runner: linux.arm64.m7g.4xlarge
|
runner: linux.arm64.m7g.4xlarge
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-aarch64-py3.10-gcc13
|
docker-image-name: ci-image:pytorch-linux-jammy-aarch64-py3.10-gcc11
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "cpu_operator_benchmark_short", shard: 1, num_shards: 1, runner: "linux.arm64.m8g.4xlarge" },
|
{ config: "cpu_operator_benchmark_short", shard: 1, num_shards: 1, runner: "linux.arm64.m8g.4xlarge" },
|
||||||
|
|||||||
83
.github/workflows/periodic-rocm-mi200.yml
vendored
83
.github/workflows/periodic-rocm-mi200.yml
vendored
@ -1,83 +0,0 @@
|
|||||||
name: periodic-rocm-mi200
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
# We have several schedules so jobs can check github.event.schedule to activate only for a fraction of the runs.
|
|
||||||
# Also run less frequently on weekends.
|
|
||||||
- cron: 45 0,8,16 * * 1-5
|
|
||||||
- cron: 45 4 * * 0,6
|
|
||||||
- cron: 45 4,12,20 * * 1-5
|
|
||||||
- cron: 45 12 * * 0,6
|
|
||||||
- cron: 29 8 * * * # about 1:29am PDT, for mem leak check and rerun disabled tests
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- ciflow/periodic-rocm-mi200/*
|
|
||||||
branches:
|
|
||||||
- release/*
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}-${{ github.event.schedule }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
llm-td:
|
|
||||||
if: github.repository_owner == 'pytorch'
|
|
||||||
name: before-test
|
|
||||||
uses: ./.github/workflows/llm_td_retrieval.yml
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
target-determination:
|
|
||||||
name: before-test
|
|
||||||
uses: ./.github/workflows/target_determination.yml
|
|
||||||
needs: llm-td
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
get-label-type:
|
|
||||||
name: get-label-type
|
|
||||||
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main
|
|
||||||
if: (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch'
|
|
||||||
with:
|
|
||||||
triggering_actor: ${{ github.triggering_actor }}
|
|
||||||
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
|
|
||||||
curr_branch: ${{ github.head_ref || github.ref_name }}
|
|
||||||
curr_ref_type: ${{ github.ref_type }}
|
|
||||||
|
|
||||||
linux-jammy-rocm-py3_10-build:
|
|
||||||
name: linux-jammy-rocm-py3.10
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
needs: get-label-type
|
|
||||||
with:
|
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
|
||||||
build-environment: linux-jammy-rocm-py3.10
|
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "distributed", shard: 1, num_shards: 3, runner: "linux.rocm.gpu.4", owners: ["module:rocm", "oncall:distributed"] },
|
|
||||||
{ config: "distributed", shard: 2, num_shards: 3, runner: "linux.rocm.gpu.4", owners: ["module:rocm", "oncall:distributed"] },
|
|
||||||
{ config: "distributed", shard: 3, num_shards: 3, runner: "linux.rocm.gpu.4", owners: ["module:rocm", "oncall:distributed"] },
|
|
||||||
]}
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
linux-jammy-rocm-py3_10-test:
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
name: linux-jammy-rocm-py3.10
|
|
||||||
uses: ./.github/workflows/_rocm-test.yml
|
|
||||||
needs:
|
|
||||||
- linux-jammy-rocm-py3_10-build
|
|
||||||
- target-determination
|
|
||||||
with:
|
|
||||||
build-environment: linux-jammy-rocm-py3.10
|
|
||||||
docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
|
|
||||||
secrets: inherit
|
|
||||||
1
.github/workflows/periodic-rocm-mi300.yml
vendored
1
.github/workflows/periodic-rocm-mi300.yml
vendored
@ -11,7 +11,6 @@ on:
|
|||||||
- cron: 29 8 * * * # about 1:29am PDT, for mem leak check and rerun disabled tests
|
- cron: 29 8 * * * # about 1:29am PDT, for mem leak check and rerun disabled tests
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- ciflow/periodic/*
|
|
||||||
- ciflow/periodic-rocm-mi300/*
|
- ciflow/periodic-rocm-mi300/*
|
||||||
branches:
|
branches:
|
||||||
- release/*
|
- release/*
|
||||||
|
|||||||
31
.github/workflows/periodic.yml
vendored
31
.github/workflows/periodic.yml
vendored
@ -204,6 +204,37 @@ jobs:
|
|||||||
test-matrix: ${{ needs.linux-jammy-cuda13_0-py3_10-gcc11-build.outputs.test-matrix }}
|
test-matrix: ${{ needs.linux-jammy-cuda13_0-py3_10-gcc11-build.outputs.test-matrix }}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
linux-jammy-rocm-py3_10-build:
|
||||||
|
name: linux-jammy-rocm-py3.10
|
||||||
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
|
needs: get-label-type
|
||||||
|
with:
|
||||||
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
|
build-environment: linux-jammy-rocm-py3.10
|
||||||
|
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
|
||||||
|
test-matrix: |
|
||||||
|
{ include: [
|
||||||
|
{ config: "distributed", shard: 1, num_shards: 3, runner: "linux.rocm.gpu.mi250.4", owners: ["module:rocm", "oncall:distributed"] },
|
||||||
|
{ config: "distributed", shard: 2, num_shards: 3, runner: "linux.rocm.gpu.mi250.4", owners: ["module:rocm", "oncall:distributed"] },
|
||||||
|
{ config: "distributed", shard: 3, num_shards: 3, runner: "linux.rocm.gpu.mi250.4", owners: ["module:rocm", "oncall:distributed"] },
|
||||||
|
]}
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
linux-jammy-rocm-py3_10-test:
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
name: linux-jammy-rocm-py3.10
|
||||||
|
uses: ./.github/workflows/_rocm-test.yml
|
||||||
|
needs:
|
||||||
|
- linux-jammy-rocm-py3_10-build
|
||||||
|
- target-determination
|
||||||
|
with:
|
||||||
|
build-environment: linux-jammy-rocm-py3.10
|
||||||
|
docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
|
||||||
|
test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
linux-jammy-cuda12_8-py3-gcc11-slow-gradcheck-build:
|
linux-jammy-cuda12_8-py3-gcc11-slow-gradcheck-build:
|
||||||
name: linux-jammy-cuda12.8-py3-gcc11-slow-gradcheck
|
name: linux-jammy-cuda12.8-py3-gcc11-slow-gradcheck
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
|
|||||||
16
.github/workflows/pull.yml
vendored
16
.github/workflows/pull.yml
vendored
@ -66,10 +66,10 @@ jobs:
|
|||||||
{ config: "default", shard: 5, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
{ config: "default", shard: 5, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
{ config: "docs_test", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
{ config: "docs_test", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
{ config: "jit_legacy", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
{ config: "jit_legacy", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
{ config: "backwards_compat", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.c7i.2xlarge" },
|
{ config: "backwards_compat", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
{ config: "distributed", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
{ config: "distributed", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
{ config: "distributed", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
{ config: "distributed", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
{ config: "numpy_2_x", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.c7i.2xlarge" },
|
{ config: "numpy_2_x", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
]}
|
]}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
@ -167,8 +167,8 @@ jobs:
|
|||||||
docker-image-name: ci-image:pytorch-linux-jammy-py3-clang12-onnx
|
docker-image-name: ci-image:pytorch-linux-jammy-py3-clang12-onnx
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "default", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.c7i.2xlarge" },
|
{ config: "default", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
{ config: "default", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.c7i.2xlarge" },
|
{ config: "default", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
|
||||||
]}
|
]}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
@ -342,16 +342,16 @@ jobs:
|
|||||||
test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.test-matrix }}
|
test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.test-matrix }}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
linux-noble-xpu-n-py3_10-build:
|
linux-jammy-xpu-n-py3_10-build:
|
||||||
name: linux-noble-xpu-n-py3.10
|
name: linux-jammy-xpu-n-py3.10
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
needs: get-label-type
|
needs: get-label-type
|
||||||
with:
|
with:
|
||||||
# This should sync with the build in xpu.yml but xpu uses a larger runner
|
# This should sync with the build in xpu.yml but xpu uses a larger runner
|
||||||
# sync-tag: linux-xpu-n-build
|
# sync-tag: linux-xpu-n-build
|
||||||
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
|
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
|
||||||
build-environment: linux-noble-xpu-n-py3.10
|
build-environment: linux-jammy-xpu-n-py3.10
|
||||||
docker-image-name: ci-image:pytorch-linux-noble-xpu-n-py3
|
docker-image-name: ci-image:pytorch-linux-jammy-xpu-n-py3
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "default", shard: 1, num_shards: 4, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 1, num_shards: 4, runner: "linux.idc.xpu" },
|
||||||
|
|||||||
1
.github/workflows/rocm-mi300.yml
vendored
1
.github/workflows/rocm-mi300.yml
vendored
@ -6,7 +6,6 @@ on:
|
|||||||
- main
|
- main
|
||||||
- release/*
|
- release/*
|
||||||
tags:
|
tags:
|
||||||
- ciflow/rocm/*
|
|
||||||
- ciflow/rocm-mi300/*
|
- ciflow/rocm-mi300/*
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
|
|||||||
@ -1,16 +1,15 @@
|
|||||||
name: rocm-mi200
|
name: rocm
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
- main
|
||||||
- release/*
|
- release/*
|
||||||
tags:
|
tags:
|
||||||
- ciflow/rocm-mi200/*
|
- ciflow/rocm/*
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: 29 8 * * * # about 1:29am PDT
|
- cron: 29 8 * * * # about 1:29am PDT
|
||||||
- cron: 0 */3 * * *
|
|
||||||
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
|
||||||
81
.github/workflows/slow-rocm-mi200.yml
vendored
81
.github/workflows/slow-rocm-mi200.yml
vendored
@ -1,81 +0,0 @@
|
|||||||
# This workflow is dedicated to host slow jobs that are run only periodically because
|
|
||||||
# they are too slow to run in every commit. The list of slow tests can be found in
|
|
||||||
# https://github.com/pytorch/test-infra/blob/generated-stats/stats/slow-tests.json
|
|
||||||
name: slow-rocm-mi200
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- release/*
|
|
||||||
tags:
|
|
||||||
- ciflow/slow/*
|
|
||||||
- ciflow/slow-rocm-mi200/*
|
|
||||||
schedule:
|
|
||||||
- cron: 0 */3 * * *
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}-${{ github.event.schedule }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
llm-td:
|
|
||||||
if: github.repository_owner == 'pytorch'
|
|
||||||
name: before-test
|
|
||||||
uses: ./.github/workflows/llm_td_retrieval.yml
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
target-determination:
|
|
||||||
name: before-test
|
|
||||||
uses: ./.github/workflows/target_determination.yml
|
|
||||||
needs: llm-td
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
get-label-type:
|
|
||||||
name: get-label-type
|
|
||||||
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main
|
|
||||||
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
|
|
||||||
with:
|
|
||||||
triggering_actor: ${{ github.triggering_actor }}
|
|
||||||
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
|
|
||||||
curr_branch: ${{ github.head_ref || github.ref_name }}
|
|
||||||
curr_ref_type: ${{ github.ref_type }}
|
|
||||||
|
|
||||||
linux-jammy-rocm-py3_10-build:
|
|
||||||
name: linux-jammy-rocm-py3.10
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
needs: get-label-type
|
|
||||||
with:
|
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
|
||||||
build-environment: linux-jammy-rocm-py3.10
|
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
|
|
||||||
sync-tag: rocm-build
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "slow", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.2", owners: ["module:rocm"] },
|
|
||||||
{ config: "slow", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.2", owners: ["module:rocm"] },
|
|
||||||
]}
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
linux-jammy-rocm-py3_10-test:
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
name: linux-jammy-rocm-py3.10
|
|
||||||
uses: ./.github/workflows/_rocm-test.yml
|
|
||||||
needs:
|
|
||||||
- linux-jammy-rocm-py3_10-build
|
|
||||||
- target-determination
|
|
||||||
with:
|
|
||||||
build-environment: linux-jammy-rocm-py3.10
|
|
||||||
docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
|
|
||||||
secrets: inherit
|
|
||||||
30
.github/workflows/slow.yml
vendored
30
.github/workflows/slow.yml
vendored
@ -105,6 +105,36 @@ jobs:
|
|||||||
test-matrix: ${{ needs.linux-jammy-py3_10-clang12-build.outputs.test-matrix }}
|
test-matrix: ${{ needs.linux-jammy-py3_10-clang12-build.outputs.test-matrix }}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
linux-jammy-rocm-py3_10-build:
|
||||||
|
name: linux-jammy-rocm-py3.10
|
||||||
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
|
needs: get-label-type
|
||||||
|
with:
|
||||||
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
|
build-environment: linux-jammy-rocm-py3.10
|
||||||
|
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
|
||||||
|
test-matrix: |
|
||||||
|
{ include: [
|
||||||
|
{ config: "slow", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.2", owners: ["module:rocm"] },
|
||||||
|
{ config: "slow", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.2", owners: ["module:rocm"] },
|
||||||
|
]}
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
linux-jammy-rocm-py3_10-test:
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
name: linux-jammy-rocm-py3.10
|
||||||
|
uses: ./.github/workflows/_rocm-test.yml
|
||||||
|
needs:
|
||||||
|
- linux-jammy-rocm-py3_10-build
|
||||||
|
- target-determination
|
||||||
|
with:
|
||||||
|
build-environment: linux-jammy-rocm-py3.10
|
||||||
|
docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
|
||||||
|
test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
linux-jammy-py3_10-clang18-asan-build:
|
linux-jammy-py3_10-clang18-asan-build:
|
||||||
name: linux-jammy-py3.10-clang18-asan
|
name: linux-jammy-py3.10-clang18-asan
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
|
|||||||
1
.github/workflows/test-h100.yml
vendored
1
.github/workflows/test-h100.yml
vendored
@ -41,6 +41,7 @@ jobs:
|
|||||||
needs: get-label-type
|
needs: get-label-type
|
||||||
with:
|
with:
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
||||||
|
runner: linux.12xlarge.memory
|
||||||
build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm90
|
build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm90
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
|
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
|
||||||
cuda-arch-list: '9.0'
|
cuda-arch-list: '9.0'
|
||||||
|
|||||||
83
.github/workflows/trunk-rocm-mi300.yml
vendored
83
.github/workflows/trunk-rocm-mi300.yml
vendored
@ -1,83 +0,0 @@
|
|||||||
name: trunk-rocm-mi300
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- release/*
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
- cron: 29 8 * * * # about 1:29am PDT
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
llm-td:
|
|
||||||
if: github.repository_owner == 'pytorch'
|
|
||||||
name: before-test
|
|
||||||
uses: ./.github/workflows/llm_td_retrieval.yml
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
target-determination:
|
|
||||||
name: before-test
|
|
||||||
uses: ./.github/workflows/target_determination.yml
|
|
||||||
needs: llm-td
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
get-label-type:
|
|
||||||
name: get-label-type
|
|
||||||
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main
|
|
||||||
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
|
|
||||||
with:
|
|
||||||
triggering_actor: ${{ github.triggering_actor }}
|
|
||||||
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
|
|
||||||
curr_branch: ${{ github.head_ref || github.ref_name }}
|
|
||||||
curr_ref_type: ${{ github.ref_type }}
|
|
||||||
|
|
||||||
linux-jammy-rocm-py3_10-build:
|
|
||||||
name: linux-jammy-rocm-py3.10
|
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
|
||||||
needs: get-label-type
|
|
||||||
with:
|
|
||||||
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
|
|
||||||
build-environment: linux-jammy-rocm-py3.10
|
|
||||||
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
|
|
||||||
sync-tag: rocm-build
|
|
||||||
test-matrix: |
|
|
||||||
{ include: [
|
|
||||||
{ config: "default", shard: 1, num_shards: 6, runner: "linux.rocm.gpu.gfx942.1.b" },
|
|
||||||
{ config: "default", shard: 2, num_shards: 6, runner: "linux.rocm.gpu.gfx942.1.b" },
|
|
||||||
{ config: "default", shard: 3, num_shards: 6, runner: "linux.rocm.gpu.gfx942.1.b" },
|
|
||||||
{ config: "default", shard: 4, num_shards: 6, runner: "linux.rocm.gpu.gfx942.1.b" },
|
|
||||||
{ config: "default", shard: 5, num_shards: 6, runner: "linux.rocm.gpu.gfx942.1.b" },
|
|
||||||
{ config: "default", shard: 6, num_shards: 6, runner: "linux.rocm.gpu.gfx942.1.b" },
|
|
||||||
{ config: "distributed", shard: 1, num_shards: 3, runner: "linux.rocm.gpu.gfx942.4.b" },
|
|
||||||
{ config: "distributed", shard: 2, num_shards: 3, runner: "linux.rocm.gpu.gfx942.4.b" },
|
|
||||||
{ config: "distributed", shard: 3, num_shards: 3, runner: "linux.rocm.gpu.gfx942.4.b" },
|
|
||||||
]}
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
linux-jammy-rocm-py3_10-test:
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
contents: read
|
|
||||||
name: linux-jammy-rocm-py3.10
|
|
||||||
uses: ./.github/workflows/_rocm-test.yml
|
|
||||||
needs:
|
|
||||||
- linux-jammy-rocm-py3_10-build
|
|
||||||
- target-determination
|
|
||||||
with:
|
|
||||||
build-environment: linux-jammy-rocm-py3.10
|
|
||||||
docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
|
|
||||||
test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
|
|
||||||
secrets: inherit
|
|
||||||
3
.github/workflows/trunk.yml
vendored
3
.github/workflows/trunk.yml
vendored
@ -204,7 +204,6 @@ jobs:
|
|||||||
{ include: [
|
{ include: [
|
||||||
{ config: "default", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
|
{ config: "default", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
|
||||||
{ config: "default", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
|
{ config: "default", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
|
||||||
{ config: "distributed", shard: 1, num_shards: 1, runner: "linux.rocm.gpu.gfx942.4" },
|
|
||||||
]}
|
]}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
@ -222,7 +221,7 @@ jobs:
|
|||||||
build-environment: linux-jammy-rocm-py3.10
|
build-environment: linux-jammy-rocm-py3.10
|
||||||
docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
|
docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
|
||||||
test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
|
test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
|
||||||
tests-to-include: "test_nn test_torch test_cuda test_ops test_unary_ufuncs test_binary_ufuncs test_autograd inductor/test_torchinductor distributed/test_c10d_common distributed/test_c10d_nccl"
|
tests-to-include: "test_nn test_torch test_cuda test_ops test_unary_ufuncs test_binary_ufuncs test_autograd inductor/test_torchinductor"
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
inductor-build:
|
inductor-build:
|
||||||
|
|||||||
7
.github/workflows/upload-test-stats.yml
vendored
7
.github/workflows/upload-test-stats.yml
vendored
@ -5,23 +5,20 @@ on:
|
|||||||
workflows:
|
workflows:
|
||||||
- pull
|
- pull
|
||||||
- trunk
|
- trunk
|
||||||
- trunk-rocm-mi300
|
|
||||||
- periodic
|
- periodic
|
||||||
- periodic-rocm-mi200
|
|
||||||
- periodic-rocm-mi300
|
- periodic-rocm-mi300
|
||||||
- inductor
|
- inductor
|
||||||
- unstable
|
- unstable
|
||||||
- slow
|
- slow
|
||||||
- slow-rocm-mi200
|
|
||||||
- unstable-periodic
|
- unstable-periodic
|
||||||
- inductor-periodic
|
- inductor-periodic
|
||||||
- rocm-mi200
|
- rocm
|
||||||
- rocm-mi300
|
- rocm-mi300
|
||||||
- rocm-mi355
|
- rocm-mi355
|
||||||
- inductor-micro-benchmark
|
- inductor-micro-benchmark
|
||||||
- inductor-micro-benchmark-x86
|
- inductor-micro-benchmark-x86
|
||||||
- inductor-cu124
|
- inductor-cu124
|
||||||
- inductor-rocm-mi200
|
- inductor-rocm
|
||||||
- inductor-rocm-mi300
|
- inductor-rocm-mi300
|
||||||
- mac-mps
|
- mac-mps
|
||||||
- linux-aarch64
|
- linux-aarch64
|
||||||
|
|||||||
40
.github/workflows/xpu.yml
vendored
40
.github/workflows/xpu.yml
vendored
@ -47,44 +47,40 @@ jobs:
|
|||||||
]}
|
]}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
linux-noble-xpu-n-py3_10-build:
|
linux-jammy-xpu-n-py3_10-build:
|
||||||
name: linux-noble-xpu-n-py3.10
|
name: linux-jammy-xpu-n-py3.10
|
||||||
uses: ./.github/workflows/_linux-build.yml
|
uses: ./.github/workflows/_linux-build.yml
|
||||||
needs: get-label-type
|
needs: get-label-type
|
||||||
with:
|
with:
|
||||||
sync-tag: linux-xpu-n-build
|
sync-tag: linux-xpu-n-build
|
||||||
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
|
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
|
||||||
build-environment: linux-noble-xpu-n-py3.10
|
build-environment: linux-jammy-xpu-n-py3.10
|
||||||
docker-image-name: ci-image:pytorch-linux-noble-xpu-n-py3
|
docker-image-name: ci-image:pytorch-linux-jammy-xpu-n-py3
|
||||||
runner: linux.c7i.12xlarge
|
runner: linux.c7i.12xlarge
|
||||||
test-matrix: |
|
test-matrix: |
|
||||||
{ include: [
|
{ include: [
|
||||||
{ config: "default", shard: 1, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 1, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 2, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 2, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 3, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 3, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 4, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 4, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 5, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 5, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 6, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 6, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 7, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 7, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 8, num_shards: 12, runner: "linux.idc.xpu" },
|
{ config: "default", shard: 8, num_shards: 8, runner: "linux.idc.xpu" },
|
||||||
{ config: "default", shard: 9, num_shards: 12, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "default", shard: 10, num_shards: 12, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "default", shard: 11, num_shards: 12, runner: "linux.idc.xpu" },
|
|
||||||
{ config: "default", shard: 12, num_shards: 12, runner: "linux.idc.xpu" },
|
|
||||||
]}
|
]}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
linux-noble-xpu-n-py3_10-test:
|
linux-jammy-xpu-n-py3_10-test:
|
||||||
name: linux-noble-xpu-n-py3.10
|
name: linux-jammy-xpu-n-py3.10
|
||||||
uses: ./.github/workflows/_xpu-test.yml
|
uses: ./.github/workflows/_xpu-test.yml
|
||||||
needs: linux-noble-xpu-n-py3_10-build
|
needs: linux-jammy-xpu-n-py3_10-build
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
contents: read
|
contents: read
|
||||||
with:
|
with:
|
||||||
build-environment: linux-noble-xpu-n-py3.10
|
build-environment: linux-jammy-xpu-n-py3.10
|
||||||
docker-image: ${{ needs.linux-noble-xpu-n-py3_10-build.outputs.docker-image }}
|
docker-image: ${{ needs.linux-jammy-xpu-n-py3_10-build.outputs.docker-image }}
|
||||||
test-matrix: ${{ needs.linux-noble-xpu-n-py3_10-build.outputs.test-matrix }}
|
test-matrix: ${{ needs.linux-jammy-xpu-n-py3_10-build.outputs.test-matrix }}
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
windows-xpu-n-1-build:
|
windows-xpu-n-1-build:
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -127,7 +127,6 @@ torch/test/
|
|||||||
torch/utils/benchmark/utils/valgrind_wrapper/callgrind.h
|
torch/utils/benchmark/utils/valgrind_wrapper/callgrind.h
|
||||||
torch/utils/benchmark/utils/valgrind_wrapper/valgrind.h
|
torch/utils/benchmark/utils/valgrind_wrapper/valgrind.h
|
||||||
torch/version.py
|
torch/version.py
|
||||||
torch/_inductor/kernel/vendored_templates/*
|
|
||||||
minifier_launcher.py
|
minifier_launcher.py
|
||||||
aten/src/ATen/native/transformers/hip/flash_attn/ck/fmha_fwd_d*
|
aten/src/ATen/native/transformers/hip/flash_attn/ck/fmha_fwd_d*
|
||||||
aten/src/ATen/native/transformers/hip/flash_attn/ck/fmha_bwd_d*
|
aten/src/ATen/native/transformers/hip/flash_attn/ck/fmha_bwd_d*
|
||||||
@ -144,7 +143,6 @@ scripts/release_notes/*.json
|
|||||||
sccache-stats*.json
|
sccache-stats*.json
|
||||||
lint.json
|
lint.json
|
||||||
merge_record.json
|
merge_record.json
|
||||||
.github/scripts/nightly_source_matrix.json
|
|
||||||
|
|
||||||
# These files get copied over on invoking setup.py
|
# These files get copied over on invoking setup.py
|
||||||
torchgen/packaged/*
|
torchgen/packaged/*
|
||||||
@ -399,4 +397,3 @@ CLAUDE.local.md
|
|||||||
/test_*.py
|
/test_*.py
|
||||||
/debug_*.py
|
/debug_*.py
|
||||||
CLAUDE_CONTEXT/
|
CLAUDE_CONTEXT/
|
||||||
/.claude/settings.local.json
|
|
||||||
|
|||||||
102
.lintrunner.toml
102
.lintrunner.toml
@ -121,6 +121,94 @@ command = [
|
|||||||
]
|
]
|
||||||
is_formatter = true
|
is_formatter = true
|
||||||
|
|
||||||
|
[[linter]]
|
||||||
|
code = 'MYPY'
|
||||||
|
include_patterns = [
|
||||||
|
'setup.py',
|
||||||
|
'functorch/dim/**/*.py',
|
||||||
|
'torch/**/*.py',
|
||||||
|
'torch/**/*.pyi',
|
||||||
|
'caffe2/**/*.py',
|
||||||
|
'caffe2/**/*.pyi',
|
||||||
|
'test/test_bundled_images.py',
|
||||||
|
'test/test_bundled_inputs.py',
|
||||||
|
'test/test_complex.py',
|
||||||
|
'test/test_datapipe.py',
|
||||||
|
'test/test_futures.py',
|
||||||
|
'test/test_numpy_interop.py',
|
||||||
|
'test/test_torch.py',
|
||||||
|
'test/test_type_hints.py',
|
||||||
|
'test/test_type_info.py',
|
||||||
|
'test/test_utils.py',
|
||||||
|
]
|
||||||
|
exclude_patterns = [
|
||||||
|
'**/fb/**',
|
||||||
|
]
|
||||||
|
command = [
|
||||||
|
'python3',
|
||||||
|
'tools/linter/adapters/mypy_linter.py',
|
||||||
|
'--config=mypy.ini',
|
||||||
|
'--',
|
||||||
|
'@{{PATHSFILE}}'
|
||||||
|
]
|
||||||
|
init_command = [
|
||||||
|
'python3',
|
||||||
|
'tools/linter/adapters/pip_init.py',
|
||||||
|
'--dry-run={{DRYRUN}}',
|
||||||
|
'numpy==1.26.4 ; python_version >= "3.10" and python_version <= "3.11"',
|
||||||
|
'numpy==2.1.0 ; python_version >= "3.12"',
|
||||||
|
'expecttest==0.3.0',
|
||||||
|
'mypy==1.16.0',
|
||||||
|
'sympy==1.13.3',
|
||||||
|
'types-requests==2.27.25',
|
||||||
|
'types-pyyaml==6.0.2',
|
||||||
|
'types-tabulate==0.8.8',
|
||||||
|
'types-protobuf==5.29.1.20250403',
|
||||||
|
'types-setuptools==79.0.0.20250422',
|
||||||
|
'types-jinja2==2.11.9',
|
||||||
|
'types-colorama==0.4.6',
|
||||||
|
'filelock==3.18.0',
|
||||||
|
'junitparser==2.1.1',
|
||||||
|
'rich==14.1.0',
|
||||||
|
'pyyaml==6.0.2',
|
||||||
|
'optree==0.13.0',
|
||||||
|
'dataclasses-json==0.6.7',
|
||||||
|
'pandas==2.2.3',
|
||||||
|
]
|
||||||
|
|
||||||
|
[[linter]]
|
||||||
|
code = 'MYPYSTRICT'
|
||||||
|
include_patterns = [
|
||||||
|
'.github/**/*.py',
|
||||||
|
'benchmarks/instruction_counts/**/*.py',
|
||||||
|
'tools/**/*.py',
|
||||||
|
'torchgen/**/*.py',
|
||||||
|
'torch/utils/_pytree.py',
|
||||||
|
'torch/utils/_cxx_pytree.py',
|
||||||
|
'torch/utils/benchmark/utils/common.py',
|
||||||
|
'torch/utils/benchmark/utils/timer.py',
|
||||||
|
'torch/utils/benchmark/utils/valgrind_wrapper/**/*.py',
|
||||||
|
]
|
||||||
|
exclude_patterns = [
|
||||||
|
# (linbinyu) copied from internal repo
|
||||||
|
'**/fb/**',
|
||||||
|
'tools/code_analyzer/gen_operators_yaml.py',
|
||||||
|
'tools/dynamo/verify_dynamo.py',
|
||||||
|
'tools/gen_vulkan_spv.py',
|
||||||
|
'tools/test/gen_operators_yaml_test.py',
|
||||||
|
'tools/test/gen_oplist_test.py',
|
||||||
|
'tools/test/test_selective_build.py',
|
||||||
|
'tools/experimental/torchfuzz/**',
|
||||||
|
]
|
||||||
|
command = [
|
||||||
|
'python3',
|
||||||
|
'tools/linter/adapters/mypy_linter.py',
|
||||||
|
'--config=mypy-strict.ini',
|
||||||
|
'--code=MYPYSTRICT',
|
||||||
|
'--',
|
||||||
|
'@{{PATHSFILE}}'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
[[linter]]
|
[[linter]]
|
||||||
code = 'PYREFLY'
|
code = 'PYREFLY'
|
||||||
@ -142,9 +230,7 @@ init_command = [
|
|||||||
'python3',
|
'python3',
|
||||||
'tools/linter/adapters/pip_init.py',
|
'tools/linter/adapters/pip_init.py',
|
||||||
'--dry-run={{DRYRUN}}',
|
'--dry-run={{DRYRUN}}',
|
||||||
'numpy==1.26.4 ; python_version >= "3.10" and python_version <= "3.11"',
|
'numpy==2.1.0 ; python_version >= "3.12"',
|
||||||
'numpy==2.1.0 ; python_version >= "3.12" and python_version <= "3.13"',
|
|
||||||
'numpy==2.3.4 ; python_version >= "3.14"',
|
|
||||||
'expecttest==0.3.0',
|
'expecttest==0.3.0',
|
||||||
'pyrefly==0.36.2',
|
'pyrefly==0.36.2',
|
||||||
'sympy==1.13.3',
|
'sympy==1.13.3',
|
||||||
@ -186,8 +272,6 @@ include_patterns = [
|
|||||||
'aten/src/ATen/native/nested/cuda/*.h',
|
'aten/src/ATen/native/nested/cuda/*.h',
|
||||||
'aten/src/ATen/native/nested/*.cpp',
|
'aten/src/ATen/native/nested/*.cpp',
|
||||||
'aten/src/ATen/native/nested/*.h',
|
'aten/src/ATen/native/nested/*.h',
|
||||||
'aten/src/ATen/xpu/**/*.h',
|
|
||||||
'aten/src/ATen/xpu/**/*.cpp',
|
|
||||||
'c10/**/*.cpp',
|
'c10/**/*.cpp',
|
||||||
'c10/**/*.h',
|
'c10/**/*.h',
|
||||||
'torch/*.h',
|
'torch/*.h',
|
||||||
@ -214,6 +298,7 @@ exclude_patterns = [
|
|||||||
'**/*pb.h',
|
'**/*pb.h',
|
||||||
'**/*inl.h',
|
'**/*inl.h',
|
||||||
'aten/src/ATen/cpu/FlushDenormal.cpp',
|
'aten/src/ATen/cpu/FlushDenormal.cpp',
|
||||||
|
'aten/src/ATen/cpu/Utils.cpp',
|
||||||
'aten/src/ATen/cpu/vml.h',
|
'aten/src/ATen/cpu/vml.h',
|
||||||
'aten/src/ATen/CPUFixedAllocator.h',
|
'aten/src/ATen/CPUFixedAllocator.h',
|
||||||
'aten/src/ATen/Parallel*.h',
|
'aten/src/ATen/Parallel*.h',
|
||||||
@ -232,6 +317,8 @@ exclude_patterns = [
|
|||||||
'c10/util/win32-headers.h',
|
'c10/util/win32-headers.h',
|
||||||
'c10/test/**/*.h',
|
'c10/test/**/*.h',
|
||||||
'third_party/**/*',
|
'third_party/**/*',
|
||||||
|
'torch/csrc/api/include/torch/nn/modules/common.h',
|
||||||
|
'torch/csrc/api/include/torch/linalg.h',
|
||||||
'torch/csrc/autograd/generated/**',
|
'torch/csrc/autograd/generated/**',
|
||||||
'torch/csrc/distributed/**/*.cu',
|
'torch/csrc/distributed/**/*.cu',
|
||||||
'torch/csrc/distributed/c10d/WinSockUtils.hpp',
|
'torch/csrc/distributed/c10d/WinSockUtils.hpp',
|
||||||
@ -243,6 +330,7 @@ exclude_patterns = [
|
|||||||
'torch/csrc/utils/generated_serialization_types.h',
|
'torch/csrc/utils/generated_serialization_types.h',
|
||||||
'torch/csrc/utils/pythoncapi_compat.h',
|
'torch/csrc/utils/pythoncapi_compat.h',
|
||||||
'torch/csrc/inductor/aoti_runtime/sycl_runtime_wrappers.h',
|
'torch/csrc/inductor/aoti_runtime/sycl_runtime_wrappers.h',
|
||||||
|
'aten/src/ATen/ExpandBase.h',
|
||||||
]
|
]
|
||||||
init_command = [
|
init_command = [
|
||||||
'python3',
|
'python3',
|
||||||
@ -1404,7 +1492,7 @@ init_command = [
|
|||||||
'--dry-run={{DRYRUN}}',
|
'--dry-run={{DRYRUN}}',
|
||||||
'usort==1.0.8.post1',
|
'usort==1.0.8.post1',
|
||||||
'isort==6.0.1',
|
'isort==6.0.1',
|
||||||
'ruff==0.14.4', # sync with RUFF
|
'ruff==0.13.1', # sync with RUFF
|
||||||
]
|
]
|
||||||
is_formatter = true
|
is_formatter = true
|
||||||
|
|
||||||
@ -1539,7 +1627,7 @@ init_command = [
|
|||||||
'python3',
|
'python3',
|
||||||
'tools/linter/adapters/pip_init.py',
|
'tools/linter/adapters/pip_init.py',
|
||||||
'--dry-run={{DRYRUN}}',
|
'--dry-run={{DRYRUN}}',
|
||||||
'ruff==0.14.4', # sync with PYFMT
|
'ruff==0.13.1', # sync with PYFMT
|
||||||
]
|
]
|
||||||
is_formatter = true
|
is_formatter = true
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user