mirror of
				https://github.com/pytorch/pytorch.git
				synced 2025-11-01 04:54:55 +08:00 
			
		
		
		
	Compare commits
	
		
			54 Commits
		
	
	
		
			aot_eager_
			...
			perf_ops
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7669445a70 | |||
| b7eae1cc34 | |||
| a710d65523 | |||
| eddf149b0c | |||
| 62a91acda9 | |||
| 45760a2f7f | |||
| 5fa2fe9539 | |||
| 2e3d0429c2 | |||
| c8a53c3383 | |||
| 682d542bfb | |||
| a60037fd72 | |||
| bfc9680175 | |||
| 5031e026fc | |||
| 195779ec3b | |||
| e934b6ab40 | |||
| ca59a71675 | |||
| 93ad3fec44 | |||
| 783f8064d1 | |||
| f47fa8d2f8 | |||
| 3635731fc2 | |||
| 98a71c71b2 | |||
| 86e3803f3b | |||
| 056bcfc333 | |||
| cc2b171704 | |||
| 7b16f72b09 | |||
| f47e539765 | |||
| 49e5e122fe | |||
| 6b8cc19597 | |||
| d683fb9ebe | |||
| 9eca494626 | |||
| 7f5b0bcec8 | |||
| 4c257bca07 | |||
| 05bb4d4fc6 | |||
| 8d0cafb8bb | |||
| 629de8d7ba | |||
| 71ae2d8280 | |||
| 2fe66701c1 | |||
| c021d0349e | |||
| c6f1a29b17 | |||
| 54c9527a81 | |||
| cf31d4b744 | |||
| 9c701f03ee | |||
| c193ed6c84 | |||
| eab7bd0d4c | |||
| 199318f978 | |||
| 9b226b2ce4 | |||
| 6357d4e05a | |||
| 162e7d3c20 | |||
| ada9c165dd | |||
| 461c7ad698 | |||
| 819159610d | |||
| d257ebf9c7 | |||
| aab478833d | |||
| ba1319f414 | 
| @ -15,8 +15,6 @@ fi | ||||
| # Compress the fatbin with -compress-mode=size for CUDA 13 | ||||
| if [[ "$DESIRED_CUDA" == *"13"* ]]; then | ||||
|     export TORCH_NVCC_FLAGS="-compress-mode=size" | ||||
|     # Bundle ptxas into the cu13 wheel, see https://github.com/pytorch/pytorch/issues/163801 | ||||
|     export BUILD_BUNDLE_PTXAS=1 | ||||
| fi | ||||
|  | ||||
| SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" | ||||
| @ -33,7 +31,8 @@ pip install -r /pytorch/requirements.txt | ||||
| pip install auditwheel==6.2.0 wheel | ||||
| if [ "$DESIRED_CUDA" = "cpu" ]; then | ||||
|     echo "BASE_CUDA_VERSION is not set. Building cpu wheel." | ||||
|     python /pytorch/.ci/aarch64_linux/aarch64_wheel_ci_build.py --enable-mkldnn | ||||
|     #USE_PRIORITIZED_TEXT_FOR_LD for enable linker script optimization https://github.com/pytorch/pytorch/pull/121975/files | ||||
|     USE_PRIORITIZED_TEXT_FOR_LD=1 python /pytorch/.ci/aarch64_linux/aarch64_wheel_ci_build.py --enable-mkldnn | ||||
| else | ||||
|     echo "BASE_CUDA_VERSION is set to: $DESIRED_CUDA" | ||||
|     export USE_SYSTEM_NCCL=1 | ||||
| @ -47,5 +46,6 @@ else | ||||
|         export USE_NVIDIA_PYPI_LIBS=1 | ||||
|     fi | ||||
|  | ||||
|     python /pytorch/.ci/aarch64_linux/aarch64_wheel_ci_build.py --enable-mkldnn --enable-cuda | ||||
|     #USE_PRIORITIZED_TEXT_FOR_LD for enable linker script optimization https://github.com/pytorch/pytorch/pull/121975/files | ||||
|     USE_PRIORITIZED_TEXT_FOR_LD=1 python /pytorch/.ci/aarch64_linux/aarch64_wheel_ci_build.py --enable-mkldnn --enable-cuda | ||||
| fi | ||||
|  | ||||
| @ -317,7 +317,7 @@ if __name__ == "__main__": | ||||
|     ).decode() | ||||
|  | ||||
|     print("Building PyTorch wheel") | ||||
|     build_vars = "" | ||||
|     build_vars = "CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000 " | ||||
|     # MAX_JOB=5 is not required for CPU backend (see commit 465d98b) | ||||
|     if enable_cuda: | ||||
|         build_vars += "MAX_JOBS=5 " | ||||
| @ -372,7 +372,7 @@ if __name__ == "__main__": | ||||
|     else: | ||||
|         print("build pytorch without mkldnn backend") | ||||
|  | ||||
|     os.system(f"cd /pytorch; {build_vars} python3 -m build --wheel --no-isolation") | ||||
|     os.system(f"cd /pytorch; {build_vars} python3 setup.py bdist_wheel") | ||||
|     if enable_cuda: | ||||
|         print("Updating Cuda Dependency") | ||||
|         filename = os.listdir("/pytorch/dist/") | ||||
|  | ||||
| @ -241,7 +241,7 @@ def wait_for_connection(addr, port, timeout=15, attempt_cnt=5): | ||||
|         try: | ||||
|             with socket.create_connection((addr, port), timeout=timeout): | ||||
|                 return | ||||
|         except (ConnectionRefusedError, TimeoutError):  # noqa: PERF203 | ||||
|         except (ConnectionRefusedError, socket.timeout):  # noqa: PERF203 | ||||
|             if i == attempt_cnt - 1: | ||||
|                 raise | ||||
|             time.sleep(timeout) | ||||
| @ -442,7 +442,7 @@ def build_torchvision( | ||||
|     if host.using_docker(): | ||||
|         build_vars += " CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000" | ||||
|  | ||||
|     host.run_cmd(f"cd vision && {build_vars} python3 -m build --wheel --no-isolation") | ||||
|     host.run_cmd(f"cd vision && {build_vars} python3 setup.py bdist_wheel") | ||||
|     vision_wheel_name = host.list_dir("vision/dist")[0] | ||||
|     embed_libgomp(host, use_conda, os.path.join("vision", "dist", vision_wheel_name)) | ||||
|  | ||||
| @ -497,7 +497,7 @@ def build_torchdata( | ||||
|     if host.using_docker(): | ||||
|         build_vars += " CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000" | ||||
|  | ||||
|     host.run_cmd(f"cd data && {build_vars} python3 -m build --wheel --no-isolation") | ||||
|     host.run_cmd(f"cd data && {build_vars} python3 setup.py bdist_wheel") | ||||
|     wheel_name = host.list_dir("data/dist")[0] | ||||
|     embed_libgomp(host, use_conda, os.path.join("data", "dist", wheel_name)) | ||||
|  | ||||
| @ -553,7 +553,7 @@ def build_torchtext( | ||||
|     if host.using_docker(): | ||||
|         build_vars += " CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000" | ||||
|  | ||||
|     host.run_cmd(f"cd text && {build_vars} python3 -m build --wheel --no-isolation") | ||||
|     host.run_cmd(f"cd text && {build_vars} python3 setup.py bdist_wheel") | ||||
|     wheel_name = host.list_dir("text/dist")[0] | ||||
|     embed_libgomp(host, use_conda, os.path.join("text", "dist", wheel_name)) | ||||
|  | ||||
| @ -614,7 +614,7 @@ def build_torchaudio( | ||||
|     host.run_cmd( | ||||
|         f"cd audio && export FFMPEG_ROOT=$(pwd)/third_party/ffmpeg && export USE_FFMPEG=1 \ | ||||
|         && ./packaging/ffmpeg/build.sh \ | ||||
|         && {build_vars} python3 -m build --wheel --no-isolation" | ||||
|         && {build_vars} python3 setup.py bdist_wheel" | ||||
|     ) | ||||
|  | ||||
|     wheel_name = host.list_dir("audio/dist")[0] | ||||
| @ -726,7 +726,7 @@ def start_build( | ||||
|     print("Building PyTorch wheel") | ||||
|     build_opts = "" | ||||
|     if pytorch_build_number is not None: | ||||
|         build_opts += f" -C--build-option=--build-number={pytorch_build_number}" | ||||
|         build_opts += f" --build-number {pytorch_build_number}" | ||||
|     # Breakpad build fails on aarch64 | ||||
|     build_vars = "USE_BREAKPAD=0 " | ||||
|     if branch == "nightly": | ||||
| @ -747,8 +747,7 @@ def start_build( | ||||
|         print("build pytorch with mkldnn+acl backend") | ||||
|         build_vars += " USE_MKLDNN=ON USE_MKLDNN_ACL=ON" | ||||
|         host.run_cmd( | ||||
|             f"cd $HOME/pytorch && export ACL_ROOT_DIR=$HOME/ComputeLibrary && " | ||||
|             f"{build_vars} python3 -m build --wheel --no-isolation{build_opts}" | ||||
|             f"cd $HOME/pytorch && export ACL_ROOT_DIR=$HOME/ComputeLibrary && {build_vars} python3 setup.py bdist_wheel{build_opts}" | ||||
|         ) | ||||
|         print("Repair the wheel") | ||||
|         pytorch_wheel_name = host.list_dir("pytorch/dist")[0] | ||||
| @ -764,7 +763,7 @@ def start_build( | ||||
|     else: | ||||
|         print("build pytorch without mkldnn backend") | ||||
|         host.run_cmd( | ||||
|             f"cd pytorch && {build_vars} python3 -m build --wheel --no-isolation{build_opts}" | ||||
|             f"cd pytorch && {build_vars} python3 setup.py bdist_wheel{build_opts}" | ||||
|         ) | ||||
|  | ||||
|     print("Deleting build folder") | ||||
| @ -1005,7 +1004,7 @@ if __name__ == "__main__": | ||||
|         install_condaforge_python(host, args.python_version) | ||||
|         sys.exit(0) | ||||
|  | ||||
|     python_version = args.python_version if args.python_version is not None else "3.10" | ||||
|     python_version = args.python_version if args.python_version is not None else "3.9" | ||||
|  | ||||
|     if args.use_torch_from_pypi: | ||||
|         configure_system(host, compiler=args.compiler, python_version=python_version) | ||||
|  | ||||
| @ -69,8 +69,7 @@ RUN bash ./install_cuda.sh 13.0 | ||||
| ENV DESIRED_CUDA=13.0 | ||||
|  | ||||
| FROM ${ROCM_IMAGE} as rocm | ||||
| ARG PYTORCH_ROCM_ARCH | ||||
| ENV PYTORCH_ROCM_ARCH ${PYTORCH_ROCM_ARCH} | ||||
| ENV PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201" | ||||
| ADD ./common/install_mkl.sh install_mkl.sh | ||||
| RUN bash ./install_mkl.sh && rm install_mkl.sh | ||||
| ENV MKLROOT /opt/intel | ||||
|  | ||||
| @ -36,12 +36,6 @@ case ${DOCKER_TAG_PREFIX} in | ||||
|     ;; | ||||
|   rocm*) | ||||
|     BASE_TARGET=rocm | ||||
|     PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201" | ||||
|     # add gfx950 conditionally starting in ROCm 7.0 | ||||
|     if [[ "$ROCM_VERSION" == *"7.0"* ]]; then | ||||
|         PYTORCH_ROCM_ARCH="${PYTORCH_ROCM_ARCH};gfx950" | ||||
|     fi | ||||
|     EXTRA_BUILD_ARGS="${EXTRA_BUILD_ARGS} --build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH}" | ||||
|     ;; | ||||
|   *) | ||||
|     echo "ERROR: Unknown docker tag ${DOCKER_TAG_PREFIX}" | ||||
|  | ||||
| @ -84,8 +84,8 @@ fi | ||||
| _UCX_COMMIT=7836b165abdbe468a2f607e7254011c07d788152 | ||||
| _UCC_COMMIT=430e241bf5d38cbc73fc7a6b89155397232e3f96 | ||||
| if [[ "$image" == *rocm* ]]; then | ||||
|   _UCX_COMMIT=29831d319e6be55cb8c768ca61de335c934ca39e | ||||
|   _UCC_COMMIT=9f4b242cbbd8b1462cbc732eb29316cdfa124b77 | ||||
|   _UCX_COMMIT=cc312eaa4655c0cc5c2bcd796db938f90563bcf6 | ||||
|   _UCC_COMMIT=0c0fc21559835044ab107199e334f7157d6a0d3d | ||||
| fi | ||||
|  | ||||
| tag=$(echo $image | awk -F':' '{print $2}') | ||||
| @ -175,6 +175,20 @@ case "$tag" in | ||||
|     fi | ||||
|     GCC_VERSION=11 | ||||
|     VISION=yes | ||||
|     ROCM_VERSION=6.4 | ||||
|     NINJA_VERSION=1.9.0 | ||||
|     TRITON=yes | ||||
|     KATEX=yes | ||||
|     UCX_COMMIT=${_UCX_COMMIT} | ||||
|     UCC_COMMIT=${_UCC_COMMIT} | ||||
|     if [[ $tag =~ "benchmarks" ]]; then | ||||
|       INDUCTOR_BENCHMARKS=yes | ||||
|     fi | ||||
|     ;; | ||||
|   pytorch-linux-noble-rocm-alpha-py3) | ||||
|     ANACONDA_PYTHON_VERSION=3.12 | ||||
|     GCC_VERSION=11 | ||||
|     VISION=yes | ||||
|     ROCM_VERSION=7.0 | ||||
|     NINJA_VERSION=1.9.0 | ||||
|     TRITON=yes | ||||
| @ -182,9 +196,6 @@ case "$tag" in | ||||
|     UCX_COMMIT=${_UCX_COMMIT} | ||||
|     UCC_COMMIT=${_UCC_COMMIT} | ||||
|     PYTORCH_ROCM_ARCH="gfx90a;gfx942;gfx950" | ||||
|     if [[ $tag =~ "benchmarks" ]]; then | ||||
|       INDUCTOR_BENCHMARKS=yes | ||||
|     fi | ||||
|     ;; | ||||
|   pytorch-linux-jammy-xpu-n-1-py3) | ||||
|     ANACONDA_PYTHON_VERSION=3.10 | ||||
| @ -251,10 +262,13 @@ case "$tag" in | ||||
|     TRITON_CPU=yes | ||||
|     ;; | ||||
|   pytorch-linux-jammy-linter) | ||||
|     PYTHON_VERSION=3.10 | ||||
|     # TODO: Use 3.9 here because of this issue https://github.com/python/mypy/issues/13627. | ||||
|     # We will need to update mypy version eventually, but that's for another day. The task | ||||
|     # would be to upgrade mypy to 1.0.0 with Python 3.11 | ||||
|     PYTHON_VERSION=3.9 | ||||
|     ;; | ||||
|   pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter) | ||||
|     PYTHON_VERSION=3.10 | ||||
|   pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter) | ||||
|     PYTHON_VERSION=3.9 | ||||
|     CUDA_VERSION=12.8.1 | ||||
|     ;; | ||||
|   pytorch-linux-jammy-aarch64-py3.10-gcc11) | ||||
| @ -441,3 +455,12 @@ elif [ "$HAS_TRITON" = "yes" ]; then | ||||
|   echo "expecting triton to not be installed, but it is" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| # Sanity check cmake version.  Executorch reinstalls cmake and I'm not sure if | ||||
| # they support 4.0.0 yet, so exclude them from this check. | ||||
| CMAKE_VERSION=$(drun cmake --version) | ||||
| if [[ "$EXECUTORCH" != *yes* && "$CMAKE_VERSION" != *4.* ]]; then | ||||
|   echo "CMake version is not 4.0.0:" | ||||
|   drun cmake --version | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| e0dda9059d082537cee36be6c5e4fe3b18c880c0 | ||||
| 56392aa978594cc155fa8af48cd949f5b5f1823a | ||||
|  | ||||
| @ -1,2 +1,2 @@ | ||||
| transformers==4.56.0 | ||||
| transformers==4.54.0 | ||||
| soxr==0.5.0 | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| v2.28.3-1 | ||||
| v2.27.5-1 | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| v2.28.3-1 | ||||
| v2.27.7-1 | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| bbb06c0334a6772b92d24bde54956e675c8c6604 | ||||
| 5ae38bdb0dc066c5823e34dc9797afb9de42c866 | ||||
|  | ||||
| @ -42,27 +42,22 @@ install_pip_dependencies() { | ||||
|   # A workaround, ExecuTorch has moved to numpy 2.0 which is not compatible with the current | ||||
|   # numba and scipy version used in PyTorch CI | ||||
|   conda_run pip uninstall -y numba scipy | ||||
|   # Yaspin is needed for running CI test (get_benchmark_analysis_data.py) | ||||
|   pip_install yaspin==3.1.0 | ||||
|  | ||||
|   popd | ||||
| } | ||||
|  | ||||
| setup_executorch() { | ||||
|   pushd executorch | ||||
|  | ||||
|   export PYTHON_EXECUTABLE=python | ||||
|   export CMAKE_ARGS="-DEXECUTORCH_BUILD_PYBIND=ON -DEXECUTORCH_BUILD_XNNPACK=ON -DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON -DEXECUTORCH_BUILD_TESTS=ON" | ||||
|   export CMAKE_ARGS="-DEXECUTORCH_BUILD_PYBIND=ON -DEXECUTORCH_BUILD_XNNPACK=ON -DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON" | ||||
|  | ||||
|   as_jenkins .ci/scripts/setup-linux.sh --build-tool cmake || true | ||||
|   popd | ||||
| } | ||||
|  | ||||
| if [ $# -eq 0 ]; then | ||||
|   clone_executorch | ||||
|   install_buck2 | ||||
|   install_conda_dependencies | ||||
|   install_pip_dependencies | ||||
|   pushd executorch | ||||
|   setup_executorch | ||||
|   popd | ||||
| else | ||||
|   "$@" | ||||
| fi | ||||
| clone_executorch | ||||
| install_buck2 | ||||
| install_conda_dependencies | ||||
| install_pip_dependencies | ||||
| setup_executorch | ||||
|  | ||||
| @ -42,6 +42,12 @@ EOF | ||||
|     rocm_baseurl="http://repo.radeon.com/rocm/apt/${ROCM_VERSION}" | ||||
|     amdgpu_baseurl="https://repo.radeon.com/amdgpu/${ROCM_VERSION}/ubuntu" | ||||
|  | ||||
|     # Special case for ROCM_VERSION == 7.0 | ||||
|     if [[ $(ver "$ROCM_VERSION") -eq $(ver 7.0) ]]; then | ||||
|         rocm_baseurl="https://repo.radeon.com/rocm/apt/7.0_alpha2" | ||||
|         amdgpu_baseurl="https://repo.radeon.com/amdgpu/30.10_alpha2/ubuntu" | ||||
|     fi | ||||
|  | ||||
|     # Add amdgpu repository | ||||
|     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 | ||||
|  | ||||
| @ -12,8 +12,8 @@ function do_install() { | ||||
|  | ||||
|     rocm_version_nodot=${rocm_version//./} | ||||
|  | ||||
|     # https://github.com/icl-utk-edu/magma/pull/65 | ||||
|     MAGMA_VERSION=d6e4117bc88e73f06d26c6c2e14f064e8fc3d1ec | ||||
|     # Version 2.7.2 + ROCm related updates | ||||
|     MAGMA_VERSION=a1625ff4d9bc362906bd01f805dbbe12612953f6 | ||||
|     magma_archive="magma-rocm${rocm_version_nodot}-${MAGMA_VERSION}-1.tar.bz2" | ||||
|  | ||||
|     rocm_dir="/opt/rocm" | ||||
|  | ||||
| @ -66,15 +66,15 @@ if [ -n "${UBUNTU_VERSION}" ] && [ -n "${GCC_VERSION}" ] && [[ "${GCC_VERSION}" | ||||
|   # Triton needs at least gcc-9 to build | ||||
|   apt-get install -y g++-9 | ||||
|  | ||||
|   CXX=g++-9 conda_run python -m build --wheel --no-isolation | ||||
|   CXX=g++-9 conda_run python setup.py bdist_wheel | ||||
| elif [ -n "${UBUNTU_VERSION}" ] && [ -n "${CLANG_VERSION}" ]; then | ||||
|   # Triton needs <filesystem> which surprisingly is not available with clang-9 toolchain | ||||
|   add-apt-repository -y ppa:ubuntu-toolchain-r/test | ||||
|   apt-get install -y g++-9 | ||||
|  | ||||
|   CXX=g++-9 conda_run python -m build --wheel --no-isolation | ||||
|   CXX=g++-9 conda_run python setup.py bdist_wheel | ||||
| else | ||||
|   conda_run python -m build --wheel --no-isolation | ||||
|   conda_run python setup.py bdist_wheel | ||||
| fi | ||||
|  | ||||
| # Copy the wheel to /opt for multi stage docker builds | ||||
|  | ||||
| @ -40,16 +40,12 @@ case ${DOCKER_TAG_PREFIX} in | ||||
|         ;; | ||||
|     rocm*) | ||||
|         # we want the patch version of 6.4 instead | ||||
|         if [[ "$GPU_ARCH_VERSION" == *"6.4"* ]]; then | ||||
|         if [[ $(ver $GPU_ARCH_VERSION) -eq $(ver 6.4) ]]; then | ||||
|             GPU_ARCH_VERSION="${GPU_ARCH_VERSION}.2" | ||||
|         fi | ||||
|         BASE_TARGET=rocm | ||||
|         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" | ||||
|         # add gfx950 conditionally starting in ROCm 7.0 | ||||
|         if [[ "$GPU_ARCH_VERSION" == *"7.0"* ]]; then | ||||
|             PYTORCH_ROCM_ARCH="${PYTORCH_ROCM_ARCH};gfx950" | ||||
|         fi | ||||
|         DOCKER_GPU_BUILD_ARG="--build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH} --build-arg ROCM_VERSION=${GPU_ARCH_VERSION}" | ||||
|         ;; | ||||
|     *) | ||||
|  | ||||
							
								
								
									
										71
									
								
								.ci/docker/manywheel/Dockerfile_cxx11-abi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								.ci/docker/manywheel/Dockerfile_cxx11-abi
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| FROM centos:8 as base | ||||
|  | ||||
| ENV LC_ALL en_US.UTF-8 | ||||
| ENV LANG en_US.UTF-8 | ||||
| ENV LANGUAGE en_US.UTF-8 | ||||
| ENV PATH /opt/rh/gcc-toolset-11/root/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||||
|  | ||||
| # change to a valid repo | ||||
| RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*.repo | ||||
| # enable to install ninja-build | ||||
| RUN sed -i 's|enabled=0|enabled=1|g' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo | ||||
|  | ||||
| RUN yum -y update | ||||
| RUN yum install -y wget curl perl util-linux xz bzip2 git patch which zlib-devel sudo | ||||
| RUN yum install -y autoconf automake make cmake gdb gcc-toolset-11-gcc-c++ | ||||
|  | ||||
|  | ||||
| FROM base as openssl | ||||
| ADD ./common/install_openssl.sh install_openssl.sh | ||||
| RUN bash ./install_openssl.sh && rm install_openssl.sh | ||||
|  | ||||
| # Install python | ||||
| FROM base as python | ||||
| RUN yum install -y openssl-devel zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel libffi-devel | ||||
| ADD common/install_cpython.sh install_cpython.sh | ||||
| RUN bash ./install_cpython.sh && rm install_cpython.sh | ||||
|  | ||||
| FROM base as conda | ||||
| ADD ./common/install_conda_docker.sh install_conda.sh | ||||
| RUN bash ./install_conda.sh && rm install_conda.sh | ||||
| RUN /opt/conda/bin/conda install -y cmake | ||||
|  | ||||
| FROM base as intel | ||||
| # Install MKL | ||||
| COPY --from=python             /opt/python                           /opt/python | ||||
| COPY --from=python             /opt/_internal                        /opt/_internal | ||||
| COPY --from=conda              /opt/conda                            /opt/conda | ||||
| ENV PATH=/opt/conda/bin:$PATH | ||||
| ADD ./common/install_mkl.sh install_mkl.sh | ||||
| RUN bash ./install_mkl.sh && rm install_mkl.sh | ||||
|  | ||||
| FROM base as patchelf | ||||
| ADD ./common/install_patchelf.sh install_patchelf.sh | ||||
| RUN bash ./install_patchelf.sh && rm install_patchelf.sh | ||||
| RUN cp $(which patchelf) /patchelf | ||||
|  | ||||
| FROM base as jni | ||||
| ADD ./common/install_jni.sh install_jni.sh | ||||
| ADD ./java/jni.h jni.h | ||||
| RUN bash ./install_jni.sh && rm install_jni.sh | ||||
|  | ||||
| FROM base as libpng | ||||
| ADD ./common/install_libpng.sh install_libpng.sh | ||||
| RUN bash ./install_libpng.sh && rm install_libpng.sh | ||||
|  | ||||
| FROM base as final | ||||
| COPY --from=openssl            /opt/openssl                          /opt/openssl | ||||
| COPY --from=python             /opt/python                           /opt/python | ||||
| COPY --from=python             /opt/_internal                        /opt/_internal | ||||
| COPY --from=intel              /opt/intel                            /opt/intel | ||||
| COPY --from=conda              /opt/conda                            /opt/conda | ||||
| COPY --from=patchelf           /usr/local/bin/patchelf               /usr/local/bin/patchelf | ||||
| COPY --from=jni                /usr/local/include/jni.h              /usr/local/include/jni.h | ||||
| COPY --from=libpng             /usr/local/bin/png*                   /usr/local/bin/ | ||||
| COPY --from=libpng             /usr/local/bin/libpng*                /usr/local/bin/ | ||||
| COPY --from=libpng             /usr/local/include/png*               /usr/local/include/ | ||||
| COPY --from=libpng             /usr/local/include/libpng*            /usr/local/include/ | ||||
| COPY --from=libpng             /usr/local/lib/libpng*                /usr/local/lib/ | ||||
| COPY --from=libpng             /usr/local/lib/pkgconfig              /usr/local/lib/pkgconfig | ||||
|  | ||||
| RUN yum install -y ninja-build | ||||
| @ -43,6 +43,12 @@ case ${image} in | ||||
|         MANY_LINUX_VERSION="2_28_aarch64" | ||||
|         OPENBLAS_VERSION="v0.3.30" | ||||
|         ;; | ||||
|     manylinuxcxx11-abi-builder:cpu-cxx11-abi) | ||||
|         TARGET=final | ||||
|         GPU_IMAGE="" | ||||
|         DOCKER_GPU_BUILD_ARG=" --build-arg DEVTOOLSET_VERSION=9" | ||||
|         MANY_LINUX_VERSION="cxx11-abi" | ||||
|         ;; | ||||
|     manylinuxs390x-builder:cpu-s390x) | ||||
|         TARGET=final | ||||
|         GPU_IMAGE=s390x/almalinux:8 | ||||
| @ -76,7 +82,7 @@ case ${image} in | ||||
|         ;; | ||||
|     manylinux2_28-builder:rocm*) | ||||
|         # we want the patch version of 6.4 instead | ||||
|         if [[ "$GPU_ARCH_VERSION" == *"6.4"* ]]; then | ||||
|         if [[ $(ver $GPU_ARCH_VERSION) -eq $(ver 6.4) ]]; then | ||||
|             GPU_ARCH_VERSION="${GPU_ARCH_VERSION}.2" | ||||
|         fi | ||||
|         TARGET=rocm_final | ||||
| @ -84,10 +90,6 @@ case ${image} in | ||||
|         DEVTOOLSET_VERSION="11" | ||||
|         GPU_IMAGE=rocm/dev-almalinux-8:${GPU_ARCH_VERSION}-complete | ||||
|         PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201" | ||||
|         # add gfx950 conditionally starting in ROCm 7.0 | ||||
|         if [[ "$GPU_ARCH_VERSION" == *"7.0"* ]]; then | ||||
|             PYTORCH_ROCM_ARCH="${PYTORCH_ROCM_ARCH};gfx950" | ||||
|         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}" | ||||
|         ;; | ||||
|     manylinux2_28-builder:xpu) | ||||
|  | ||||
| @ -10,11 +10,6 @@ boto3==1.35.42 | ||||
| #Pinned versions: 1.19.12, 1.16.34 | ||||
| #test that import: | ||||
|  | ||||
| build==1.3.0 | ||||
| #Description: A simple, correct Python build frontend. | ||||
| #Pinned versions: 1.3.0 | ||||
| #test that import: | ||||
|  | ||||
| click | ||||
| #Description: Command Line Interface Creation Kit | ||||
| #Pinned versions: | ||||
| @ -98,9 +93,8 @@ librosa==0.10.2 ; python_version == "3.12" and platform_machine != "s390x" | ||||
| #Pinned versions: | ||||
| #test that import: | ||||
|  | ||||
| mypy==1.16.0 ; platform_system != "Windows" | ||||
| mypy==1.16.0 | ||||
| # Pin MyPy version because new errors are likely to appear with each release | ||||
| # Skip on Windows as lots of type annotations are POSIX specific | ||||
| #Description: linter | ||||
| #Pinned versions: 1.16.0 | ||||
| #test that import: test_typing.py, test_type_hints.py | ||||
| @ -111,12 +105,14 @@ networkx==2.8.8 | ||||
| #Pinned versions: 2.8.8 | ||||
| #test that import: functorch | ||||
|  | ||||
| ninja==1.11.1.4 | ||||
| ninja==1.11.1.3 | ||||
| #Description: build system. Used in some tests. Used in build to generate build | ||||
| #time tracing information | ||||
| #Pinned versions: 1.11.1.4 | ||||
| #Pinned versions: 1.11.1.3 | ||||
| #test that import: run_test.py, test_cpp_extensions_aot.py,test_determination.py | ||||
|  | ||||
| numba==0.49.0 ; python_version < "3.9" and platform_machine != "s390x" | ||||
| numba==0.55.2 ; python_version == "3.9" and platform_machine != "s390x" | ||||
| numba==0.55.2 ; python_version == "3.10" and platform_machine != "s390x" | ||||
| numba==0.60.0 ; python_version == "3.12" and platform_machine != "s390x" | ||||
| #Description: Just-In-Time Compiler for Numerical Functions | ||||
| @ -137,7 +133,7 @@ numba==0.60.0 ; python_version == "3.12" and platform_machine != "s390x" | ||||
| #test_nn.py, test_namedtensor.py, test_linalg.py, test_jit_cuda_fuser.py, | ||||
| #test_jit.py, test_indexing.py, test_datapipe.py, test_dataloader.py, | ||||
| #test_binary_ufuncs.py | ||||
| numpy==1.22.4; python_version == "3.10" | ||||
| numpy==1.22.4; python_version == "3.9" or python_version == "3.10" | ||||
| numpy==1.26.2; python_version == "3.11" or python_version == "3.12" | ||||
| numpy==2.1.2; python_version >= "3.13" | ||||
|  | ||||
| @ -172,9 +168,9 @@ pillow==11.0.0 | ||||
| #Pinned versions: 10.3.0 | ||||
| #test that import: | ||||
|  | ||||
| protobuf==5.29.5 | ||||
| protobuf==5.29.4 | ||||
| #Description:  Google's data interchange format | ||||
| #Pinned versions: 5.29.5 | ||||
| #Pinned versions: 5.29.4 | ||||
| #test that import: test_tensorboard.py, test/onnx/* | ||||
|  | ||||
| psutil | ||||
| @ -329,6 +325,8 @@ pywavelets==1.7.0 ; python_version >= "3.12" | ||||
| lxml==5.3.0 | ||||
| #Description: This is a requirement of unittest-xml-reporting | ||||
|  | ||||
| # Python-3.9 binaries | ||||
|  | ||||
| PyGithub==2.3.0 | ||||
|  | ||||
| sympy==1.13.3 | ||||
| @ -378,7 +376,7 @@ dataclasses_json==0.6.7 | ||||
| #Pinned versions: 0.6.7 | ||||
| #test that import: | ||||
|  | ||||
| cmake==3.31.6 | ||||
| cmake==4.0.0 | ||||
| #Description: required for building | ||||
|  | ||||
| tlparse==0.4.0 | ||||
|  | ||||
| @ -1,15 +1,8 @@ | ||||
| sphinx==5.3.0 | ||||
| #Description: This is used to generate PyTorch docs | ||||
| #Pinned versions: 5.3.0 | ||||
| -e git+https://github.com/pytorch/pytorch_sphinx_theme.git@1657ad2fc1acdc98aa719eebecbb0128a7c13ce4#egg=pytorch_sphinx_theme2 | ||||
|  | ||||
| standard-imghdr==3.13.0; python_version >= "3.13" | ||||
| #Description: This is needed by Sphinx, so it needs to be added here. | ||||
| # 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 | ||||
| # 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. | ||||
|  | ||||
| @ -41,6 +41,7 @@ def sample_vllm_test_library(): | ||||
|                 "pytest -v -s basic_correctness/test_cumem.py", | ||||
|                 "pytest -v -s basic_correctness/test_basic_correctness.py", | ||||
|                 "pytest -v -s basic_correctness/test_cpu_offload.py", | ||||
|                 "VLLM_TEST_ENABLE_ARTIFICIAL_PREEMPT=1 pytest -v -s basic_correctness/test_preemption.py", | ||||
|             ], | ||||
|         }, | ||||
|         "vllm_basic_models_test": { | ||||
| @ -67,12 +68,15 @@ def sample_vllm_test_library(): | ||||
|                         "-v", | ||||
|                         "-s", | ||||
|                         "entrypoints/llm", | ||||
|                         "--ignore=entrypoints/llm/test_lazy_outlines.py", | ||||
|                         "--ignore=entrypoints/llm/test_generate.py", | ||||
|                         "--ignore=entrypoints/llm/test_generate_multiple_loras.py", | ||||
|                         "--ignore=entrypoints/llm/test_collective_rpc.py", | ||||
|                     ] | ||||
|                 ), | ||||
|                 "pytest -v -s entrypoints/llm/test_generate.py", | ||||
|                 "pytest -v -s entrypoints/offline_mode", | ||||
|                 "pytest -v -s entrypoints/llm/test_lazy_outlines.py", | ||||
|                 "pytest -v -s entrypoints/llm/test_generate.py ", | ||||
|                 "VLLM_USE_V1=0 pytest -v -s entrypoints/offline_mode", | ||||
|             ], | ||||
|         }, | ||||
|         "vllm_regression_test": { | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| SHELL=/usr/bin/env bash | ||||
|  | ||||
| DOCKER_CMD ?= docker | ||||
| DESIRED_ROCM ?= 7.0 | ||||
| DESIRED_ROCM ?= 6.4 | ||||
| DESIRED_ROCM_SHORT = $(subst .,,$(DESIRED_ROCM)) | ||||
| PACKAGE_NAME = magma-rocm | ||||
| # inherit this from underlying docker image, do not pass this env var to docker | ||||
| #PYTORCH_ROCM_ARCH ?= gfx900;gfx906;gfx908;gfx90a;gfx942;gfx950;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201 | ||||
| #PYTORCH_ROCM_ARCH ?= gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201 | ||||
|  | ||||
| DOCKER_RUN = set -eou pipefail; ${DOCKER_CMD} run --rm -i \ | ||||
| 	-v $(shell git rev-parse --show-toplevel)/.ci:/builder \ | ||||
| @ -16,7 +16,6 @@ DOCKER_RUN = set -eou pipefail; ${DOCKER_CMD} run --rm -i \ | ||||
| 	magma-rocm/build_magma.sh | ||||
|  | ||||
| .PHONY: all | ||||
| all: magma-rocm70 | ||||
| all: magma-rocm64 | ||||
| all: magma-rocm63 | ||||
|  | ||||
| @ -25,11 +24,6 @@ clean: | ||||
| 	$(RM) -r magma-* | ||||
| 	$(RM) -r output | ||||
|  | ||||
| .PHONY: magma-rocm70 | ||||
| magma-rocm70: DESIRED_ROCM := 7.0 | ||||
| magma-rocm70: | ||||
| 	$(DOCKER_RUN) | ||||
|  | ||||
| .PHONY: magma-rocm64 | ||||
| magma-rocm64: DESIRED_ROCM := 6.4 | ||||
| magma-rocm64: | ||||
|  | ||||
| @ -6,8 +6,8 @@ set -eou pipefail | ||||
| # The script expects DESIRED_CUDA and PACKAGE_NAME to be set | ||||
| ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | ||||
|  | ||||
| # https://github.com/icl-utk-edu/magma/pull/65 | ||||
| MAGMA_VERSION=d6e4117bc88e73f06d26c6c2e14f064e8fc3d1ec | ||||
| # Version 2.7.2 + ROCm related updates | ||||
| MAGMA_VERSION=a1625ff4d9bc362906bd01f805dbbe12612953f6 | ||||
|  | ||||
| # Folders for the build | ||||
| PACKAGE_FILES=${ROOT_DIR}/magma-rocm/package_files # metadata | ||||
| @ -20,7 +20,7 @@ mkdir -p ${PACKAGE_DIR} ${PACKAGE_OUTPUT}/linux-64 ${PACKAGE_BUILD} ${PACKAGE_RE | ||||
|  | ||||
| # Fetch magma sources and verify checksum | ||||
| pushd ${PACKAGE_DIR} | ||||
| git clone https://github.com/jeffdaily/magma | ||||
| git clone https://bitbucket.org/icl/magma.git | ||||
| pushd magma | ||||
| git checkout ${MAGMA_VERSION} | ||||
| popd | ||||
|  | ||||
| @ -142,7 +142,7 @@ time CMAKE_ARGS=${CMAKE_ARGS[@]} \ | ||||
|     EXTRA_CAFFE2_CMAKE_FLAGS=${EXTRA_CAFFE2_CMAKE_FLAGS[@]} \ | ||||
|     BUILD_LIBTORCH_CPU_WITH_DEBUG=$BUILD_DEBUG_INFO \ | ||||
|     USE_NCCL=${USE_NCCL} USE_RCCL=${USE_RCCL} USE_KINETO=${USE_KINETO} \ | ||||
|     python -m build --wheel --no-isolation --outdir /tmp/$WHEELHOUSE_DIR | ||||
|     python setup.py bdist_wheel -d /tmp/$WHEELHOUSE_DIR | ||||
| echo "Finished setup.py bdist at $(date)" | ||||
|  | ||||
| # Build libtorch packages | ||||
|  | ||||
| @ -104,7 +104,7 @@ if [[ "$DESIRED_CUDA" == *"rocm"* ]]; then | ||||
|     export ROCclr_DIR=/opt/rocm/rocclr/lib/cmake/rocclr | ||||
| fi | ||||
|  | ||||
| echo "Calling -m pip install . -v --no-build-isolation at $(date)" | ||||
| echo "Calling 'python -m pip install .' at $(date)" | ||||
|  | ||||
| if [[ $LIBTORCH_VARIANT = *"static"* ]]; then | ||||
|     STATIC_CMAKE_FLAG="-DTORCH_STATIC=1" | ||||
|  | ||||
| @ -290,13 +290,13 @@ else | ||||
|  | ||||
|       WERROR=1 python setup.py clean | ||||
|  | ||||
|       WERROR=1 python -m build --wheel --no-isolation | ||||
|       WERROR=1 python setup.py bdist_wheel | ||||
|     else | ||||
|       python setup.py clean | ||||
|       if [[ "$BUILD_ENVIRONMENT" == *xla* ]]; then | ||||
|         source .ci/pytorch/install_cache_xla.sh | ||||
|       fi | ||||
|       python -m build --wheel --no-isolation | ||||
|       python setup.py bdist_wheel | ||||
|     fi | ||||
|     pip_install_whl "$(echo dist/*.whl)" | ||||
|  | ||||
|  | ||||
| @ -58,7 +58,7 @@ time python tools/setup_helpers/generate_code.py \ | ||||
|  | ||||
| # Build the docs | ||||
| pushd docs/cpp | ||||
| time make VERBOSE=1 html | ||||
| time make VERBOSE=1 html -j | ||||
|  | ||||
| popd | ||||
| popd | ||||
|  | ||||
							
								
								
									
										40
									
								
								.ci/pytorch/functorch_doc_push_script.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								.ci/pytorch/functorch_doc_push_script.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,40 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # This is where the local pytorch install in the docker image is located | ||||
| pt_checkout="/var/lib/jenkins/workspace" | ||||
| source "$pt_checkout/.ci/pytorch/common_utils.sh" | ||||
| echo "functorch_doc_push_script.sh: Invoked with $*" | ||||
|  | ||||
| set -ex -o pipefail | ||||
|  | ||||
| version=${DOCS_VERSION:-nightly} | ||||
| echo "version: $version" | ||||
|  | ||||
| # Build functorch docs | ||||
| pushd $pt_checkout/functorch/docs | ||||
| make html | ||||
| popd | ||||
|  | ||||
| git clone https://github.com/pytorch/functorch -b gh-pages --depth 1 functorch_ghpages | ||||
| pushd functorch_ghpages | ||||
|  | ||||
| if [ "$version" == "main" ]; then | ||||
|   version=nightly | ||||
| fi | ||||
|  | ||||
| git rm -rf "$version" || true | ||||
| mv "$pt_checkout/functorch/docs/build/html" "$version" | ||||
|  | ||||
| git add "$version" || true | ||||
| git status | ||||
| git config user.email "soumith+bot@pytorch.org" | ||||
| git config user.name "pytorchbot" | ||||
| # If there aren't changes, don't make a commit; push is no-op | ||||
| git commit -m "Generate Python docs from pytorch/pytorch@${GITHUB_SHA}" || true | ||||
| git status | ||||
|  | ||||
| if [[ "${WITH_PUSH:-}" == true ]]; then | ||||
|   git push -u origin gh-pages | ||||
| fi | ||||
|  | ||||
| popd | ||||
| @ -35,12 +35,11 @@ fi | ||||
|  | ||||
| print_cmake_info | ||||
| if [[ ${BUILD_ENVIRONMENT} == *"distributed"* ]]; then | ||||
|   # Needed for inductor benchmarks, as lots of HF networks make `torch.distribtued` calls | ||||
|   USE_DISTRIBUTED=1 USE_OPENMP=1 WERROR=1 python -m build --wheel --no-isolation | ||||
|   USE_OPENMP=1 WERROR=1 python setup.py bdist_wheel | ||||
| else | ||||
|   # Explicitly set USE_DISTRIBUTED=0 to align with the default build config on mac. This also serves as the sole CI config that tests | ||||
|   # that building with USE_DISTRIBUTED=0 works at all. See https://github.com/pytorch/pytorch/issues/86448 | ||||
|   USE_DISTRIBUTED=0 USE_OPENMP=1 MACOSX_DEPLOYMENT_TARGET=11.0 WERROR=1 BUILD_TEST=OFF USE_PYTORCH_METAL=1 python -m build --wheel --no-isolation -C--build-option=--plat-name=macosx_11_0_arm64 | ||||
|   # NB: we always build with distributed; USE_DISTRIBUTED turns off all | ||||
|   # backends (specifically the gloo backend), so test that this case works too | ||||
|   USE_DISTRIBUTED=0 USE_OPENMP=1 MACOSX_DEPLOYMENT_TARGET=11.0 WERROR=1 BUILD_TEST=OFF USE_PYTORCH_METAL=1 python setup.py bdist_wheel --plat-name macosx_11_0_arm64 | ||||
| fi | ||||
| if which sccache > /dev/null; then | ||||
|   print_sccache_stats | ||||
|  | ||||
| @ -13,9 +13,13 @@ if [[ ! $(python -c "import torch; print(int(torch.backends.openmp.is_available( | ||||
| fi | ||||
| popd | ||||
|  | ||||
| python -mpip install -r requirements.txt | ||||
|  | ||||
| # enable debug asserts in serialization | ||||
| export TORCH_SERIALIZATION_DEBUG=1 | ||||
|  | ||||
| python -mpip install --no-input -r requirements.txt | ||||
|  | ||||
| setup_test_python() { | ||||
|   # The CircleCI worker hostname doesn't resolve to an address. | ||||
|   # This environment variable makes ProcessGroupGloo default to | ||||
| @ -55,7 +59,7 @@ test_python_shard() { | ||||
|  | ||||
|   setup_test_python | ||||
|  | ||||
|   time python test/run_test.py --verbose --exclude-jit-executor --exclude-distributed-tests --exclude-quantization-tests --shard "$1" "$NUM_TEST_SHARDS" | ||||
|   time python test/run_test.py --verbose --exclude-jit-executor --exclude-distributed-tests --shard "$1" "$NUM_TEST_SHARDS" | ||||
|  | ||||
|   assert_git_not_dirty | ||||
| } | ||||
|  | ||||
| @ -26,7 +26,6 @@ if [[ "${SHARD_NUMBER:-2}" == "2" ]]; then | ||||
|     time python test/run_test.py --verbose -i distributed/test_c10d_spawn_gloo | ||||
|     time python test/run_test.py --verbose -i distributed/test_c10d_spawn_nccl | ||||
|     time python test/run_test.py --verbose -i distributed/test_compute_comm_reordering | ||||
|     time python test/run_test.py --verbose -i distributed/test_aten_comm_compute_reordering | ||||
|     time python test/run_test.py --verbose -i distributed/test_store | ||||
|     time python test/run_test.py --verbose -i distributed/test_symmetric_memory | ||||
|     time python test/run_test.py --verbose -i distributed/test_pg_wrapper | ||||
|  | ||||
| @ -1,25 +0,0 @@ | ||||
| From 6e08c9d08e9de59c7af28b720289debbbd384764 Mon Sep 17 00:00:00 2001 | ||||
| From: Michael Wang <13521008+isVoid@users.noreply.github.com> | ||||
| Date: Tue, 1 Apr 2025 17:28:05 -0700 | ||||
| Subject: [PATCH] Avoid bumping certain driver API to avoid future breakage | ||||
|  (#185) | ||||
|  | ||||
| Co-authored-by: isVoid <isVoid@users.noreply.github.com> | ||||
| --- | ||||
|  numba_cuda/numba/cuda/cudadrv/driver.py | 3 +++ | ||||
|  1 file changed, 3 insertions(+) | ||||
|  | ||||
| diff --git a/numba_cuda/numba/cuda/cudadrv/driver.py b/numba_cuda/numba/cuda/cudadrv/driver.py | ||||
| index 1641bf77..233e9ed7 100644 | ||||
| --- a/numba_cuda/numba/cuda/cudadrv/driver.py | ||||
| +++ b/numba_cuda/numba/cuda/cudadrv/driver.py | ||||
| @@ -365,6 +365,9 @@ def _find_api(self, fname): | ||||
|          else: | ||||
|              variants = ('_v2', '') | ||||
|   | ||||
| +        if fname in ("cuCtxGetDevice", "cuCtxSynchronize"): | ||||
| +            return getattr(self.lib, fname) | ||||
| + | ||||
|          for variant in variants: | ||||
|              try: | ||||
|                  return getattr(self.lib, f'{fname}{variant}') | ||||
| @ -32,16 +32,6 @@ if [[ "$BUILD_ENVIRONMENT" != *rocm* && "$BUILD_ENVIRONMENT" != *s390x* && -d /v | ||||
|   git config --global --add safe.directory /var/lib/jenkins/workspace | ||||
| fi | ||||
|  | ||||
|  | ||||
| # Patch numba to avoid CUDA-13 crash, see https://github.com/pytorch/pytorch/issues/162878 | ||||
| NUMBA_CUDA_DIR=$(python -c "import os;import numba.cuda; print(os.path.dirname(numba.cuda.__file__))" 2>/dev/null || true) | ||||
| if [ -n "$NUMBA_CUDA_DIR" ]; then | ||||
|   NUMBA_PATCH="$(dirname "$(realpath "${BASH_SOURCE[0]}")")/numba-cuda-13.patch" | ||||
|   pushd "$NUMBA_CUDA_DIR" | ||||
|   patch -p4 <"$NUMBA_PATCH" | ||||
|   popd | ||||
| fi | ||||
|  | ||||
| echo "Environment variables:" | ||||
| env | ||||
|  | ||||
| @ -322,29 +312,23 @@ test_python_shard() { | ||||
|  | ||||
|   # modify LD_LIBRARY_PATH to ensure it has the conda env. | ||||
|   # This set of tests has been shown to be buggy without it for the split-build | ||||
|   time python test/run_test.py --exclude-jit-executor --exclude-distributed-tests --exclude-quantization-tests $INCLUDE_CLAUSE --shard "$1" "$NUM_TEST_SHARDS" --verbose $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running | ||||
|   time python test/run_test.py --exclude-jit-executor --exclude-distributed-tests $INCLUDE_CLAUSE --shard "$1" "$NUM_TEST_SHARDS" --verbose $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running | ||||
|  | ||||
|   assert_git_not_dirty | ||||
| } | ||||
|  | ||||
| test_python() { | ||||
|   # shellcheck disable=SC2086 | ||||
|   time python test/run_test.py --exclude-jit-executor --exclude-distributed-tests --exclude-quantization-tests $INCLUDE_CLAUSE --verbose $PYTHON_TEST_EXTRA_OPTION | ||||
|   time python test/run_test.py --exclude-jit-executor --exclude-distributed-tests $INCLUDE_CLAUSE --verbose $PYTHON_TEST_EXTRA_OPTION | ||||
|   assert_git_not_dirty | ||||
| } | ||||
|  | ||||
| test_python_smoke() { | ||||
|   # Smoke tests for H100/B200 | ||||
|   # Smoke tests for H100 | ||||
|   time python test/run_test.py --include test_matmul_cuda inductor/test_fp8 inductor/test_max_autotune $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running | ||||
|   assert_git_not_dirty | ||||
| } | ||||
|  | ||||
| test_python_smoke_b200() { | ||||
|   # Targeted smoke tests for B200 - staged approach to avoid too many failures | ||||
|   time python test/run_test.py --include test_matmul_cuda inductor/test_fp8 $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running | ||||
|   assert_git_not_dirty | ||||
| } | ||||
|  | ||||
| test_h100_distributed() { | ||||
|   # Distributed tests at H100 | ||||
|   time python test/run_test.py --include distributed/_composable/test_composability/test_pp_composability.py  $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running | ||||
| @ -390,7 +374,6 @@ test_dynamo_wrapped_shard() { | ||||
|     --exclude-distributed-tests \ | ||||
|     --exclude-torch-export-tests \ | ||||
|     --exclude-aot-dispatch-tests \ | ||||
|     --exclude-quantization-tests \ | ||||
|     --shard "$1" "$NUM_TEST_SHARDS" \ | ||||
|     --verbose \ | ||||
|     --upload-artifacts-while-running | ||||
| @ -435,7 +418,7 @@ test_inductor_distributed() { | ||||
|  | ||||
|   # this runs on both single-gpu and multi-gpu instance. It should be smart about skipping tests that aren't supported | ||||
|   # with if required # gpus aren't available | ||||
|   python test/run_test.py --include distributed/test_dynamo_distributed distributed/test_inductor_collectives distributed/test_aten_comm_compute_reordering distributed/test_compute_comm_reordering --verbose | ||||
|   python test/run_test.py --include distributed/test_dynamo_distributed distributed/test_inductor_collectives distributed/test_compute_comm_reordering --verbose | ||||
|   assert_git_not_dirty | ||||
| } | ||||
|  | ||||
| @ -1163,12 +1146,6 @@ test_distributed() { | ||||
|   fi | ||||
| } | ||||
|  | ||||
| test_quantization() { | ||||
|   echo "Testing quantization" | ||||
|  | ||||
|   python test/test_quantization.py | ||||
| } | ||||
|  | ||||
| test_rpc() { | ||||
|   echo "Testing RPC C++ tests" | ||||
|   # NB: the ending test_rpc must match the current function name for the current | ||||
| @ -1415,7 +1392,7 @@ EOF | ||||
|   pip3 install -r requirements.txt | ||||
|   # shellcheck source=./common-build.sh | ||||
|   source "$(dirname "${BASH_SOURCE[0]}")/common-build.sh" | ||||
|   python -m build --wheel --no-isolation -C--build-option=--bdist-dir="base_bdist_tmp" --outdir "base_dist" | ||||
|   python setup.py bdist_wheel --bdist-dir="base_bdist_tmp" --dist-dir="base_dist" | ||||
|   python -mpip install base_dist/*.whl | ||||
|   echo "::endgroup::" | ||||
|  | ||||
| @ -1563,10 +1540,14 @@ test_executorch() { | ||||
|   install_torchvision | ||||
|   install_torchaudio | ||||
|  | ||||
|   INSTALL_SCRIPT="$(pwd)/.ci/docker/common/install_executorch.sh" | ||||
|  | ||||
|   pushd /executorch | ||||
|   "${INSTALL_SCRIPT}" setup_executorch | ||||
|  | ||||
|   export PYTHON_EXECUTABLE=python | ||||
|   export CMAKE_ARGS="-DEXECUTORCH_BUILD_PYBIND=ON -DEXECUTORCH_BUILD_XNNPACK=ON -DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON" | ||||
|  | ||||
|   # NB: We need to rebuild ExecuTorch runner here because it depends on PyTorch | ||||
|   # from the PR | ||||
|   bash .ci/scripts/setup-linux.sh --build-tool cmake | ||||
|  | ||||
|   echo "Run ExecuTorch unit tests" | ||||
|   pytest -v -n auto | ||||
| @ -1580,14 +1561,17 @@ test_executorch() { | ||||
|  | ||||
|   popd | ||||
|  | ||||
|   # Test torchgen generated code for Executorch. | ||||
|   echo "Testing ExecuTorch op registration" | ||||
|   "$BUILD_BIN_DIR"/test_edge_op_registration | ||||
|  | ||||
|   assert_git_not_dirty | ||||
| } | ||||
|  | ||||
| test_linux_aarch64() { | ||||
|   python test/run_test.py --include test_modules test_mkldnn test_mkldnn_fusion test_openmp test_torch test_dynamic_shapes \ | ||||
|         test_transformers test_multiprocessing test_numpy_interop test_autograd test_binary_ufuncs test_complex test_spectral_ops \ | ||||
|         test_foreach test_reductions test_unary_ufuncs test_tensor_creation_ops test_ops profiler/test_memory_profiler \ | ||||
|         distributed/elastic/timer/api_test distributed/elastic/timer/local_timer_example distributed/elastic/timer/local_timer_test \ | ||||
|         test_foreach test_reductions test_unary_ufuncs test_tensor_creation_ops test_ops \ | ||||
|         --shard "$SHARD_NUMBER" "$NUM_TEST_SHARDS" --verbose | ||||
|  | ||||
|   # Dynamo tests | ||||
| @ -1617,7 +1601,7 @@ test_operator_benchmark() { | ||||
|   test_inductor_set_cpu_affinity | ||||
|  | ||||
|   cd benchmarks/operator_benchmark/pt_extension | ||||
|   python -m pip install . -v --no-build-isolation | ||||
|   python -m pip install . | ||||
|  | ||||
|   cd "${TEST_DIR}"/benchmarks/operator_benchmark | ||||
|   $TASKSET python -m benchmark_all_test --device "$1" --tag-filter "$2" \ | ||||
| @ -1635,11 +1619,12 @@ test_operator_microbenchmark() { | ||||
|   mkdir -p "$TEST_REPORTS_DIR" | ||||
|   TEST_DIR=$(pwd) | ||||
|  | ||||
|   pip_uninstall torch torchvision torchaudio | ||||
|   pip_install torch==2.8.0 torchvision torchaudio ninja --force-reinstall | ||||
|   cd benchmarks/operator_benchmark/pt_extension | ||||
|   python -m pip install . | ||||
|  | ||||
|   cd "${TEST_DIR}"/benchmarks/operator_benchmark | ||||
|  | ||||
|   for OP_BENCHMARK_TESTS in matmul mm addmm bmm; do | ||||
|     $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" \ | ||||
| @ -1681,8 +1666,6 @@ elif [[ "${TEST_CONFIG}" == *executorch* ]]; then | ||||
|   test_executorch | ||||
| elif [[ "$TEST_CONFIG" == 'jit_legacy' ]]; then | ||||
|   test_python_legacy_jit | ||||
| elif [[ "$TEST_CONFIG" == 'quantization' ]]; then | ||||
|   test_quantization | ||||
| elif [[ "${BUILD_ENVIRONMENT}" == *libtorch* ]]; then | ||||
|   # TODO: run some C++ tests | ||||
|   echo "no-op at the moment" | ||||
| @ -1809,14 +1792,10 @@ elif [[ "${BUILD_ENVIRONMENT}" == *xpu* ]]; then | ||||
|   test_xpu_bin | ||||
| elif [[ "${TEST_CONFIG}" == smoke ]]; then | ||||
|   test_python_smoke | ||||
| elif [[ "${TEST_CONFIG}" == smoke_b200 ]]; then | ||||
|   test_python_smoke_b200 | ||||
| elif [[ "${TEST_CONFIG}" == h100_distributed ]]; then | ||||
|   test_h100_distributed | ||||
| elif [[ "${TEST_CONFIG}" == "h100-symm-mem" ]]; then | ||||
|   test_h100_symm_mem | ||||
| elif [[ "${TEST_CONFIG}" == "b200-symm-mem" ]]; then | ||||
|   test_h100_symm_mem | ||||
| elif [[ "${TEST_CONFIG}" == h100_cutlass_backend ]]; then | ||||
|   test_h100_cutlass_backend | ||||
| else | ||||
|  | ||||
| @ -70,7 +70,7 @@ sccache --zero-stats | ||||
| sccache --show-stats | ||||
|  | ||||
| # Build the wheel | ||||
| python -m build --wheel --no-build-isolation | ||||
| python setup.py bdist_wheel | ||||
| if ($LASTEXITCODE -ne 0) { exit 1 } | ||||
|  | ||||
| # Install the wheel locally | ||||
|  | ||||
| @ -130,14 +130,14 @@ if "%USE_CUDA%"=="1" ( | ||||
| :: Print all existing environment variable for debugging | ||||
| set | ||||
|  | ||||
| python -m build --wheel --no-isolation | ||||
| python setup.py bdist_wheel | ||||
| if errorlevel 1 goto fail | ||||
| if not errorlevel 0 goto fail | ||||
| sccache --show-stats | ||||
| python -c "import os, glob; os.system('python -mpip install --no-index --no-deps ' + glob.glob('dist/*.whl')[0])" | ||||
| ( | ||||
|   if "%BUILD_ENVIRONMENT%"=="" ( | ||||
|     echo NOTE: To run `import torch`, please make sure to activate the conda environment by running `call %CONDA_ROOT_DIR%\Scripts\activate.bat %CONDA_ROOT_DIR%\envs\py_tmp` in Command Prompt before running Git Bash. | ||||
|     echo NOTE: To run `import torch`, please make sure to activate the conda environment by running `call %CONDA_PARENT_DIR%\Miniconda3\Scripts\activate.bat %CONDA_PARENT_DIR%\Miniconda3` in Command Prompt before running Git Bash. | ||||
|   ) else ( | ||||
|     copy /Y "dist\*.whl" "%PYTORCH_FINAL_PACKAGE_DIR%" | ||||
|  | ||||
|  | ||||
| @ -3,12 +3,12 @@ if "%BUILD_ENVIRONMENT%"=="" ( | ||||
| ) else ( | ||||
|   set CONDA_PARENT_DIR=C:\Jenkins | ||||
| ) | ||||
| set CONDA_ROOT_DIR=%CONDA_PARENT_DIR%\Miniconda3 | ||||
|  | ||||
|  | ||||
| :: Be conservative here when rolling out the new AMI with conda. This will try | ||||
| :: to install conda as before if it couldn't find the conda installation. This | ||||
| :: can be removed eventually after we gain enough confidence in the AMI | ||||
| if not exist %CONDA_ROOT_DIR% ( | ||||
| if not exist %CONDA_PARENT_DIR%\Miniconda3 ( | ||||
|   set INSTALL_FRESH_CONDA=1 | ||||
| ) | ||||
|  | ||||
| @ -17,14 +17,10 @@ if "%INSTALL_FRESH_CONDA%"=="1" ( | ||||
|   if errorlevel 1 exit /b | ||||
|   if not errorlevel 0 exit /b | ||||
|  | ||||
|   %TMP_DIR_WIN%\Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=0 /S /AddToPath=0 /D=%CONDA_ROOT_DIR% | ||||
|   %TMP_DIR_WIN%\Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=0 /S /AddToPath=0 /D=%CONDA_PARENT_DIR%\Miniconda3 | ||||
|   if errorlevel 1 exit /b | ||||
|   if not errorlevel 0 exit /b | ||||
| ) | ||||
|  | ||||
| :: Activate conda so that we can use its commands, i.e. conda, python, pip | ||||
| call %CONDA_ROOT_DIR%\Scripts\activate.bat %CONDA_ROOT_DIR% | ||||
| :: Activate conda so that we can use its commands, i.e. conda, python, pip | ||||
| call conda activate py_tmp | ||||
|  | ||||
| call pip install -r .ci/docker/requirements-ci.txt | ||||
| call %CONDA_PARENT_DIR%\Miniconda3\Scripts\activate.bat %CONDA_PARENT_DIR%\Miniconda3 | ||||
|  | ||||
| @ -14,7 +14,7 @@ if not errorlevel 0 exit /b | ||||
| :: build\torch. Rather than changing all these references, making a copy of torch folder | ||||
| :: from conda to the current workspace is easier. The workspace will be cleaned up after | ||||
| :: the job anyway | ||||
| xcopy /s %CONDA_ROOT_DIR%\envs\py_tmp\Lib\site-packages\torch %TMP_DIR_WIN%\build\torch\ | ||||
| xcopy /s %CONDA_PARENT_DIR%\Miniconda3\Lib\site-packages\torch %TMP_DIR_WIN%\build\torch\ | ||||
|  | ||||
| pushd . | ||||
| if "%VC_VERSION%" == "" ( | ||||
|  | ||||
| @ -25,7 +25,7 @@ echo Copying over test times file | ||||
| robocopy /E "%PYTORCH_FINAL_PACKAGE_DIR_WIN%\.additional_ci_files" "%PROJECT_DIR_WIN%\.additional_ci_files" | ||||
|  | ||||
| echo Run nn tests | ||||
| python run_test.py --exclude-jit-executor --exclude-distributed-tests --exclude-quantization-tests --shard "%SHARD_NUMBER%" "%NUM_TEST_SHARDS%" --verbose | ||||
| python run_test.py --exclude-jit-executor --exclude-distributed-tests --shard "%SHARD_NUMBER%" "%NUM_TEST_SHARDS%" --verbose | ||||
| if ERRORLEVEL 1 goto fail | ||||
|  | ||||
| popd | ||||
|  | ||||
| @ -38,14 +38,7 @@ if [[ "$BUILD_ENVIRONMENT" == *cuda* ]]; then | ||||
| fi | ||||
|  | ||||
| # TODO: Move both of them to Windows AMI | ||||
| python -m pip install tensorboard==2.13.0 protobuf==5.29.4 pytest-subtests==0.13.1 | ||||
|  | ||||
| # Copied from https://github.com/pytorch/test-infra/blob/be01a40157c36cd5a48391fdf44a7bc3ebd4c7e3/aws/ami/windows/scripts/Installers/Install-Pip-Dependencies.ps1#L16 with some adjustments | ||||
| # pytest-rerunfailures==10.3 as 10.2 fails with INTERNALERROR> pluggy._manager.PluginValidationError: unknown hook 'pytest_configure_node' | ||||
| # scipy from 1.6.3 to 1.10 | ||||
| # expecttest from 0.1.3 to 0.3.0 | ||||
| # xdoctest from 1.0.2 to 1.3.0 | ||||
| python -m pip install "future==0.18.2" "hypothesis==5.35.1" "expecttest==0.3.0" "librosa>=0.6.2" "scipy==1.10.1" "psutil==5.9.1" "pynvml==11.4.1" "pillow==9.2.0" "unittest-xml-reporting<=3.2.0,>=2.0.0" "pytest==7.1.3" "pytest-xdist==2.5.0" "pytest-flakefinder==1.1.0" "pytest-rerunfailures==10.3" "pytest-shard==0.1.2" "sympy==1.11.1" "xdoctest==1.3.0" "pygments==2.12.0" "opt-einsum>=3.3" "networkx==2.8.8" "mpmath==1.2.1" "pytest-cpp==2.3.0" "boto3==1.35.42" | ||||
| python -m pip install pytest-rerunfailures==10.3 pytest-cpp==2.3.0 tensorboard==2.13.0 protobuf==5.29.4 pytest-subtests==0.13.1 | ||||
|  | ||||
| # Install Z3 optional dependency for Windows builds. | ||||
| python -m pip install z3-solver==4.15.1.0 | ||||
| @ -59,6 +52,9 @@ python -m pip install parameterized==0.8.1 | ||||
| # Install pulp for testing ilps under torch\distributed\_tools | ||||
| python -m pip install pulp==2.9.0 | ||||
|  | ||||
| # Install expecttest to merge https://github.com/pytorch/pytorch/pull/155308 | ||||
| python -m pip install expecttest==0.3.0 | ||||
|  | ||||
| run_tests() { | ||||
|     # Run nvidia-smi if available | ||||
|     for path in '/c/Program Files/NVIDIA Corporation/NVSMI/nvidia-smi.exe' /c/Windows/System32/nvidia-smi.exe; do | ||||
|  | ||||
| @ -48,7 +48,7 @@ sccache --zero-stats | ||||
| sccache --show-stats | ||||
|  | ||||
| :: Call PyTorch build script | ||||
| python -m build --wheel --no-isolation --outdir "%PYTORCH_FINAL_PACKAGE_DIR%" | ||||
| python setup.py bdist_wheel -d "%PYTORCH_FINAL_PACKAGE_DIR%" | ||||
|  | ||||
| :: show sccache stats | ||||
| sccache --show-stats | ||||
|  | ||||
| @ -28,5 +28,5 @@ start /wait "" python-amd64.exe /quiet InstallAllUsers=1 PrependPath=0 Include_t | ||||
| if errorlevel 1 exit /b 1 | ||||
|  | ||||
| set "PATH=%CD%\Python\Scripts;%CD%\Python;%PATH%" | ||||
| %PYTHON_EXEC% -m pip install --upgrade pip setuptools packaging wheel build | ||||
| %PYTHON_EXEC% -m pip install --upgrade pip setuptools packaging wheel | ||||
| if errorlevel 1 exit /b 1 | ||||
|  | ||||
| @ -86,7 +86,7 @@ copy /Y "%LIBTORCH_PREFIX%-%PYTORCH_BUILD_VERSION%.zip" "%PYTORCH_FINAL_PACKAGE_ | ||||
| goto build_end | ||||
|  | ||||
| :pytorch | ||||
| %PYTHON_EXEC% -m build --wheel --no-isolation --outdir "%PYTORCH_FINAL_PACKAGE_DIR%" | ||||
| %PYTHON_EXEC% setup.py bdist_wheel -d "%PYTORCH_FINAL_PACKAGE_DIR%" | ||||
|  | ||||
| :build_end | ||||
| IF ERRORLEVEL 1 exit /b 1 | ||||
|  | ||||
| @ -63,7 +63,7 @@ if errorlevel 1 exit /b 1 | ||||
| call %CONDA_HOME%\condabin\activate.bat testenv | ||||
| if errorlevel 1 exit /b 1 | ||||
|  | ||||
| call conda install  -y -q -c conda-forge libuv=1.51 | ||||
| call conda install  -y -q -c conda-forge libuv=1.39 | ||||
| call conda install -y -q intel-openmp | ||||
|  | ||||
| echo "install and test libtorch" | ||||
|  | ||||
| @ -18,7 +18,7 @@ if "%DESIRED_PYTHON%" == "3.9" %PYTHON_EXEC% -m pip install numpy==2.0.2 cmake | ||||
|  | ||||
| %PYTHON_EXEC% -m pip install pyyaml | ||||
| %PYTHON_EXEC% -m pip install mkl-include mkl-static | ||||
| %PYTHON_EXEC% -m pip install boto3 requests ninja typing_extensions setuptools==72.1.0 | ||||
| %PYTHON_EXEC% -m pip install boto3 ninja typing_extensions setuptools==72.1.0 | ||||
|  | ||||
| where cmake.exe | ||||
|  | ||||
|  | ||||
| @ -143,8 +143,7 @@ case $desired_python in | ||||
|         RENAME_WHEEL=false | ||||
|         ;; | ||||
|     3.13t) | ||||
|         echo "Using 3.13t deps" | ||||
|         mac_version='macosx-11.0-arm64' | ||||
|         echo "Using 3.13 deps" | ||||
|         NUMPY_PINNED_VERSION="==2.1.0" | ||||
|         RENAME_WHEEL=false | ||||
|         ;; | ||||
| @ -178,7 +177,8 @@ source ~/${desired_python}-build/bin/activate | ||||
| retry pip install "${PINNED_PACKAGES[@]}" -r "${pytorch_rootdir}/requirements.txt" | ||||
| retry brew install libomp | ||||
|  | ||||
| # For USE_DISTRIBUTED=1 on macOS, need libuv, which is build as part of tensorpipe submodule | ||||
| # For USE_DISTRIBUTED=1 on macOS, this enables gloo, which needs libuv, which | ||||
| # is build as part of tensorpipe submodule | ||||
| export USE_DISTRIBUTED=1 | ||||
|  | ||||
| export USE_MKLDNN=OFF | ||||
| @ -186,11 +186,11 @@ export USE_QNNPACK=OFF | ||||
| export BUILD_TEST=OFF | ||||
|  | ||||
| pushd "$pytorch_rootdir" | ||||
| echo "Calling -m build --wheel --no-isolation at $(date)" | ||||
| echo "Calling setup.py bdist_wheel at $(date)" | ||||
|  | ||||
| _PYTHON_HOST_PLATFORM=${mac_version} ARCHFLAGS="-arch arm64" python -m build --wheel --no-isolation --outdir "$whl_tmp_dir" -C--plat-name="${mac_version//[-.]/_}" | ||||
| _PYTHON_HOST_PLATFORM=${mac_version} ARCHFLAGS="-arch arm64" python setup.py bdist_wheel -d "$whl_tmp_dir" --plat-name "${mac_version//[-.]/_}" | ||||
|  | ||||
| echo "Finished -m build --wheel --no-isolation at $(date)" | ||||
| echo "Finished setup.py bdist_wheel at $(date)" | ||||
|  | ||||
| if [[ $package_type != 'libtorch' ]]; then | ||||
|     echo "delocating wheel dependencies" | ||||
|  | ||||
							
								
								
									
										47
									
								
								.circleci/scripts/functorch_doc_push_script.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										47
									
								
								.circleci/scripts/functorch_doc_push_script.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,47 @@ | ||||
| #!/bin/bash | ||||
| # =================== The following code **should** be executed inside Docker container =================== | ||||
|  | ||||
| # Install dependencies | ||||
| sudo apt-get -y update | ||||
| sudo apt-get -y install expect-dev | ||||
|  | ||||
| # This is where the local pytorch install in the docker image is located | ||||
| pt_checkout="/var/lib/jenkins/workspace" | ||||
| source "$pt_checkout/.ci/pytorch/common_utils.sh" | ||||
| echo "functorch_doc_push_script.sh: Invoked with $*" | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| version=${DOCS_VERSION:-nightly} | ||||
| echo "version: $version" | ||||
|  | ||||
| # Build functorch docs | ||||
| pushd $pt_checkout/functorch/docs | ||||
| pip -q install -r requirements.txt | ||||
| make html | ||||
| popd | ||||
|  | ||||
| git clone https://github.com/pytorch/functorch -b gh-pages --depth 1 functorch_ghpages | ||||
| pushd functorch_ghpages | ||||
|  | ||||
| if [ $version == "main" ]; then | ||||
|   version=nightly | ||||
| fi | ||||
|  | ||||
| git rm -rf "$version" || true | ||||
| mv "$pt_checkout/functorch/docs/build/html" "$version" | ||||
|  | ||||
| git add "$version" || true | ||||
| git status | ||||
| git config user.email "soumith+bot@pytorch.org" | ||||
| git config user.name "pytorchbot" | ||||
| # If there aren't changes, don't make a commit; push is no-op | ||||
| git commit -m "Generate Python docs from pytorch/pytorch@${GITHUB_SHA}" || true | ||||
| git status | ||||
|  | ||||
| if [[ "${WITH_PUSH:-}" == true ]]; then | ||||
|   git push -u origin gh-pages | ||||
| fi | ||||
|  | ||||
| popd | ||||
| # =================== The above code **should** be executed inside Docker container =================== | ||||
| @ -69,8 +69,6 @@ readability-string-compare, | ||||
| ' | ||||
| HeaderFilterRegex: '^(aten/|c10/|torch/).*$' | ||||
| WarningsAsErrors: '*' | ||||
| LineFilter: | ||||
|   - name: '/usr/include/.*' | ||||
| CheckOptions: | ||||
|   cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor: true | ||||
|   cppcoreguidelines-special-member-functions.AllowImplicitlyDeletedCopyOrMove: true | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/ISSUE_TEMPLATE/ci-sev.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/ISSUE_TEMPLATE/ci-sev.md
									
									
									
									
										vendored
									
									
								
							| @ -1,10 +1,6 @@ | ||||
| --- | ||||
| name: "⚠️ CI SEV" | ||||
| about: Tracking incidents for PyTorch's CI infra. | ||||
| title: '' | ||||
| labels: '' | ||||
| assignees: '' | ||||
|  | ||||
| --- | ||||
|  | ||||
| > NOTE: Remember to label this issue with "`ci: sev`" | ||||
|  | ||||
							
								
								
									
										18
									
								
								.github/ISSUE_TEMPLATE/disable-autorevert.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/ISSUE_TEMPLATE/disable-autorevert.md
									
									
									
									
										vendored
									
									
								
							| @ -1,18 +0,0 @@ | ||||
| --- | ||||
| name: DISABLE AUTOREVERT | ||||
| about: Disables autorevert when open | ||||
| title: "❌\U0001F519 [DISABLE AUTOREVERT]" | ||||
| labels: 'ci: disable-autorevert' | ||||
| assignees: '' | ||||
|  | ||||
| --- | ||||
|  | ||||
| This issue, while open, disables the autorevert functionality. | ||||
|  | ||||
| More details can be found [here](https://github.com/pytorch/test-infra/blob/main/aws/lambda/pytorch-auto-revert/README.md) | ||||
|  | ||||
|  | ||||
| ## Why are you disabling autorevert? | ||||
|  | ||||
|  | ||||
| ## Links to any issues/commits/errors that shows the source of problem | ||||
							
								
								
									
										6
									
								
								.github/ISSUE_TEMPLATE/disable-ci-jobs.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/ISSUE_TEMPLATE/disable-ci-jobs.md
									
									
									
									
										vendored
									
									
								
							| @ -1,10 +1,8 @@ | ||||
| --- | ||||
| name: Disable CI jobs (PyTorch Dev Infra only) | ||||
| about: Use this template to disable CI jobs | ||||
| title: DISABLED [WORKFLOW_NAME] / [PLATFORM_NAME] / [JOB_NAME] | ||||
| labels: 'module: ci' | ||||
| assignees: '' | ||||
|  | ||||
| title: "DISABLED [WORKFLOW_NAME] / [PLATFORM_NAME] / [JOB_NAME]" | ||||
| labels: "module: ci" | ||||
| --- | ||||
|  | ||||
| > For example, DISABLED pull / win-vs2022-cpu-py3 / test (default). Once | ||||
|  | ||||
							
								
								
									
										3
									
								
								.github/actionlint.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/actionlint.yaml
									
									
									
									
										vendored
									
									
								
							| @ -22,9 +22,6 @@ self-hosted-runner: | ||||
|     - linux.arm64.m7g.4xlarge | ||||
|     - linux.arm64.m7g.4xlarge.ephemeral | ||||
|     - linux.arm64.r7g.12xlarge.memory | ||||
|     - linux.aws.h100 | ||||
|     - linux.aws.h100.4 | ||||
|     - linux.aws.h100.8 | ||||
|     - linux.4xlarge.nvidia.gpu | ||||
|     - linux.8xlarge.nvidia.gpu | ||||
|     - linux.16xlarge.nvidia.gpu | ||||
|  | ||||
| @ -264,7 +264,7 @@ def unzip_artifact_and_replace_files() -> None: | ||||
|         change_content_to_new_version(f"artifacts/dist/{old_stem}/torch/version.py") | ||||
|  | ||||
|         for file in Path(f"artifacts/dist/{old_stem}").glob( | ||||
|             "*.dist-info/*", | ||||
|             "*.dist-info/**", | ||||
|         ): | ||||
|             change_content_to_new_version(file) | ||||
|  | ||||
|  | ||||
							
								
								
									
										16
									
								
								.github/actions/setup-win/action.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/actions/setup-win/action.yml
									
									
									
									
										vendored
									
									
								
							| @ -6,12 +6,6 @@ inputs: | ||||
|   cuda-version: | ||||
|     description: which cuda version to install, 'cpu' for none | ||||
|     required: true | ||||
|   python-version: | ||||
|     required: false | ||||
|     type: string | ||||
|     default: "3.10" | ||||
|     description: | | ||||
|       The python version to be used. Will be 3.10 by default | ||||
|  | ||||
| runs: | ||||
|   using: composite | ||||
| @ -44,24 +38,18 @@ runs: | ||||
|         CONDA="C:\Jenkins\Miniconda3\condabin\conda.bat" | ||||
|  | ||||
|         { | ||||
|           echo "CONDA=${CONDA}"; | ||||
|           echo "CONDA_RUN=${CONDA} run --no-capture-output"; | ||||
|           echo "CONDA_BUILD=${CONDA} run conda-build"; | ||||
|           echo "CONDA_INSTALL=${CONDA} install"; | ||||
|         } >> "${GITHUB_ENV}" | ||||
|  | ||||
|     - name: Setup Python3 | ||||
|       env: | ||||
|           PYTHON_VERSION: ${{ inputs.python-version }} | ||||
|       shell: bash | ||||
|       run: | | ||||
|         set +e | ||||
|         set -x | ||||
|  | ||||
|         # Create new py_tmp env with python-version | ||||
|         ${CONDA} create -y -n py_tmp python=${PYTHON_VERSION} intel-openmp libuv | ||||
|  | ||||
|         PYTHON3=$(${CONDA_RUN} -n py_tmp which python3) | ||||
|         PYTHON3=$(${CONDA_RUN} which python3) | ||||
|         EXIT_CODE=$? | ||||
|  | ||||
|         if [[ "${EXIT_CODE}" == "0" ]]; then | ||||
| @ -74,7 +62,7 @@ runs: | ||||
|           # installation, which is Python 3 based. Its Python is default to Python 3. Further, there | ||||
|           # is also the Miniconda installation that is Python 2 based, and both can be installed if | ||||
|           # needed. In both cases, Python binary is just called python | ||||
|           PYTHON=$(${CONDA_RUN} -n py_tmp which python) | ||||
|           PYTHON=$(${CONDA_RUN} which python) | ||||
|           EXIT_CODE=$? | ||||
|  | ||||
|           if [[ "${EXIT_CODE}" == "0" ]]; then | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/ci_commit_pins/vllm.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ci_commit_pins/vllm.txt
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | ||||
| 78a47f87ce259a48f0391fa9ae15add05ea7432b | ||||
| 5bcc153d7bf69ef34bc5788a33f60f1792cf2861 | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/ci_commit_pins/xla.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ci_commit_pins/xla.txt
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | ||||
| 0fc62aa26a30ed7ca419d285f285cb5ba02c4394 | ||||
| c77852e117bdf056c8e9a087e51d6f65cf6ba53d | ||||
|  | ||||
							
								
								
									
										3
									
								
								.github/labeler.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/labeler.yml
									
									
									
									
										vendored
									
									
								
							| @ -130,6 +130,3 @@ | ||||
| - torch/csrc/inductor/aoti_include/** | ||||
| - torchgen/aoti/** | ||||
| - torchgen/gen_aoti_c_shim.py | ||||
|  | ||||
| "ciflow/vllm": | ||||
| - .github/ci_commit_pins/vllm.txt | ||||
|  | ||||
							
								
								
									
										15
									
								
								.github/merge_rules.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/merge_rules.yaml
									
									
									
									
										vendored
									
									
								
							| @ -525,21 +525,6 @@ | ||||
|   - Lint | ||||
|   - pull | ||||
|  | ||||
| - name: typechecking | ||||
|   patterns: | ||||
|   - 'pyrefly.toml' | ||||
|   - 'mypy.ini' | ||||
|   - 'mypy-strict.ini' | ||||
|   approved_by: | ||||
|   - lolpack | ||||
|   - maggiemoss | ||||
|   - ndmitchell | ||||
|   - kinto0 | ||||
|   mandatory_checks_name: | ||||
|   - EasyCLA | ||||
|   - Lint | ||||
|   - pull | ||||
|  | ||||
| - name: superuser | ||||
|   patterns: | ||||
|   - '*' | ||||
|  | ||||
							
								
								
									
										39
									
								
								.github/pytorch-probot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.github/pytorch-probot.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,44 +1,41 @@ | ||||
| tracking_issue: 24422 | ||||
| ciflow_tracking_issue: 64124 | ||||
| ciflow_push_tags: | ||||
| - ciflow/b200 | ||||
| - ciflow/b200-symm-mem | ||||
| - ciflow/binaries | ||||
| - ciflow/binaries_libtorch | ||||
| - ciflow/binaries_wheel | ||||
| - ciflow/h100 | ||||
| - ciflow/h100-cutlass-backend | ||||
| - ciflow/h100-distributed | ||||
| - ciflow/h100-symm-mem | ||||
| - ciflow/triton_binaries | ||||
| - ciflow/inductor | ||||
| - ciflow/inductor-cu126 | ||||
| - ciflow/inductor-micro-benchmark | ||||
| - ciflow/inductor-micro-benchmark-cpu-x86 | ||||
| - ciflow/inductor-perf-compare | ||||
| - ciflow/inductor-perf-test-nightly-rocm | ||||
| - ciflow/inductor-perf-test-nightly-x86-zen | ||||
| - ciflow/inductor-periodic | ||||
| - ciflow/inductor-rocm | ||||
| - ciflow/inductor-perf-test-nightly-rocm | ||||
| - ciflow/inductor-perf-compare | ||||
| - ciflow/inductor-micro-benchmark | ||||
| - ciflow/inductor-micro-benchmark-cpu-x86 | ||||
| - ciflow/inductor-perf-test-nightly-x86-zen | ||||
| - ciflow/inductor-cu126 | ||||
| - ciflow/linux-aarch64 | ||||
| - ciflow/mps | ||||
| - ciflow/nightly | ||||
| - ciflow/op-benchmark | ||||
| - ciflow/periodic | ||||
| - ciflow/periodic-rocm-mi300 | ||||
| - ciflow/pull | ||||
| - ciflow/quantization-periodic | ||||
| - ciflow/riscv64 | ||||
| - ciflow/rocm | ||||
| - ciflow/rocm-mi300 | ||||
| - ciflow/s390 | ||||
| - ciflow/riscv64 | ||||
| - ciflow/slow | ||||
| - ciflow/torchbench | ||||
| - ciflow/triton_binaries | ||||
| - ciflow/trunk | ||||
| - ciflow/unstable | ||||
| - ciflow/vllm | ||||
| - ciflow/win-arm64 | ||||
| - ciflow/xpu | ||||
| - ciflow/vllm | ||||
| - ciflow/torchbench | ||||
| - ciflow/op-benchmark | ||||
| - ciflow/pull | ||||
| - ciflow/h100 | ||||
| - ciflow/h100-distributed | ||||
| - ciflow/win-arm64 | ||||
| - ciflow/h100-symm-mem | ||||
| - ciflow/h100-cutlass-backend | ||||
| retryable_workflows: | ||||
| - pull | ||||
| - trunk | ||||
| @ -47,4 +44,4 @@ retryable_workflows: | ||||
| - inductor-A100-perf-nightly | ||||
| labeler_config: labeler.yml | ||||
| label_to_label_config: label_to_label.yml | ||||
| mergebot: true | ||||
| mergebot: True | ||||
|  | ||||
| @ -1,5 +1,4 @@ | ||||
| boto3==1.35.42 | ||||
| build==1.2.2.post1 | ||||
| cmake==3.27.* | ||||
| expecttest==0.3.0 | ||||
| fbscribelogger==0.1.7 | ||||
|  | ||||
| @ -30,7 +30,7 @@ CUDA_ARCHES_CUDNN_VERSION = { | ||||
| } | ||||
|  | ||||
| # NOTE: Please also update the ROCm sources in `PIP_SOURCES` in tools/nightly.py when changing this | ||||
| ROCM_ARCHES = ["6.4", "7.0"] | ||||
| ROCM_ARCHES = ["6.3", "6.4"] | ||||
|  | ||||
| XPU_ARCHES = ["xpu"] | ||||
|  | ||||
| @ -53,7 +53,7 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = { | ||||
|         "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.28.3; 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' | " | ||||
| @ -70,7 +70,7 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = { | ||||
|         "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.28.3; 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' | " | ||||
| @ -87,7 +87,7 @@ PYTORCH_EXTRA_INSTALL_REQUIREMENTS = { | ||||
|         "nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | " | ||||
|         "nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | " | ||||
|         "nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | " | ||||
|         "nvidia-nccl-cu13==2.28.3; 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.39; platform_system == 'Linux' | " | ||||
|         "nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | " | ||||
|  | ||||
							
								
								
									
										93
									
								
								.github/scripts/generate_ci_workflows.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										93
									
								
								.github/scripts/generate_ci_workflows.py
									
									
									
									
										vendored
									
									
								
							| @ -127,6 +127,53 @@ LINUX_BINARY_BUILD_WORFKLOWS = [ | ||||
|     ), | ||||
| ] | ||||
|  | ||||
| ROCM_SMOKE_WORKFLOWS = [ | ||||
|     BinaryBuildWorkflow( | ||||
|         os=OperatingSystem.LINUX, | ||||
|         package_type="manywheel", | ||||
|         build_variant="rocm", | ||||
|         build_configs=generate_binary_build_matrix.generate_wheels_matrix( | ||||
|             OperatingSystem.LINUX, | ||||
|             arches=["6.4"], | ||||
|             python_versions=["3.9"], | ||||
|         ), | ||||
|         ciflow_config=CIFlowConfig( | ||||
|             labels={ | ||||
|                 LABEL_CIFLOW_BINARIES, | ||||
|                 LABEL_CIFLOW_BINARIES_WHEEL, | ||||
|                 LABEL_CIFLOW_ROCM, | ||||
|             }, | ||||
|             isolated_workflow=True, | ||||
|         ), | ||||
|         branches="main", | ||||
|     ), | ||||
| ] | ||||
|  | ||||
| LINUX_BINARY_SMOKE_WORKFLOWS = [ | ||||
|     BinaryBuildWorkflow( | ||||
|         os=OperatingSystem.LINUX, | ||||
|         package_type="manywheel", | ||||
|         build_configs=generate_binary_build_matrix.generate_wheels_matrix( | ||||
|             OperatingSystem.LINUX, | ||||
|             arches=["12.8"], | ||||
|             python_versions=["3.12"], | ||||
|         ), | ||||
|         branches="main", | ||||
|     ), | ||||
|     BinaryBuildWorkflow( | ||||
|         os=OperatingSystem.LINUX, | ||||
|         package_type="libtorch", | ||||
|         build_variant=generate_binary_build_matrix.RELEASE, | ||||
|         build_configs=generate_binary_build_matrix.generate_libtorch_matrix( | ||||
|             OperatingSystem.LINUX, | ||||
|             generate_binary_build_matrix.RELEASE, | ||||
|             arches=["cpu"], | ||||
|             libtorch_variants=["shared-with-deps"], | ||||
|         ), | ||||
|         branches="main", | ||||
|     ), | ||||
| ] | ||||
|  | ||||
| WINDOWS_BINARY_BUILD_WORKFLOWS = [ | ||||
|     BinaryBuildWorkflow( | ||||
|         os=OperatingSystem.WINDOWS, | ||||
| @ -212,6 +259,39 @@ WINDOWS_BINARY_BUILD_WORKFLOWS = [ | ||||
|     ), | ||||
| ] | ||||
|  | ||||
| WINDOWS_BINARY_SMOKE_WORKFLOWS = [ | ||||
|     BinaryBuildWorkflow( | ||||
|         os=OperatingSystem.WINDOWS, | ||||
|         package_type="libtorch", | ||||
|         build_variant=generate_binary_build_matrix.RELEASE, | ||||
|         build_configs=generate_binary_build_matrix.generate_libtorch_matrix( | ||||
|             OperatingSystem.WINDOWS, | ||||
|             generate_binary_build_matrix.RELEASE, | ||||
|             arches=["cpu"], | ||||
|             libtorch_variants=["shared-with-deps"], | ||||
|         ), | ||||
|         branches="main", | ||||
|         ciflow_config=CIFlowConfig( | ||||
|             isolated_workflow=True, | ||||
|         ), | ||||
|     ), | ||||
|     BinaryBuildWorkflow( | ||||
|         os=OperatingSystem.WINDOWS, | ||||
|         package_type="libtorch", | ||||
|         build_variant=generate_binary_build_matrix.DEBUG, | ||||
|         build_configs=generate_binary_build_matrix.generate_libtorch_matrix( | ||||
|             OperatingSystem.WINDOWS, | ||||
|             generate_binary_build_matrix.DEBUG, | ||||
|             arches=["cpu"], | ||||
|             libtorch_variants=["shared-with-deps"], | ||||
|         ), | ||||
|         branches="main", | ||||
|         ciflow_config=CIFlowConfig( | ||||
|             isolated_workflow=True, | ||||
|         ), | ||||
|     ), | ||||
| ] | ||||
|  | ||||
| MACOS_BINARY_BUILD_WORKFLOWS = [ | ||||
|     BinaryBuildWorkflow( | ||||
|         os=OperatingSystem.MACOS_ARM64, | ||||
| @ -292,10 +372,23 @@ def main() -> None: | ||||
|             jinja_env.get_template("linux_binary_build_workflow.yml.j2"), | ||||
|             S390X_BINARY_BUILD_WORKFLOWS, | ||||
|         ), | ||||
|         ( | ||||
|             # Give rocm it's own workflow file | ||||
|             jinja_env.get_template("linux_binary_build_workflow.yml.j2"), | ||||
|             ROCM_SMOKE_WORKFLOWS, | ||||
|         ), | ||||
|         ( | ||||
|             jinja_env.get_template("linux_binary_build_workflow.yml.j2"), | ||||
|             LINUX_BINARY_SMOKE_WORKFLOWS, | ||||
|         ), | ||||
|         ( | ||||
|             jinja_env.get_template("windows_binary_build_workflow.yml.j2"), | ||||
|             WINDOWS_BINARY_BUILD_WORKFLOWS, | ||||
|         ), | ||||
|         ( | ||||
|             jinja_env.get_template("windows_binary_build_workflow.yml.j2"), | ||||
|             WINDOWS_BINARY_SMOKE_WORKFLOWS, | ||||
|         ), | ||||
|         ( | ||||
|             jinja_env.get_template("macos_binary_build_workflow.yml.j2"), | ||||
|             MACOS_BINARY_BUILD_WORKFLOWS, | ||||
|  | ||||
| @ -71,15 +71,12 @@ jobs: | ||||
|     with:!{{ upload.binary_env_as_input(config) }} | ||||
|       {%- if "aarch64" in build_environment %} | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       {%- elif "s390x" in build_environment %} | ||||
|       runs_on: linux.s390x | ||||
|       ALPINE_IMAGE: "docker.io/s390x/alpine" | ||||
|       timeout-minutes: 420 | ||||
|       {%- elif config["gpu_arch_type"] == "rocm" %} | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       timeout-minutes: 300 | ||||
|       {%- elif "conda" in build_environment and config["gpu_arch_type"] == "cuda" %} | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.24xlarge.ephemeral | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/_binary-test-linux.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/_binary-test-linux.yml
									
									
									
									
										vendored
									
									
								
							| @ -187,6 +187,8 @@ jobs: | ||||
|  | ||||
|       - name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@main | ||||
|         with: | ||||
|           driver-version: ${{ startsWith(inputs.GPU_ARCH_VERSION, '13') && '580.65.06' || '570.133.07' }} | ||||
|         if: ${{ inputs.GPU_ARCH_TYPE == 'cuda' && steps.filter.outputs.is-test-matrix-empty == 'False' }} | ||||
|  | ||||
|       - name: configure aws credentials | ||||
|  | ||||
							
								
								
									
										16
									
								
								.github/workflows/_docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/_docs.yml
									
									
									
									
										vendored
									
									
								
							| @ -67,7 +67,7 @@ jobs: | ||||
|             # an OOM issue when running the job, so this upgrades the runner from 4xlarge | ||||
|             # to the next available tier of 12xlarge. So much memory just to generate cpp | ||||
|             # doc | ||||
|             runner: ${{ inputs.runner_prefix }}linux.12xlarge.memory | ||||
|             runner: ${{ inputs.runner_prefix }}linux.12xlarge | ||||
|             # TODO: Nightly cpp docs take longer and longer to finish (more than 3h now) | ||||
|             # Let's try to figure out how this can be improved | ||||
|             timeout-minutes: 360 | ||||
| @ -75,6 +75,10 @@ jobs: | ||||
|             runner: ${{ inputs.runner_prefix }}linux.2xlarge | ||||
|             # It takes less than 30m to finish python docs unless there are issues | ||||
|             timeout-minutes: 30 | ||||
|           - docs_type: functorch | ||||
|             runner: ${{ inputs.runner_prefix }}linux.2xlarge | ||||
|             # It takes less than 15m to finish functorch docs unless there are issues | ||||
|             timeout-minutes: 15 | ||||
|     # Set a fixed name for this job instead of using the current matrix-generated name, i.e. build-docs (cpp, linux.12xlarge, 180) | ||||
|     # The current name requires updating the database last docs push query from test-infra every time the matrix is updated | ||||
|     name: build-docs-${{ matrix.docs_type }}-${{ inputs.push }} | ||||
| @ -207,6 +211,16 @@ jobs: | ||||
|           path: cppdocs/ | ||||
|           s3-prefix: pytorch/pytorch/${{ github.event.pull_request.number }}/cppdocs | ||||
|  | ||||
|       - name: Upload functorch Docs Preview | ||||
|         uses: seemethere/upload-artifact-s3@baba72d0712b404f646cebe0730933554ebce96a # v5.1.0 | ||||
|         if: ${{ github.event_name == 'pull_request' && matrix.docs_type == 'functorch' && steps.build-docs.outcome == 'success' }} | ||||
|         with: | ||||
|           retention-days: 14 | ||||
|           s3-bucket: doc-previews | ||||
|           if-no-files-found: error | ||||
|           path: functorch_ghpages/nightly/ | ||||
|           s3-prefix: pytorch/pytorch/${{ github.event.pull_request.number }}/functorchdocs | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										28
									
								
								.github/workflows/_get-changed-files.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/_get-changed-files.yml
									
									
									
									
										vendored
									
									
								
							| @ -2,12 +2,6 @@ name: Get Changed Files | ||||
|  | ||||
| on: | ||||
|   workflow_call: | ||||
|     inputs: | ||||
|       all_files: | ||||
|         description: "Whether to return all files instead of just changed files" | ||||
|         required: false | ||||
|         type: boolean | ||||
|         default: false | ||||
|     outputs: | ||||
|       changed-files: | ||||
|         description: "List of changed files (space-separated) or '*' if not in a PR" | ||||
| @ -32,23 +26,17 @@ jobs: | ||||
|             # Get the PR number from the github context | ||||
|             PR_NUMBER="${{ github.event.number }}" | ||||
|  | ||||
|             # Check if all_files is requested | ||||
|             if [ "${{ inputs.all_files }}" = "true" ]; then | ||||
|               echo "all_files input is true, returning all files" | ||||
|               echo "changed-files=*" >> "$GITHUB_OUTPUT" | ||||
|             else | ||||
|               # Use gh CLI to get changed files in the PR with explicit repo | ||||
|               CHANGED_FILES=$(gh api repos/${{ github.repository }}/pulls/$PR_NUMBER/files --paginate --jq '.[] | select(.status != "removed") | .filename' | tr '\n' ' ' | sed 's/ $//') | ||||
|             # Use gh CLI to get changed files in the PR with explicit repo | ||||
|             CHANGED_FILES=$(gh api repos/${{ github.repository }}/pulls/$PR_NUMBER/files --paginate --jq '.[] | select(.status != "removed") | .filename' | tr '\n' ' ' | sed 's/ $//') | ||||
|  | ||||
|               if [ -z "$CHANGED_FILES" ]; then | ||||
|                 echo "No changed files found, setting to '*'" | ||||
|                 CHANGED_FILES="*" | ||||
|               fi | ||||
|  | ||||
|               echo "Changed files: $CHANGED_FILES" | ||||
|               echo "changed-files=$CHANGED_FILES" >> "$GITHUB_OUTPUT" | ||||
|             if [ -z "$CHANGED_FILES" ]; then | ||||
|               echo "No changed files found, setting to '*'" | ||||
|               CHANGED_FILES="*" | ||||
|             fi | ||||
|  | ||||
|             echo "Changed files: $CHANGED_FILES" | ||||
|             echo "changed-files=$CHANGED_FILES" >> "$GITHUB_OUTPUT" | ||||
|  | ||||
|           else | ||||
|             echo "Not in PR context, setting changed files to '*'" | ||||
|             echo "changed-files=*" >> "$GITHUB_OUTPUT" | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/_linux-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/_linux-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -169,7 +169,7 @@ jobs: | ||||
|         id: install-nvidia-driver | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@main | ||||
|         with: | ||||
|           driver-version: ${{ matrix.config == 'legacy_nvidia_driver' && '525.105.17' || '580.82.07' }} | ||||
|           driver-version: ${{ matrix.config == 'legacy_nvidia_driver' && '525.105.17' || '570.133.07' }} | ||||
|         if: ${{ contains(inputs.build-environment, 'cuda') && !contains(matrix.config, 'nogpu') && steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'false' && !contains(matrix.runner, 'b200') }} | ||||
|  | ||||
|       - name: Setup GPU_FLAG for docker run | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/_win-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/_win-build.yml
									
									
									
									
										vendored
									
									
								
							| @ -151,7 +151,7 @@ jobs: | ||||
|           BUILD_WHEEL: 1 | ||||
|           MAX_JOBS: 8 | ||||
|           CUDA_VERSION: ${{ inputs.cuda-version }} | ||||
|           PYTHON_VERSION: "3.10" | ||||
|           PYTHON_VERSION: "3.9" | ||||
|           SCCACHE_BUCKET: "ossci-compiler-cache" | ||||
|           SCCACHE_S3_KEY_PREFIX: ${{ github.workflow }} | ||||
|           SCCACHE_REGION: us-east-1 | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/_win-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/_win-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -184,7 +184,7 @@ jobs: | ||||
|         env: | ||||
|           USE_CUDA: ${{ inputs.cuda-version != 'cpu' && '1' || '0' }} | ||||
|           INSTALL_WINDOWS_SDK: 1 | ||||
|           PYTHON_VERSION: "3.10" | ||||
|           PYTHON_VERSION: 3.9 | ||||
|           CONTINUE_THROUGH_ERROR: ${{ steps.keep-going.outputs.keep-going }} | ||||
|           VERBOSE_TEST_LOGS: ${{ steps.keep-going.outputs.ci-verbose-test-logs }} | ||||
|           TEST_SHOWLOCALS: ${{ steps.keep-going.outputs.ci-test-showlocals }} | ||||
|  | ||||
							
								
								
									
										60
									
								
								.github/workflows/b200-symm-mem.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										60
									
								
								.github/workflows/b200-symm-mem.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,60 +0,0 @@ | ||||
| name: Limited CI for symmetric memory tests on B200 | ||||
|  | ||||
| on: | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - .github/workflows/b200-symm-mem.yml | ||||
|   workflow_dispatch: | ||||
|   push: | ||||
|     tags: | ||||
|       - ciflow/b200-symm-mem/* | ||||
|   schedule: | ||||
|     - cron: 22 8 * * *  # about 1:22am PDT | ||||
|  | ||||
| concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| permissions: | ||||
|   id-token: write | ||||
|   contents: read | ||||
|  | ||||
| jobs: | ||||
|  | ||||
|   get-label-type: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: get-label-type | ||||
|     uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main | ||||
|     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-cuda12_8-py3_10-gcc11-sm100-build-symm: | ||||
|     name: linux-jammy-cuda12.8-py3.10-gcc11-sm100-symm | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runner: linux.12xlarge.memory | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm100-symm | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11 | ||||
|       cuda-arch-list: '10.0' | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "b200-symm-mem", shard: 1, num_shards: 1, runner: "linux.dgx.b200.8" }, | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-cuda12_8-py3_10-gcc11-sm100-test: | ||||
|     name: linux-jammy-cuda12.8-py3.10-gcc11-sm100-symm | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: | ||||
|       - linux-jammy-cuda12_8-py3_10-gcc11-sm100-build-symm | ||||
|     with: | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm100-symm | ||||
|       docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-sm100-build-symm.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-sm100-build-symm.outputs.test-matrix }} | ||||
|       aws-role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only | ||||
|     secrets: inherit | ||||
							
								
								
									
										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 | ||||
|     strategy: | ||||
|       matrix: | ||||
|         tag: ["cuda12.6", "cuda12.8", "cuda12.9", "cuda13.0", "rocm6.4", "rocm7.0", "cpu"] | ||||
|         tag: ["cuda12.6", "cuda12.8", "cuda12.9", "cuda13.0", "rocm6.3", "rocm6.4", "cpu"] | ||||
|     steps: | ||||
|       - name: Build docker image | ||||
|         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.8" }, | ||||
|           { tag: "cuda12.6" }, | ||||
|           { tag: "rocm6.3"  }, | ||||
|           { tag: "rocm6.4"  }, | ||||
|           { tag: "rocm7.0"  }, | ||||
|           { tag: "cpu"      }, | ||||
|         ] | ||||
|     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 | ||||
|     strategy: | ||||
|       matrix: | ||||
|         rocm_version: ["70", "64"] | ||||
|         rocm_version: ["64", "63"] | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||||
|  | ||||
							
								
								
									
										3
									
								
								.github/workflows/build-manywheel-images.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/build-manywheel-images.yml
									
									
									
									
										vendored
									
									
								
							| @ -52,10 +52,11 @@ jobs: | ||||
|           { name: "manylinuxaarch64-builder",       tag: "cuda13.0",          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: "manylinux2_28-builder",          tag: "rocm6.3",           runner: "linux.9xlarge.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: "cpu",               runner: "linux.9xlarge.ephemeral" }, | ||||
|           { name: "manylinux2_28_aarch64-builder",  tag: "cpu-aarch64",       runner: "linux.arm64.2xlarge.ephemeral" }, | ||||
|           { name: "manylinuxcxx11-abi-builder",     tag: "cpu-cxx11-abi",     runner: "linux.9xlarge.ephemeral" }, | ||||
|           { name: "manylinux2_28-builder",          tag: "xpu",               runner: "linux.9xlarge.ephemeral" }, | ||||
|         ] | ||||
|     runs-on: ${{ needs.get-label-type.outputs.label-type }}${{ matrix.runner }} | ||||
|  | ||||
							
								
								
									
										9
									
								
								.github/workflows/build-triton-wheel.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.github/workflows/build-triton-wheel.yml
									
									
									
									
										vendored
									
									
								
							| @ -50,12 +50,12 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         py_vers: [ "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t" ] | ||||
|         py_vers: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t" ] | ||||
|         device: ["cuda", "rocm", "xpu", "aarch64"] | ||||
|         docker-image: ["pytorch/manylinux2_28-builder:cpu"] | ||||
|         include: | ||||
|           - device: "rocm" | ||||
|             rocm_version: "7.0" | ||||
|             rocm_version: "6.4" | ||||
|             runs_on: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" | ||||
|           - device: "cuda" | ||||
|             rocm_version: "" | ||||
| @ -108,6 +108,9 @@ jobs: | ||||
|  | ||||
|           # Determine python executable for given version | ||||
|           case $PY_VERS in | ||||
|           3.9) | ||||
|             PYTHON_EXECUTABLE=/opt/python/cp39-cp39/bin/python | ||||
|             ;; | ||||
|           3.10) | ||||
|             PYTHON_EXECUTABLE=/opt/python/cp310-cp310/bin/python | ||||
|             ;; | ||||
| @ -191,7 +194,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         py_vers: [ "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t" ] | ||||
|         py_vers: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t" ] | ||||
|         device: ["xpu"] | ||||
|     timeout-minutes: 40 | ||||
|     env: | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/build-vllm-wheel.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/build-vllm-wheel.yml
									
									
									
									
										vendored
									
									
								
							| @ -178,7 +178,7 @@ jobs: | ||||
|       contents: read | ||||
|     container: | ||||
|       image: continuumio/miniconda3:4.12.0 | ||||
|     environment: ${{ ((github.event_name == 'push' && github.event.ref == 'refs/heads/main') || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && 'nightly-wheel-upload' || '' }} | ||||
|     environment: ${{ (github.event_name == 'push' && github.event.ref == 'refs/heads/main') && 'nightly-wheel-upload' || '' }} | ||||
|     steps: | ||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||||
|  | ||||
|  | ||||
							
								
								
									
										59
									
								
								.github/workflows/create_release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										59
									
								
								.github/workflows/create_release.yml
									
									
									
									
										vendored
									
									
								
							| @ -35,7 +35,6 @@ jobs: | ||||
|       contents: write | ||||
|     outputs: | ||||
|       pt_release_name: ${{ steps.release_name.outputs.pt_release_name }} | ||||
|       pt_pep517_release_name: ${{ steps.release_name.outputs.pt_pep517_release_name }} | ||||
|     steps: | ||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||||
|         with: | ||||
| @ -54,12 +53,8 @@ jobs: | ||||
|           tag_or_branch="${tag_or_branch#refs/heads/}" | ||||
|           # replace directory separators with _ in branch name | ||||
|           tag_or_branch="${tag_or_branch//\//_}" | ||||
|           torch_version="$(python -c 'from tools.generate_torch_version import get_torch_version; print(get_torch_version())')" | ||||
|           { | ||||
|             echo "PT_RELEASE_NAME=pytorch-$tag_or_branch"; | ||||
|             echo "PT_RELEASE_FILE=pytorch-$tag_or_branch.tar.gz"; | ||||
|             echo "PT_PEP517_RELEASE_FILE=torch-${torch_version}.tar.gz"; | ||||
|           } >> "$GITHUB_ENV" | ||||
|           echo "PT_RELEASE_NAME=pytorch-$tag_or_branch" >> "$GITHUB_ENV" | ||||
|           echo "PT_RELEASE_FILE=pytorch-$tag_or_branch.tar.gz" >> "$GITHUB_ENV" | ||||
|       - name: Checkout optional submodules | ||||
|         run: python3 tools/optional_submodules.py | ||||
|       - name: Copy docs requirements for inclusion | ||||
| @ -69,47 +64,30 @@ jobs: | ||||
|           cp .ci/docker/requirements-docs.txt docs/requirements.txt | ||||
|       - name: Create source distribution | ||||
|         run: | | ||||
|           # Create new folder with specified name so extracting the archive yields that | ||||
|           rm -rf "/tmp/$PT_RELEASE_NAME" | ||||
|           cp -r "$PWD" "/tmp/$PT_RELEASE_NAME" | ||||
|           mv "/tmp/$PT_RELEASE_NAME" . | ||||
|           # Cleanup | ||||
|           rm -rf "$PT_RELEASE_NAME"/{.circleci,.ci} | ||||
|           find "$PT_RELEASE_NAME" -name '.git*' -exec rm -rv {} \; || true | ||||
|           # Create archive | ||||
|           tar -czf "$PT_RELEASE_FILE" "$PT_RELEASE_NAME" | ||||
|           echo "Created source archive $PT_RELEASE_FILE with content: $(ls -a "$PT_RELEASE_NAME")" | ||||
|       - name: Create PEP 517 compatible source distribution | ||||
|         run: | | ||||
|           pip install build==1.2.2.post1 || exit 1 | ||||
|           python -m build --sdist || exit 1 | ||||
|           cd dist || exit 1 | ||||
|             # Create new folder with specified name so extracting the archive yields that | ||||
|             rm -rf "/tmp/$PT_RELEASE_NAME" | ||||
|             cp -r "$PWD" "/tmp/$PT_RELEASE_NAME" | ||||
|             mv "/tmp/$PT_RELEASE_NAME" . | ||||
|             # Cleanup | ||||
|             rm -rf "$PT_RELEASE_NAME"/{.circleci,.ci} | ||||
|             find "$PT_RELEASE_NAME" -name '.git*' -exec rm -rv {} \; || true | ||||
|             # Create archive | ||||
|             tar -czf "$PT_RELEASE_FILE" "$PT_RELEASE_NAME" | ||||
|             echo "Created source archive $PT_RELEASE_FILE with content: $(ls -a "$PT_RELEASE_NAME")" | ||||
|       - name: Upload source distribution for release | ||||
|         if: ${{ github.event_name == 'release' }} | ||||
|         uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2 | ||||
|         with: | ||||
|           files: | | ||||
|             ${{ env.PT_RELEASE_FILE }} | ||||
|             ${{ env.PT_PEP517_RELEASE_FILE }} | ||||
|       - name: Upload source distribution to GHA artifacts  # for release tags | ||||
|           files: ${{env.PT_RELEASE_FILE}} | ||||
|       - name: Upload source distribution to GHA artifacts for release tags | ||||
|         if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, 'rc') }} | ||||
|         uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | ||||
|         with: | ||||
|           name: ${{ env.PT_RELEASE_FILE }} | ||||
|           path: ${{ env.PT_RELEASE_FILE }} | ||||
|       - name: Upload PEP 517 source distribution to GHA artifacts  # for release tags | ||||
|         if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, 'rc') }} | ||||
|         uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | ||||
|         with: | ||||
|           name: ${{ env.PT_PEP517_RELEASE_FILE }} | ||||
|           path: dist/${{ env.PT_PEP517_RELEASE_FILE }} | ||||
|       - name: Set output | ||||
|         id: release_name | ||||
|         run: | | ||||
|           { | ||||
|             echo "pt_release_name=${{ env.PT_RELEASE_FILE }}"; | ||||
|             echo "pt_pep517_release_name=${{ env.PT_PEP517_RELEASE_FILE }}"; | ||||
|           } >> "${GITHUB_OUTPUT}" | ||||
|         run: echo "pt_release_name=${{ env.PT_RELEASE_NAME }}.tar.gz" >> "${GITHUB_OUTPUT}" | ||||
|  | ||||
|   upload_source_code_to_s3: | ||||
|     if: ${{ github.repository == 'pytorch/pytorch' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, 'rc') }} | ||||
| @ -125,9 +103,6 @@ jobs: | ||||
|       - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||||
|         with: | ||||
|           name: ${{ needs.release.outputs.pt_release_name }} | ||||
|       - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||||
|         with: | ||||
|           name: ${{ needs.release.outputs.pt_pep517_release_name }} | ||||
|       - name: Configure AWS credentials(PyTorch account) | ||||
|         uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0 | ||||
|         with: | ||||
| @ -138,9 +113,7 @@ jobs: | ||||
|           s3-bucket: pytorch | ||||
|           s3-prefix: source_code/test | ||||
|           if-no-files-found: warn | ||||
|           path: | | ||||
|             ${{ needs.release.outputs.pt_release_name }} | ||||
|             ${{ needs.release.outputs.pt_pep517_release_name }} | ||||
|           path: ${{ needs.release.outputs.pt_release_name }} | ||||
|  | ||||
| concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name }} | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/docker-builds.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/docker-builds.yml
									
									
									
									
										vendored
									
									
								
							| @ -59,6 +59,7 @@ jobs: | ||||
|           pytorch-linux-jammy-py3.13-clang12, | ||||
|           pytorch-linux-jammy-rocm-n-py3, | ||||
|           pytorch-linux-noble-rocm-n-py3, | ||||
|           pytorch-linux-noble-rocm-alpha-py3, | ||||
|           pytorch-linux-jammy-rocm-n-py3-benchmarks, | ||||
|           pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-clang12, | ||||
|           pytorch-linux-jammy-py3.10-gcc11, | ||||
| @ -69,8 +70,9 @@ jobs: | ||||
|           pytorch-linux-jammy-py3-clang18-asan, | ||||
|           pytorch-linux-jammy-py3-clang12-onnx, | ||||
|           pytorch-linux-jammy-linter, | ||||
|           pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter, | ||||
|           pytorch-linux-jammy-py3-clang12-executorch, | ||||
|           pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter, | ||||
|           # Executorch pin needs update | ||||
|           # pytorch-linux-jammy-py3-clang12-executorch, | ||||
|           pytorch-linux-jammy-py3.12-triton-cpu, | ||||
|           pytorch-linux-noble-riscv64-py3.12-gcc14 | ||||
|         ] | ||||
|  | ||||
							
								
								
									
										98
									
								
								.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										98
									
								
								.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -62,7 +62,7 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_10-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -128,11 +128,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.6 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_10-cuda-aarch64-12_6 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -174,11 +174,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_10-cuda-aarch64-12_8 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -220,11 +220,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda13.0 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_10-cuda-aarch64-13_0 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.28.3; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; 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.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       timeout-minutes: 420 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -265,7 +265,7 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_11-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -331,11 +331,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.6 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_11-cuda-aarch64-12_6 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -377,11 +377,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_11-cuda-aarch64-12_8 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -423,11 +423,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda13.0 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_11-cuda-aarch64-13_0 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.28.3; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; 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.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       timeout-minutes: 420 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -468,7 +468,7 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_12-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -534,11 +534,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.6 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_12-cuda-aarch64-12_6 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -580,11 +580,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_12-cuda-aarch64-12_8 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -626,11 +626,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda13.0 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_12-cuda-aarch64-13_0 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.28.3; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; 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.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       timeout-minutes: 420 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -671,7 +671,7 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64 | ||||
|       DESIRED_PYTHON: "3.13" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -737,11 +737,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.6 | ||||
|       DESIRED_PYTHON: "3.13" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13-cuda-aarch64-12_6 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -783,11 +783,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.13" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13-cuda-aarch64-12_8 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -829,11 +829,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda13.0 | ||||
|       DESIRED_PYTHON: "3.13" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13-cuda-aarch64-13_0 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.28.3; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; 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.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       timeout-minutes: 420 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -874,7 +874,7 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64 | ||||
|       DESIRED_PYTHON: "3.13t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13t-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -940,11 +940,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.6 | ||||
|       DESIRED_PYTHON: "3.13t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13t-cuda-aarch64-12_6 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -986,11 +986,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.13t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13t-cuda-aarch64-12_8 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -1032,11 +1032,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda13.0 | ||||
|       DESIRED_PYTHON: "3.13t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_13t-cuda-aarch64-13_0 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.28.3; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; 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.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       timeout-minutes: 420 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -1077,7 +1077,7 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64 | ||||
|       DESIRED_PYTHON: "3.14" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -1143,11 +1143,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.6 | ||||
|       DESIRED_PYTHON: "3.14" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14-cuda-aarch64-12_6 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -1189,11 +1189,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.14" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14-cuda-aarch64-12_8 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -1235,11 +1235,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda13.0 | ||||
|       DESIRED_PYTHON: "3.14" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14-cuda-aarch64-13_0 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.28.3; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; 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.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       timeout-minutes: 420 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -1280,7 +1280,7 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64 | ||||
|       DESIRED_PYTHON: "3.14t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14t-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -1346,11 +1346,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.6 | ||||
|       DESIRED_PYTHON: "3.14t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14t-cuda-aarch64-12_6 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -1392,11 +1392,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.14t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14t-cuda-aarch64-12_8 | ||||
|       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.28.3; 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' | ||||
|       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 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -1438,11 +1438,11 @@ jobs: | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda13.0 | ||||
|       DESIRED_PYTHON: "3.14t" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.arm64.r7g.12xlarge.memory | ||||
|       runs_on: linux.arm64.m7g.4xlarge.ephemeral | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
|       build_name: manywheel-py3_14t-cuda-aarch64-13_0 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; platform_system == 'Linux' | nvidia-cusparselt-cu13==0.8.0; platform_system == 'Linux' | nvidia-nccl-cu13==2.28.3; platform_system == 'Linux' | nvidia-nvshmem-cu13==3.3.24; platform_system == 'Linux' | nvidia-nvtx==13.0.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc==13.0.48; platform_system == 'Linux' | nvidia-cuda-runtime==13.0.48; platform_system == 'Linux' | nvidia-cuda-cupti==13.0.48; platform_system == 'Linux' | nvidia-cudnn-cu13==9.13.0.50; platform_system == 'Linux' | nvidia-cublas==13.0.0.19; platform_system == 'Linux' | nvidia-cufft==12.0.0.15; platform_system == 'Linux' | nvidia-curand==10.4.0.35; platform_system == 'Linux' | nvidia-cusolver==12.0.3.29; platform_system == 'Linux' | nvidia-cusparse==12.6.2.49; 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.39; platform_system == 'Linux' | nvidia-nvjitlink==13.0.39; platform_system == 'Linux' | nvidia-cufile==1.15.0.42; platform_system == 'Linux' | ||||
|       timeout-minutes: 420 | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
							
								
								
									
										230
									
								
								.github/workflows/generated-linux-binary-libtorch-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										230
									
								
								.github/workflows/generated-linux-binary-libtorch-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -316,6 +316,120 @@ jobs: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|     uses: ./.github/workflows/_binary-upload.yml | ||||
|  | ||||
|   libtorch-rocm6_3-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.3 | ||||
|       GPU_ARCH_VERSION: "6.3" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm6.3 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build_name: libtorch-rocm6_3-shared-with-deps-release | ||||
|       build_environment: linux-binary-libtorch | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|   libtorch-rocm6_3-shared-with-deps-release-test:  # Testing | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: | ||||
|       - libtorch-rocm6_3-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.3 | ||||
|       GPU_ARCH_VERSION: "6.3" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm6.3 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
|         uses: ./.github/actions/setup-rocm | ||||
|       - uses: actions/download-artifact@v4.1.7 | ||||
|         name: Download Build Artifacts | ||||
|         with: | ||||
|           name: libtorch-rocm6_3-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.3 | ||||
|           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_3-shared-with-deps-release-upload:  # Uploading | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     permissions: | ||||
|       id-token: write | ||||
|       contents: read | ||||
|     needs: libtorch-rocm6_3-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.3 | ||||
|       GPU_ARCH_VERSION: "6.3" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm6.3 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       build_name: libtorch-rocm6_3-shared-with-deps-release | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|     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 | ||||
| @ -333,7 +447,6 @@ jobs: | ||||
|       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: | ||||
| @ -430,118 +543,3 @@ jobs: | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|     uses: ./.github/workflows/_binary-upload.yml | ||||
|  | ||||
|   libtorch-rocm7_0-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.0 | ||||
|       GPU_ARCH_VERSION: "7.0" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm7.0 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       timeout-minutes: 300 | ||||
|       build_name: libtorch-rocm7_0-shared-with-deps-release | ||||
|       build_environment: linux-binary-libtorch | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|   libtorch-rocm7_0-shared-with-deps-release-test:  # Testing | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: | ||||
|       - libtorch-rocm7_0-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.0 | ||||
|       GPU_ARCH_VERSION: "7.0" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm7.0 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
|         uses: ./.github/actions/setup-rocm | ||||
|       - uses: actions/download-artifact@v4.1.7 | ||||
|         name: Download Build Artifacts | ||||
|         with: | ||||
|           name: libtorch-rocm7_0-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.0 | ||||
|           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_0-shared-with-deps-release-upload:  # Uploading | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     permissions: | ||||
|       id-token: write | ||||
|       contents: read | ||||
|     needs: libtorch-rocm7_0-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.0 | ||||
|       GPU_ARCH_VERSION: "7.0" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm7.0 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       build_name: libtorch-rocm7_0-shared-with-deps-release | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|     uses: ./.github/workflows/_binary-upload.yml | ||||
|  | ||||
							
								
								
									
										87
									
								
								.github/workflows/generated-linux-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								.github/workflows/generated-linux-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,87 @@ | ||||
| # @generated DO NOT EDIT MANUALLY | ||||
|  | ||||
| # Template is at:    .github/templates/linux_binary_build_workflow.yml.j2 | ||||
| # Generation script: .github/scripts/generate_ci_workflows.py | ||||
| name: linux-binary-libtorch-release | ||||
|  | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|     tags: | ||||
|       - 'ciflow/trunk/*' | ||||
|   workflow_dispatch: | ||||
|  | ||||
| permissions: | ||||
|   id-token: write | ||||
|  | ||||
| env: | ||||
|   # Needed for conda builds | ||||
|   ALPINE_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine" | ||||
|   AWS_DEFAULT_REGION: us-east-1 | ||||
|   BINARY_ENV_FILE: /tmp/env | ||||
|   BUILD_ENVIRONMENT: linux-binary-libtorch-release | ||||
|   GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|   PR_NUMBER: ${{ github.event.pull_request.number }} | ||||
|   PYTORCH_FINAL_PACKAGE_DIR: /artifacts | ||||
|   PYTORCH_ROOT: /pytorch | ||||
|   SHA1: ${{ github.event.pull_request.head.sha || github.sha }} | ||||
|   SKIP_ALL_TESTS: 0 | ||||
| concurrency: | ||||
|   group: linux-binary-libtorch-release-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   get-label-type: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: get-label-type | ||||
|     uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main | ||||
|     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 }} | ||||
|   libtorch-cpu-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: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build_name: libtorch-cpu-shared-with-deps-release | ||||
|       build_environment: linux-binary-libtorch-release | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|   libtorch-cpu-shared-with-deps-release-test:  # Testing | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: | ||||
|       - libtorch-cpu-shared-with-deps-release-build | ||||
|       - get-label-type | ||||
|     uses: ./.github/workflows/_binary-test-linux.yml | ||||
|     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: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: libtorch-cxx11-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cpu | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       build_name: libtorch-cpu-shared-with-deps-release | ||||
|       build_environment: linux-binary-libtorch-release | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.4xlarge | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										88
									
								
								.github/workflows/generated-linux-binary-manywheel-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								.github/workflows/generated-linux-binary-manywheel-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,88 @@ | ||||
| # @generated DO NOT EDIT MANUALLY | ||||
|  | ||||
| # Template is at:    .github/templates/linux_binary_build_workflow.yml.j2 | ||||
| # Generation script: .github/scripts/generate_ci_workflows.py | ||||
| name: linux-binary-manywheel | ||||
|  | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|     tags: | ||||
|       - 'ciflow/trunk/*' | ||||
|   workflow_dispatch: | ||||
|  | ||||
| permissions: | ||||
|   id-token: write | ||||
|  | ||||
| env: | ||||
|   # Needed for conda builds | ||||
|   ALPINE_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine" | ||||
|   AWS_DEFAULT_REGION: us-east-1 | ||||
|   BINARY_ENV_FILE: /tmp/env | ||||
|   BUILD_ENVIRONMENT: linux-binary-manywheel | ||||
|   GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|   PR_NUMBER: ${{ github.event.pull_request.number }} | ||||
|   PYTORCH_FINAL_PACKAGE_DIR: /artifacts | ||||
|   PYTORCH_ROOT: /pytorch | ||||
|   SHA1: ${{ github.event.pull_request.head.sha || github.sha }} | ||||
|   SKIP_ALL_TESTS: 0 | ||||
| concurrency: | ||||
|   group: linux-binary-manywheel-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   get-label-type: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: get-label-type | ||||
|     uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main | ||||
|     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 }} | ||||
|   manywheel-py3_12-cuda12_8-build: | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     uses: ./.github/workflows/_binary-build-linux.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       PYTORCH_ROOT: /pytorch | ||||
|       PACKAGE_TYPE: manywheel | ||||
|       # TODO: This is a legacy variable that we eventually want to get rid of in | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cu128 | ||||
|       GPU_ARCH_VERSION: "12.8" | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: manylinux2_28-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build_name: manywheel-py3_12-cuda12_8 | ||||
|       build_environment: linux-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.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' | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|   manywheel-py3_12-cuda12_8-test:  # Testing | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: | ||||
|       - manywheel-py3_12-cuda12_8-build | ||||
|       - get-label-type | ||||
|     uses: ./.github/workflows/_binary-test-linux.yml | ||||
|     with: | ||||
|       PYTORCH_ROOT: /pytorch | ||||
|       PACKAGE_TYPE: manywheel | ||||
|       # TODO: This is a legacy variable that we eventually want to get rid of in | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cu128 | ||||
|       GPU_ARCH_VERSION: "12.8" | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: manylinux2_28-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: cuda12.8 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cuda12_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										1610
									
								
								.github/workflows/generated-linux-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1610
									
								
								.github/workflows/generated-linux-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										135
									
								
								.github/workflows/generated-linux-binary-manywheel-rocm-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								.github/workflows/generated-linux-binary-manywheel-rocm-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,135 @@ | ||||
| # @generated DO NOT EDIT MANUALLY | ||||
|  | ||||
| # Template is at:    .github/templates/linux_binary_build_workflow.yml.j2 | ||||
| # Generation script: .github/scripts/generate_ci_workflows.py | ||||
| name: linux-binary-manywheel-rocm | ||||
|  | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|     tags: | ||||
|       - 'ciflow/binaries/*' | ||||
|       - 'ciflow/binaries_wheel/*' | ||||
|       - 'ciflow/rocm/*' | ||||
|   workflow_dispatch: | ||||
|  | ||||
| permissions: | ||||
|   id-token: write | ||||
|  | ||||
| env: | ||||
|   # Needed for conda builds | ||||
|   ALPINE_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine" | ||||
|   AWS_DEFAULT_REGION: us-east-1 | ||||
|   BINARY_ENV_FILE: /tmp/env | ||||
|   BUILD_ENVIRONMENT: linux-binary-manywheel-rocm | ||||
|   GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|   PR_NUMBER: ${{ github.event.pull_request.number }} | ||||
|   PYTORCH_FINAL_PACKAGE_DIR: /artifacts | ||||
|   PYTORCH_ROOT: /pytorch | ||||
|   SHA1: ${{ github.event.pull_request.head.sha || github.sha }} | ||||
|   SKIP_ALL_TESTS: 0 | ||||
| concurrency: | ||||
|   group: linux-binary-manywheel-rocm-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   get-label-type: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: get-label-type | ||||
|     uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main | ||||
|     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 }} | ||||
|   manywheel-py3_9-rocm6_4-build: | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     uses: ./.github/workflows/_binary-build-linux.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       PYTORCH_ROOT: /pytorch | ||||
|       PACKAGE_TYPE: manywheel | ||||
|       # TODO: This is a legacy variable that we eventually want to get rid of in | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: rocm6.4 | ||||
|       GPU_ARCH_VERSION: "6.4" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: manylinux2_28-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm6.4 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build_name: manywheel-py3_9-rocm6_4 | ||||
|       build_environment: linux-binary-manywheel-rocm | ||||
|     secrets: | ||||
|       github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|   manywheel-py3_9-rocm6_4-test:  # Testing | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: | ||||
|       - manywheel-py3_9-rocm6_4-build | ||||
|       - get-label-type | ||||
|     runs-on: linux.rocm.gpu.mi250 | ||||
|     timeout-minutes: 240 | ||||
|     env: | ||||
|       PYTORCH_ROOT: /pytorch | ||||
|       PACKAGE_TYPE: manywheel | ||||
|       # TODO: This is a legacy variable that we eventually want to get rid of in | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: rocm6.4 | ||||
|       GPU_ARCH_VERSION: "6.4" | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: manylinux2_28-builder | ||||
|       DOCKER_IMAGE_TAG_PREFIX: rocm6.4 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
|         uses: ./.github/actions/setup-rocm | ||||
|       - uses: actions/download-artifact@v4.1.7 | ||||
|         name: Download Build Artifacts | ||||
|         with: | ||||
|           name: manywheel-py3_9-rocm6_4 | ||||
|           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: manylinux2_28-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 | ||||
							
								
								
									
										261
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,261 @@ | ||||
| # @generated DO NOT EDIT MANUALLY | ||||
|  | ||||
| # Template is at:    .github/templates/windows_binary_build_workflow.yml.j2 | ||||
| # Generation script: .github/scripts/generate_ci_workflows.py | ||||
| name: windows-binary-libtorch-debug | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|   workflow_dispatch: | ||||
|  | ||||
| env: | ||||
|   # Needed for conda builds | ||||
|   ALPINE_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine" | ||||
|   AWS_DEFAULT_REGION: us-east-1 | ||||
|   BUILD_ENVIRONMENT: windows-binary-libtorch-debug | ||||
|   GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|   PR_NUMBER: ${{ github.event.pull_request.number }} | ||||
|   SHA1: ${{ github.event.pull_request.head.sha || github.sha }} | ||||
|   SKIP_ALL_TESTS: 1 | ||||
|   OS: windows | ||||
| concurrency: | ||||
|   group: windows-binary-libtorch-debug-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   get-label-type: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: get-label-type | ||||
|     uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main | ||||
|     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 }} | ||||
|   libtorch-cpu-shared-with-deps-debug-build: | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: get-label-type | ||||
|     runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" | ||||
|     timeout-minutes: 360 | ||||
|     env: | ||||
|       PYTORCH_ROOT: ${{ github.workspace }}/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: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       LIBTORCH_CONFIG: debug | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       # This is a dummy value for libtorch to work correctly with our batch scripts | ||||
|       # without this value pip does not get installed for some reason | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|     steps: | ||||
|       # NOTE: These environment variables are put here so that they can be applied on every job equally | ||||
|       #       They are also here because setting them at a workflow level doesn't give us access to the | ||||
|       #       runner.temp variable, which we need. | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}" | ||||
|           echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}" | ||||
|           echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}" | ||||
|       - name: Display EC2 information | ||||
|         shell: bash | ||||
|         run: | | ||||
|           set -euo pipefail | ||||
|           function get_ec2_metadata() { | ||||
|             # Pulled from instance metadata endpoint for EC2 | ||||
|             # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html | ||||
|             category=$1 | ||||
|             curl -H "X-aws-ec2-metadata-token: $(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")" -fsSL "http://169.254.169.254/latest/meta-data/${category}" | ||||
|           } | ||||
|           echo "ami-id: $(get_ec2_metadata ami-id)" | ||||
|           echo "instance-id: $(get_ec2_metadata instance-id)" | ||||
|           echo "instance-type: $(get_ec2_metadata instance-type)" | ||||
|           echo "system info $(uname -a)" | ||||
|       - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)" | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon | ||||
|         shell: bash | ||||
|         run: | | ||||
|           git config --global core.longpaths true | ||||
|           git config --global core.symlinks true | ||||
|  | ||||
|           # https://git-scm.com/docs/git-fsmonitor--daemon.  The daemon could lock | ||||
|           # the directory on Windows and prevent GHA from checking out as reported | ||||
|           # in https://github.com/actions/checkout/issues/1018 | ||||
|           git config --global core.fsmonitor false | ||||
|       # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560 | ||||
|       - name: Enable long paths on Windows | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 | ||||
|       # Since it's just a defensive command, the workflow should continue even the command fails. This step can be | ||||
|       # removed once Windows Defender is removed from the AMI | ||||
|       - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch | ||||
|         continue-on-error: true | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore | ||||
|           # Let's both exclude the path and disable Windows Defender completely just to be sure | ||||
|           # that it doesn't interfere | ||||
|           Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore | ||||
|       - 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: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh" | ||||
|       - name: Build PyTorch binary | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_build.sh" | ||||
|       - uses: actions/upload-artifact@v4.4.0 | ||||
|         if: always() | ||||
|         with: | ||||
|           name: libtorch-cpu-shared-with-deps-debug | ||||
|           retention-days: 14 | ||||
|           if-no-files-found: error | ||||
|           path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}" | ||||
|       - name: Wait until all sessions have drained | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         timeout-minutes: 120 | ||||
|         run: | | ||||
|           .github\scripts\wait_for_ssh_to_drain.ps1 | ||||
|       - name: Kill active ssh sessions if still around (Useful if workflow was cancelled) | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         run: | | ||||
|           .github\scripts\kill_active_ssh_sessions.ps1 | ||||
|  | ||||
|   libtorch-cpu-shared-with-deps-debug-test:  # Testing | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: | ||||
|       - libtorch-cpu-shared-with-deps-debug-build | ||||
|       - get-label-type | ||||
|     runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" | ||||
|     timeout-minutes: 360 | ||||
|     env: | ||||
|       PYTORCH_ROOT: ${{ github.workspace }}/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: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       LIBTORCH_CONFIG: debug | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       # This is a dummy value for libtorch to work correctly with our batch scripts | ||||
|       # without this value pip does not get installed for some reason | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|     steps: | ||||
|       - name: Display EC2 information | ||||
|         shell: bash | ||||
|         run: | | ||||
|           set -euo pipefail | ||||
|           function get_ec2_metadata() { | ||||
|             # Pulled from instance metadata endpoint for EC2 | ||||
|             # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html | ||||
|             category=$1 | ||||
|             curl -H "X-aws-ec2-metadata-token: $(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")" -fsSL "http://169.254.169.254/latest/meta-data/${category}" | ||||
|           } | ||||
|           echo "ami-id: $(get_ec2_metadata ami-id)" | ||||
|           echo "instance-id: $(get_ec2_metadata instance-id)" | ||||
|           echo "instance-type: $(get_ec2_metadata instance-type)" | ||||
|           echo "system info $(uname -a)" | ||||
|       - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)" | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon | ||||
|         shell: bash | ||||
|         run: | | ||||
|           git config --global core.longpaths true | ||||
|           git config --global core.symlinks true | ||||
|  | ||||
|           # https://git-scm.com/docs/git-fsmonitor--daemon.  The daemon could lock | ||||
|           # the directory on Windows and prevent GHA from checking out as reported | ||||
|           # in https://github.com/actions/checkout/issues/1018 | ||||
|           git config --global core.fsmonitor false | ||||
|       # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560 | ||||
|       - name: Enable long paths on Windows | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 | ||||
|       # Since it's just a defensive command, the workflow should continue even the command fails. This step can be | ||||
|       # removed once Windows Defender is removed from the AMI | ||||
|       - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch | ||||
|         continue-on-error: true | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore | ||||
|           # Let's both exclude the path and disable Windows Defender completely just to be sure | ||||
|           # that it doesn't interfere | ||||
|           Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore | ||||
|       - 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 | ||||
|       # NOTE: These environment variables are put here so that they can be applied on every job equally | ||||
|       #       They are also here because setting them at a workflow level doesn't give us access to the | ||||
|       #       runner.temp variable, which we need. | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}" | ||||
|           echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}" | ||||
|           echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}" | ||||
|       - uses: actions/download-artifact@v4.1.7 | ||||
|         name: Download Build Artifacts | ||||
|         with: | ||||
|           name: libtorch-cpu-shared-with-deps-debug | ||||
|           path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}" | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh" | ||||
|       - name: Test PyTorch binary | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_test.sh" | ||||
|       - name: Wait until all sessions have drained | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         timeout-minutes: 120 | ||||
|         run: | | ||||
|           .github\scripts\wait_for_ssh_to_drain.ps1 | ||||
|       - name: Kill active ssh sessions if still around (Useful if workflow was cancelled) | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         run: | | ||||
|           .github\scripts\kill_active_ssh_sessions.ps1 | ||||
							
								
								
									
										261
									
								
								.github/workflows/generated-windows-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								.github/workflows/generated-windows-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,261 @@ | ||||
| # @generated DO NOT EDIT MANUALLY | ||||
|  | ||||
| # Template is at:    .github/templates/windows_binary_build_workflow.yml.j2 | ||||
| # Generation script: .github/scripts/generate_ci_workflows.py | ||||
| name: windows-binary-libtorch-release | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|   workflow_dispatch: | ||||
|  | ||||
| env: | ||||
|   # Needed for conda builds | ||||
|   ALPINE_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine" | ||||
|   AWS_DEFAULT_REGION: us-east-1 | ||||
|   BUILD_ENVIRONMENT: windows-binary-libtorch-release | ||||
|   GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|   PR_NUMBER: ${{ github.event.pull_request.number }} | ||||
|   SHA1: ${{ github.event.pull_request.head.sha || github.sha }} | ||||
|   SKIP_ALL_TESTS: 1 | ||||
|   OS: windows | ||||
| concurrency: | ||||
|   group: windows-binary-libtorch-release-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   get-label-type: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: get-label-type | ||||
|     uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main | ||||
|     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 }} | ||||
|   libtorch-cpu-shared-with-deps-release-build: | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: get-label-type | ||||
|     runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" | ||||
|     timeout-minutes: 360 | ||||
|     env: | ||||
|       PYTORCH_ROOT: ${{ github.workspace }}/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: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       # This is a dummy value for libtorch to work correctly with our batch scripts | ||||
|       # without this value pip does not get installed for some reason | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|     steps: | ||||
|       # NOTE: These environment variables are put here so that they can be applied on every job equally | ||||
|       #       They are also here because setting them at a workflow level doesn't give us access to the | ||||
|       #       runner.temp variable, which we need. | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}" | ||||
|           echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}" | ||||
|           echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}" | ||||
|       - name: Display EC2 information | ||||
|         shell: bash | ||||
|         run: | | ||||
|           set -euo pipefail | ||||
|           function get_ec2_metadata() { | ||||
|             # Pulled from instance metadata endpoint for EC2 | ||||
|             # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html | ||||
|             category=$1 | ||||
|             curl -H "X-aws-ec2-metadata-token: $(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")" -fsSL "http://169.254.169.254/latest/meta-data/${category}" | ||||
|           } | ||||
|           echo "ami-id: $(get_ec2_metadata ami-id)" | ||||
|           echo "instance-id: $(get_ec2_metadata instance-id)" | ||||
|           echo "instance-type: $(get_ec2_metadata instance-type)" | ||||
|           echo "system info $(uname -a)" | ||||
|       - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)" | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon | ||||
|         shell: bash | ||||
|         run: | | ||||
|           git config --global core.longpaths true | ||||
|           git config --global core.symlinks true | ||||
|  | ||||
|           # https://git-scm.com/docs/git-fsmonitor--daemon.  The daemon could lock | ||||
|           # the directory on Windows and prevent GHA from checking out as reported | ||||
|           # in https://github.com/actions/checkout/issues/1018 | ||||
|           git config --global core.fsmonitor false | ||||
|       # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560 | ||||
|       - name: Enable long paths on Windows | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 | ||||
|       # Since it's just a defensive command, the workflow should continue even the command fails. This step can be | ||||
|       # removed once Windows Defender is removed from the AMI | ||||
|       - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch | ||||
|         continue-on-error: true | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore | ||||
|           # Let's both exclude the path and disable Windows Defender completely just to be sure | ||||
|           # that it doesn't interfere | ||||
|           Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore | ||||
|       - 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: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh" | ||||
|       - name: Build PyTorch binary | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_build.sh" | ||||
|       - uses: actions/upload-artifact@v4.4.0 | ||||
|         if: always() | ||||
|         with: | ||||
|           name: libtorch-cpu-shared-with-deps-release | ||||
|           retention-days: 14 | ||||
|           if-no-files-found: error | ||||
|           path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}" | ||||
|       - name: Wait until all sessions have drained | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         timeout-minutes: 120 | ||||
|         run: | | ||||
|           .github\scripts\wait_for_ssh_to_drain.ps1 | ||||
|       - name: Kill active ssh sessions if still around (Useful if workflow was cancelled) | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         run: | | ||||
|           .github\scripts\kill_active_ssh_sessions.ps1 | ||||
|  | ||||
|   libtorch-cpu-shared-with-deps-release-test:  # Testing | ||||
|     if: ${{ github.repository_owner == 'pytorch' }} | ||||
|     needs: | ||||
|       - libtorch-cpu-shared-with-deps-release-build | ||||
|       - get-label-type | ||||
|     runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" | ||||
|     timeout-minutes: 360 | ||||
|     env: | ||||
|       PYTORCH_ROOT: ${{ github.workspace }}/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: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       LIBTORCH_CONFIG: release | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       # This is a dummy value for libtorch to work correctly with our batch scripts | ||||
|       # without this value pip does not get installed for some reason | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|     steps: | ||||
|       - name: Display EC2 information | ||||
|         shell: bash | ||||
|         run: | | ||||
|           set -euo pipefail | ||||
|           function get_ec2_metadata() { | ||||
|             # Pulled from instance metadata endpoint for EC2 | ||||
|             # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html | ||||
|             category=$1 | ||||
|             curl -H "X-aws-ec2-metadata-token: $(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")" -fsSL "http://169.254.169.254/latest/meta-data/${category}" | ||||
|           } | ||||
|           echo "ami-id: $(get_ec2_metadata ami-id)" | ||||
|           echo "instance-id: $(get_ec2_metadata instance-id)" | ||||
|           echo "instance-type: $(get_ec2_metadata instance-type)" | ||||
|           echo "system info $(uname -a)" | ||||
|       - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)" | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon | ||||
|         shell: bash | ||||
|         run: | | ||||
|           git config --global core.longpaths true | ||||
|           git config --global core.symlinks true | ||||
|  | ||||
|           # https://git-scm.com/docs/git-fsmonitor--daemon.  The daemon could lock | ||||
|           # the directory on Windows and prevent GHA from checking out as reported | ||||
|           # in https://github.com/actions/checkout/issues/1018 | ||||
|           git config --global core.fsmonitor false | ||||
|       # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560 | ||||
|       - name: Enable long paths on Windows | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 | ||||
|       # Since it's just a defensive command, the workflow should continue even the command fails. This step can be | ||||
|       # removed once Windows Defender is removed from the AMI | ||||
|       - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch | ||||
|         continue-on-error: true | ||||
|         shell: powershell | ||||
|         run: | | ||||
|           Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore | ||||
|           # Let's both exclude the path and disable Windows Defender completely just to be sure | ||||
|           # that it doesn't interfere | ||||
|           Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore | ||||
|       - 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 | ||||
|       # NOTE: These environment variables are put here so that they can be applied on every job equally | ||||
|       #       They are also here because setting them at a workflow level doesn't give us access to the | ||||
|       #       runner.temp variable, which we need. | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}" | ||||
|           echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}" | ||||
|           echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}" | ||||
|       - uses: actions/download-artifact@v4.1.7 | ||||
|         name: Download Build Artifacts | ||||
|         with: | ||||
|           name: libtorch-cpu-shared-with-deps-release | ||||
|           path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}" | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh" | ||||
|       - name: Test PyTorch binary | ||||
|         shell: bash | ||||
|         run: | | ||||
|           "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_test.sh" | ||||
|       - name: Wait until all sessions have drained | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         timeout-minutes: 120 | ||||
|         run: | | ||||
|           .github\scripts\wait_for_ssh_to_drain.ps1 | ||||
|       - name: Kill active ssh sessions if still around (Useful if workflow was cancelled) | ||||
|         shell: powershell | ||||
|         working-directory: pytorch | ||||
|         if: always() | ||||
|         run: | | ||||
|           .github\scripts\kill_active_ssh_sessions.ps1 | ||||
							
								
								
									
										8
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							| @ -31,8 +31,6 @@ jobs: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: Get changed files | ||||
|     uses: ./.github/workflows/_get-changed-files.yml | ||||
|     with: | ||||
|       all_files: ${{ contains(github.event.pull_request.labels.*.name, 'lint-all-files') || contains(github.event.pull_request.labels.*.name, 'Reverted') }} | ||||
|  | ||||
|   lintrunner-clang: | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main | ||||
| @ -55,7 +53,7 @@ jobs: | ||||
|     with: | ||||
|       timeout: 120 | ||||
|       runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" | ||||
|       docker-image: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter | ||||
|       docker-image: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter | ||||
|       # NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout | ||||
|       # to run git rev-parse HEAD~:.ci/docker when a new image is needed | ||||
|       fetch-depth: 0 | ||||
| @ -266,10 +264,10 @@ jobs: | ||||
|         with: | ||||
|           submodules: false | ||||
|           fetch-depth: 1 | ||||
|       - name: Setup Python 3.10 | ||||
|       - name: Setup Python 3.9 | ||||
|         uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 | ||||
|         with: | ||||
|           python-version: '3.10' | ||||
|           python-version: '3.9' | ||||
|           architecture: x64 | ||||
|           cache: pip | ||||
|       - name: Install dependencies | ||||
|  | ||||
							
								
								
									
										46
									
								
								.github/workflows/operator_microbenchmark_b200.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								.github/workflows/operator_microbenchmark_b200.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| name: operator_microbenchmark_b200 | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
|       - ciflow/op-benchmark/* | ||||
|   workflow_dispatch: | ||||
|   schedule: | ||||
|     # Run at 06:00 UTC everyday | ||||
|     - cron: 0 6 * * * | ||||
|  | ||||
| concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| permissions: | ||||
|   id-token: write | ||||
|   contents: read | ||||
|  | ||||
| jobs: | ||||
|   opmicrobenchmark-build: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: opmicrobenchmark-build | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     with: | ||||
|       runner: linux.12xlarge.memory | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm80 | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11 | ||||
|       cuda-arch-list: '10.0' | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "operator_microbenchmark_test", shard: 1, num_shards: 1, runner: "linux.dgx.b200" }, | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
|   opmicrobenchmark-test: | ||||
|     name: opmicrobenchmark-test | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: opmicrobenchmark-build | ||||
|     with: | ||||
|       timeout-minutes: 500 | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm80 | ||||
|       docker-image: ${{ needs.opmicrobenchmark-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.opmicrobenchmark-build.outputs.test-matrix }} | ||||
|       aws-role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only | ||||
|     secrets: inherit | ||||
							
								
								
									
										29
									
								
								.github/workflows/periodic.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/workflows/periodic.yml
									
									
									
									
										vendored
									
									
								
							| @ -59,14 +59,13 @@ jobs: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-cuda12.4-py3.10-gcc11 | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-cuda12.4-cudnn9-py3-gcc11 | ||||
|       cuda-arch-list: 7.5 | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "legacy_nvidia_driver", shard: 1, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 2, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 3, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 4, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 5, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 1, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 2, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 3, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 4, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" }, | ||||
|           { config: "legacy_nvidia_driver", shard: 5, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" }, | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
| @ -113,13 +112,13 @@ jobs: | ||||
|       test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-cuda12_8-py3_10-gcc9-build: | ||||
|     name: linux-jammy-cuda12.8-py3.10-gcc9 | ||||
|   linux-jammy-cuda12_8-py3_9-gcc9-build: | ||||
|     name: linux-jammy-cuda12.8-py3.9-gcc9 | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc9 | ||||
|       build-environment: linux-jammy-cuda12.8-py3.9-gcc9 | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9 | ||||
|       cuda-arch-list: 8.6 | ||||
|       test-matrix: | | ||||
| @ -129,14 +128,14 @@ jobs: | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-cuda12_8-py3_10-gcc9-test: | ||||
|     name: linux-jammy-cuda12.8-py3.10-gcc9 | ||||
|   linux-jammy-cuda12_8-py3_9-gcc9-test: | ||||
|     name: linux-jammy-cuda12.8-py3.9-gcc9 | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: linux-jammy-cuda12_8-py3_10-gcc9-build | ||||
|     needs: linux-jammy-cuda12_8-py3_9-gcc9-build | ||||
|     with: | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc9 | ||||
|       docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-build.outputs.test-matrix }} | ||||
|       build-environment: linux-jammy-cuda12.8-py3.9-gcc9 | ||||
|       docker-image: ${{ needs.linux-jammy-cuda12_8-py3_9-gcc9-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_9-gcc9-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-cuda12_8-py3_10-gcc9-debug-build: | ||||
|  | ||||
							
								
								
									
										34
									
								
								.github/workflows/pull.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								.github/workflows/pull.yml
									
									
									
									
										vendored
									
									
								
							| @ -127,8 +127,6 @@ jobs: | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       # More memory is needed to build with asan | ||||
|       runner: linux.2xlarge.memory | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-py3.10-clang18-asan | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-py3-clang18-asan | ||||
| @ -318,6 +316,32 @@ jobs: | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-py3-clang12-executorch-build: | ||||
|     if: false  # Docker build needs pin update | ||||
|     name: linux-jammy-py3-clang12-executorch | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-py3-clang12-executorch | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-py3-clang12-executorch | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "executorch", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" }, | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-py3-clang12-executorch-test: | ||||
|     name: linux-jammy-py3-clang12-executorch | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: linux-jammy-py3-clang12-executorch-build | ||||
|     if: false # Has been broken for a while | ||||
|     with: | ||||
|       build-environment: linux-jammy-py3-clang12-executorch | ||||
|       docker-image: ${{ needs.linux-jammy-py3-clang12-executorch-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-py3-clang12-executorch-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-cuda12_8-py3_10-gcc9-inductor-build: | ||||
|     name: cuda12.8-py3.10-gcc9-sm75 | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
| @ -343,14 +367,14 @@ jobs: | ||||
|       test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-xpu-n-py3_10-build: | ||||
|     name: linux-jammy-xpu-n-py3.10 | ||||
|   linux-jammy-xpu-n-py3_9-build: | ||||
|     name: linux-jammy-xpu-n-py3.9 | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       sync-tag: linux-xpu-n-build | ||||
|       runner_prefix: ${{ needs.get-label-type.outputs.label-type }} | ||||
|       build-environment: linux-jammy-xpu-n-py3.10 | ||||
|       build-environment: linux-jammy-xpu-n-py3.9 | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-xpu-n-py3 | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|  | ||||
							
								
								
									
										54
									
								
								.github/workflows/quantization-periodic.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										54
									
								
								.github/workflows/quantization-periodic.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,54 +0,0 @@ | ||||
| name: quantization-periodic | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
|       - ciflow/quantization-periodic/* | ||||
|   workflow_dispatch: | ||||
|   schedule: | ||||
|     # run weekly | ||||
|     - cron: "45 0 * * 0" | ||||
|  | ||||
| concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| permissions: | ||||
|   id-token: write | ||||
|   contents: read | ||||
|  | ||||
| jobs: | ||||
|   get-default-label-prefix: | ||||
|     name: get-default-label-prefix | ||||
|     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 | ||||
|  | ||||
|   periodic-quantization-build: | ||||
|     name: periodic-quantization-build | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-default-label-prefix | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-default-label-prefix.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-cuda12.8-cudnn9-py3-gcc11 | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11 | ||||
|       cuda-arch-list: '8.9' | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "quantization", shard: 1, num_shards: 1, runner: "${{ needs.get-default-label-prefix.outputs.label-type }}linux.g6.4xlarge.experimental.nvidia.gpu" }, | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|   periodic-test-quantization: | ||||
|     name: periodic-test-quantization | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: periodic-quantization-build | ||||
|     with: | ||||
|       build-environment: linux-jammy-cuda12.8-cudnn9-py3-gcc11 | ||||
|       docker-image: ${{ needs.periodic-quantization-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.periodic-quantization-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
							
								
								
									
										2
									
								
								.github/workflows/rocm-mi355.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/rocm-mi355.yml
									
									
									
									
										vendored
									
									
								
							| @ -38,7 +38,7 @@ jobs: | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-noble-rocm-py3.12-mi355 | ||||
|       docker-image-name: ci-image:pytorch-linux-noble-rocm-n-py3 | ||||
|       docker-image-name: ci-image:pytorch-linux-noble-rocm-alpha-py3 | ||||
|       sync-tag: rocm-build | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/slow.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/slow.yml
									
									
									
									
										vendored
									
									
								
							| @ -140,8 +140,6 @@ jobs: | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       # More memory is needed to build with asan | ||||
|       runner: linux.2xlarge.memory | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-py3.10-clang18-asan | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-py3-clang18-asan | ||||
|  | ||||
							
								
								
									
										76
									
								
								.github/workflows/test-b200.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										76
									
								
								.github/workflows/test-b200.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,76 +0,0 @@ | ||||
| # B200 Smoke Tests CI Workflow | ||||
| # | ||||
| # This workflow runs smoke tests on B200 hardware | ||||
| # | ||||
| # Flow: | ||||
| # 1. Builds PyTorch with CUDA 12.8+ and sm100 architecture for B200 | ||||
| # 2. Runs smoke tests on linux.dgx.b200 runner | ||||
| # 3. Tests executed are defined in .ci/pytorch/test.sh -> test_python_smoke() function | ||||
| # | ||||
| # Triggered by: | ||||
| # - Pull requests modifying this workflow file | ||||
| # - Manual dispatch | ||||
| # - Schedule (every 6 hours) | ||||
| # - Adding ciflow/b200 label to a PR (creates ciflow/b200/* tag) | ||||
|  | ||||
| name: B200 Smoke Tests | ||||
|  | ||||
| on: | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - .github/workflows/test-b200.yml | ||||
|   workflow_dispatch: | ||||
|   schedule: | ||||
|     - cron: 0 4,10,16,22 * * *  # every 6 hours | ||||
|   push: | ||||
|     tags: | ||||
|       - ciflow/b200/* | ||||
|  | ||||
| concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| permissions: | ||||
|   id-token: write | ||||
|   contents: read | ||||
|  | ||||
| jobs: | ||||
|  | ||||
|   get-label-type: | ||||
|     if: github.repository_owner == 'pytorch' | ||||
|     name: get-label-type | ||||
|     uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main | ||||
|     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-cuda12_8-py3_10-gcc11-sm100-build: | ||||
|     name: linux-jammy-cuda12.8-py3.10-gcc11-sm100 | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       runner: linux.12xlarge.memory | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm100 | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11 | ||||
|       cuda-arch-list: '10.0' | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "smoke_b200", shard: 1, num_shards: 1, runner: "linux.dgx.b200" }, | ||||
|         ]} | ||||
|       # config: "smoke_b200" maps to test_python_smoke_b200() in .ci/pytorch/test.sh | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-cuda12_8-py3_10-gcc11-sm100-test: | ||||
|     name: linux-jammy-cuda12.8-py3.10-gcc11-sm100 | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: | ||||
|       - linux-jammy-cuda12_8-py3_10-gcc11-sm100-build | ||||
|     with: | ||||
|       build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm100 | ||||
|       docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-sm100-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-sm100-build.outputs.test-matrix }} | ||||
|       aws-role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only | ||||
|     secrets: inherit | ||||
							
								
								
									
										24
									
								
								.github/workflows/trunk.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/trunk.yml
									
									
									
									
										vendored
									
									
								
							| @ -259,27 +259,3 @@ jobs: | ||||
|       docker-image: ${{ needs.verify-cachebench-cpu-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.verify-cachebench-cpu-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-py3-clang12-executorch-build: | ||||
|     name: linux-jammy-py3-clang12-executorch | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-py3-clang12-executorch | ||||
|       docker-image-name: ci-image:pytorch-linux-jammy-py3-clang12-executorch | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "executorch", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" }, | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-py3-clang12-executorch-test: | ||||
|     name: linux-jammy-py3-clang12-executorch | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: linux-jammy-py3-clang12-executorch-build | ||||
|     with: | ||||
|       build-environment: linux-jammy-py3-clang12-executorch | ||||
|       docker-image: ${{ needs.linux-jammy-py3-clang12-executorch-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-py3-clang12-executorch-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
|  | ||||
							
								
								
									
										24
									
								
								.github/workflows/unstable.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/unstable.yml
									
									
									
									
										vendored
									
									
								
							| @ -53,3 +53,27 @@ jobs: | ||||
|       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-py3_9-clang9-xla-build: | ||||
|     name: linux-jammy-py3_9-clang9-xla | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       runner_prefix: "${{ needs.get-label-type.outputs.label-type }}" | ||||
|       build-environment: linux-jammy-py3.9-clang9-xla | ||||
|       docker-image-name: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/xla_base:v1.3-lite | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
|           { config: "xla", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.12xlarge" }, | ||||
|         ]} | ||||
|     secrets: inherit | ||||
|  | ||||
|   linux-jammy-py3_9-clang9-xla-test: | ||||
|     name: linux-jammy-py3_9-clang9-xla | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: linux-jammy-py3_9-clang9-xla-build | ||||
|     with: | ||||
|       build-environment: linux-jammy-py3.9-clang9-xla | ||||
|       docker-image: ${{ needs.linux-jammy-py3_9-clang9-xla-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-py3_9-clang9-xla-build.outputs.test-matrix }} | ||||
|     secrets: inherit | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/vllm.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/vllm.yml
									
									
									
									
										vendored
									
									
								
							| @ -36,8 +36,6 @@ jobs: | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     needs: get-label-type | ||||
|     with: | ||||
|       # When building vLLM, uv doesn't like that we rename wheel without changing the wheel metadata | ||||
|       allow-reuse-old-whl: false | ||||
|       build-additional-packages: "vision audio" | ||||
|       build-external-packages: "vllm" | ||||
|       build-environment: linux-jammy-cuda12.8-py3.12-gcc11 | ||||
|  | ||||
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -82,7 +82,6 @@ torch/return_types.pyi | ||||
| torch/nn/functional.pyi | ||||
| torch/utils/data/datapipes/datapipe.pyi | ||||
| torch/csrc/autograd/generated/* | ||||
| torch/csrc/functionalization/generated/* | ||||
| torch/csrc/lazy/generated/*.[!m]* | ||||
| torch_compile_debug/ | ||||
| # Listed manually because some files in this directory are not generated | ||||
| @ -260,9 +259,6 @@ gen | ||||
| .pytest_cache | ||||
| aten/build/* | ||||
|  | ||||
| # Linker scripts for prioritized text optimization | ||||
| cmake/linker_script.ld | ||||
|  | ||||
| # Bram | ||||
| plsdontbreak | ||||
|  | ||||
|  | ||||
| @ -49,7 +49,7 @@ init_command = [ | ||||
|     'mccabe==0.7.0', | ||||
|     'pycodestyle==2.14.0', | ||||
|     'pyflakes==3.4.0', | ||||
|     'torchfix==0.4.0 ; python_version >= "3.10" and python_version < "3.13"', | ||||
|     'torchfix==0.4.0 ; python_version >= "3.9" and python_version < "3.13"', | ||||
| ] | ||||
|  | ||||
|  | ||||
| @ -123,7 +123,6 @@ is_formatter = true | ||||
| code = 'MYPY' | ||||
| include_patterns = [ | ||||
|     'setup.py', | ||||
|     'functorch/dim/**/*.py', | ||||
|     'torch/**/*.py', | ||||
|     'torch/**/*.pyi', | ||||
|     'caffe2/**/*.py', | ||||
| @ -153,7 +152,7 @@ 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==1.26.4 ; python_version >= "3.9" and python_version <= "3.11"', | ||||
|     'numpy==2.1.0 ; python_version >= "3.12"', | ||||
|     'expecttest==0.3.0', | ||||
|     'mypy==1.16.0', | ||||
| @ -196,7 +195,6 @@ exclude_patterns = [ | ||||
|     'tools/test/gen_operators_yaml_test.py', | ||||
|     'tools/test/gen_oplist_test.py', | ||||
|     'tools/test/test_selective_build.py', | ||||
|     'tools/experimental/dynamic_shapes/torchfuzz/**', | ||||
| ] | ||||
| command = [ | ||||
|     'python3', | ||||
| @ -966,6 +964,7 @@ exclude_patterns = [ | ||||
|     'test/jit/**',  # should be run through test/test_jit.py | ||||
|     'test/ao/sparsity/**',  # should be run through test/test_ao_sparsity.py | ||||
|     'test/fx/**',  # should be run through test/test_fx.py | ||||
|     'test/bottleneck_test/**',  # excluded by test/run_test.py | ||||
|     'test/package/**',  # excluded by test/run_test.py | ||||
|     'test/distributed/argparse_util_test.py', | ||||
|     'test/distributed/bin/test_script.py', | ||||
| @ -1411,6 +1410,8 @@ exclude_patterns = [ | ||||
|     'torch/utils/benchmark/utils/timer.py', | ||||
|     'torch/utils/benchmark/utils/valgrind_wrapper/__init__.py', | ||||
|     'torch/utils/benchmark/utils/valgrind_wrapper/timer_interface.py', | ||||
|     'torch/utils/bottleneck/__init__.py', | ||||
|     'torch/utils/bottleneck/__main__.py', | ||||
|     'torch/utils/bundled_inputs.py', | ||||
|     'torch/utils/checkpoint.py', | ||||
|     'torch/utils/collect_env.py', | ||||
| @ -1453,7 +1454,7 @@ init_command = [ | ||||
|     '--dry-run={{DRYRUN}}', | ||||
|     'usort==1.0.8.post1', | ||||
|     'isort==6.0.1', | ||||
|     'ruff==0.13.1',  # sync with RUFF | ||||
|     'ruff==0.12.9',  # sync with RUFF | ||||
| ] | ||||
| is_formatter = true | ||||
|  | ||||
| @ -1587,7 +1588,7 @@ init_command = [ | ||||
|     'python3', | ||||
|     'tools/linter/adapters/pip_init.py', | ||||
|     '--dry-run={{DRYRUN}}', | ||||
|     'ruff==0.13.1',  # sync with PYFMT | ||||
|     'ruff==0.12.9',  # sync with PYFMT | ||||
| ] | ||||
| is_formatter = true | ||||
|  | ||||
|  | ||||
							
								
								
									
										37
									
								
								BUILD.bazel
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								BUILD.bazel
									
									
									
									
									
								
							| @ -22,7 +22,6 @@ COMMON_COPTS = [ | ||||
|     "-DHAVE_SHM_UNLINK=1", | ||||
|     "-D_FILE_OFFSET_BITS=64", | ||||
|     "-DUSE_FBGEMM", | ||||
|     "-DUSE_DISTRIBUTED", | ||||
|     "-DAT_PER_OPERATOR_HEADERS", | ||||
|     "-DATEN_THREADING=NATIVE", | ||||
|     "-DNO_CUDNN_DESTROY_HANDLE", | ||||
| @ -91,8 +90,6 @@ generated_cpu_cpp = [ | ||||
|     "aten/src/ATen/NativeMetaFunctions.h", | ||||
|     "aten/src/ATen/RegistrationDeclarations.h", | ||||
|     "aten/src/ATen/VmapGeneratedPlumbing.h", | ||||
|     "aten/src/ATen/ViewMetaClasses.h", | ||||
|     "aten/src/ATen/ViewMetaClasses.cpp", | ||||
|     "aten/src/ATen/core/aten_interned_strings.h", | ||||
|     "aten/src/ATen/core/enum_tag.h", | ||||
|     "aten/src/ATen/core/TensorBody.h", | ||||
| @ -813,7 +810,7 @@ cc_library( | ||||
|     name = "torch_python", | ||||
|     srcs = libtorch_python_core_sources | ||||
|         + if_cuda(libtorch_python_cuda_sources) | ||||
|         + if_cuda(libtorch_python_distributed_sources) | ||||
|         + libtorch_python_distributed_sources | ||||
|         + GENERATED_AUTOGRAD_PYTHON, | ||||
|     hdrs = glob([ | ||||
|         "torch/csrc/generic/*.cpp", | ||||
| @ -835,6 +832,36 @@ pybind_extension( | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| cc_library( | ||||
|     name = "functorch", | ||||
|     hdrs = glob([ | ||||
|         "functorch/csrc/dim/*.h", | ||||
|     ]), | ||||
|     srcs = glob([ | ||||
|         "functorch/csrc/dim/*.cpp", | ||||
|     ]), | ||||
|     deps = [ | ||||
|         ":aten_nvrtc", | ||||
|         ":torch_python", | ||||
|         "@pybind11", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| pybind_extension( | ||||
|     name = "functorch/_C", | ||||
|     copts=[ | ||||
|         "-DTORCH_EXTENSION_NAME=_C" | ||||
|     ], | ||||
|     srcs = [ | ||||
|         "functorch/csrc/init_dim_only.cpp", | ||||
|     ], | ||||
|     deps = [ | ||||
|         ":functorch", | ||||
|         ":torch_python", | ||||
|         ":aten_nvrtc", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| cc_binary( | ||||
|     name = "torch/bin/torch_shm_manager", | ||||
|     srcs = [ | ||||
| @ -875,6 +902,7 @@ py_library( | ||||
|     ], | ||||
|     data = [ | ||||
|         ":torch/_C.so", | ||||
|         ":functorch/_C.so", | ||||
|         ":torch/bin/torch_shm_manager", | ||||
|     ], | ||||
| ) | ||||
| @ -1077,7 +1105,6 @@ test_suite( | ||||
|         "aten/src/ATen/templates/LazyNonNativeIr.h", | ||||
|         "aten/src/ATen/templates/RegisterDispatchKey.cpp", | ||||
|         "aten/src/ATen/templates/RegisterDispatchDefinitions.ini", | ||||
|         "aten/src/ATen/templates/ViewMetaClassesPythonBinding.cpp", | ||||
|         "aten/src/ATen/native/native_functions.yaml", | ||||
|         "aten/src/ATen/native/tags.yaml", | ||||
|         "aten/src/ATen/native/ts_native_functions.yaml", | ||||
|  | ||||
							
								
								
									
										108
									
								
								CMakeLists.txt
									
									
									
									
									
								
							
							
						
						
									
										108
									
								
								CMakeLists.txt
									
									
									
									
									
								
							| @ -1,4 +1,5 @@ | ||||
| cmake_minimum_required(VERSION 3.27 FATAL_ERROR) | ||||
| # cmake_policy(SET CMP0022 NEW) cmake_policy(SET CMP0023 NEW) | ||||
|  | ||||
| # Use compiler ID "AppleClang" instead of "Clang" for XCode. Not setting this | ||||
| # sometimes makes XCode C compiler gets detected as "Clang", even when the C++ | ||||
| @ -180,8 +181,9 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(ppc64le)") | ||||
|   set(CPU_POWER ON) | ||||
| endif() | ||||
|  | ||||
| # For non-supported platforms, turn USE_DISTRIBUTED off by default. It is not | ||||
| # tested and likely won't work without additional changes. | ||||
| # For non-supported platforms, turn USE_DISTRIBUTED off by default. | ||||
| # NB: USE_DISTRIBUTED simply disables the backend; distributed code | ||||
| # still gets built | ||||
| if(NOT LINUX AND NOT WIN32) | ||||
|   set(USE_DISTRIBUTED | ||||
|       OFF | ||||
| @ -261,11 +263,11 @@ option(USE_PYTORCH_METAL "Use Metal for PyTorch iOS build" OFF) | ||||
| option(USE_PYTORCH_METAL_EXPORT "Export Metal models on MacOSX desktop" OFF) | ||||
| option(USE_NATIVE_ARCH "Use -march=native" OFF) | ||||
| cmake_dependent_option(USE_MPS "Use MPS for macOS build" ON "MPS_FOUND" OFF) | ||||
| option(USE_DISTRIBUTED "Use distributed" ON) | ||||
| option(USE_DISTRIBUTED "Enable default distributed backends" ON) | ||||
| cmake_dependent_option(USE_NCCL "Use NCCL" ON | ||||
|                        "USE_DISTRIBUTED;USE_CUDA OR USE_ROCM;UNIX;NOT APPLE" OFF) | ||||
| cmake_dependent_option(USE_XCCL "Use XCCL" ON | ||||
|                        "USE_XPU;UNIX;NOT APPLE" OFF) | ||||
|                        "USE_DISTRIBUTED;USE_XPU;UNIX;NOT APPLE" OFF) | ||||
| cmake_dependent_option(USE_RCCL "Use RCCL" ON USE_NCCL OFF) | ||||
| cmake_dependent_option(USE_RCCL "Use RCCL" ON "USE_NCCL;NOT WIN32" OFF) | ||||
| cmake_dependent_option(USE_STATIC_NCCL "Use static NCCL" OFF "USE_NCCL" OFF) | ||||
| @ -378,13 +380,6 @@ cmake_dependent_option(BUILD_BUNDLE_PTXAS "Bundle PTX into torch/bin fodler" | ||||
|                        OFF "USE_CUDA" OFF) | ||||
| cmake_dependent_option(USE_KLEIDIAI "Use KleidiAI for the ARM CPU & AARCH64 architecture." ON | ||||
|                         "CPU_AARCH64" OFF) | ||||
| # prioritized text linker, ON by default for AArch64+Linux, option visible to all AArch64, x86 and ppc64le. | ||||
| set(USE_PRIORITIZED_TEXT_DEFAULT OFF) | ||||
| if(LINUX AND CPU_AARCH64) | ||||
|   set(USE_PRIORITIZED_TEXT_DEFAULT ON) | ||||
| endif() | ||||
| cmake_dependent_option(USE_PRIORITIZED_TEXT_FOR_LD "Use prioritized text linker for ld." | ||||
|   "${USE_PRIORITIZED_TEXT_DEFAULT}" "CPU_INTEL OR CPU_AARCH64 OR CPU_POWER" OFF) | ||||
|  | ||||
| option(USE_MIMALLOC "Use mimalloc" OFF) | ||||
| # Enable third party mimalloc library to improve memory allocation performance | ||||
| @ -437,12 +432,11 @@ if(WIN32) | ||||
|       PATH_SUFFIXES lib | ||||
|       NO_DEFAULT_PATH) | ||||
|     if(NOT libuv_tmp_LIBRARY) | ||||
|       set(USE_DISTRIBUTED OFF) | ||||
|       set(USE_GLOO OFF) | ||||
|       message( | ||||
|         WARNING | ||||
|           "Libuv is not installed in current conda env. Set USE_DISTRIBUTED to OFF. " | ||||
|           "Please run command 'conda install -c conda-forge libuv=1.51' to install libuv." | ||||
|           "Libuv is not installed in current conda env. Set USE_GLOO to OFF. " | ||||
|           "Please run command 'conda install -c conda-forge libuv=1.39' to install libuv." | ||||
|       ) | ||||
|     else() | ||||
|       set(ENV{libuv_ROOT} ${libuv_tmp_LIBRARY}/../../) | ||||
| @ -663,11 +657,6 @@ endif(MSVC) | ||||
|  | ||||
| string(APPEND CMAKE_CUDA_FLAGS " -Xfatbin -compress-all") | ||||
|  | ||||
| # Set linker max-page-size to 64KiB on AArch64 Linux | ||||
| if(LINUX AND CPU_AARCH64) | ||||
|   add_link_options_if_supported("-z,max-page-size=0x10000") | ||||
| endif() | ||||
|  | ||||
| # Set INTERN_BUILD_MOBILE for all mobile builds. Components that are not | ||||
| # applicable to mobile are disabled by this variable. Setting | ||||
| # `BUILD_PYTORCH_MOBILE_WITH_HOST_TOOLCHAIN` environment variable can force it | ||||
| @ -888,28 +877,23 @@ cmake_dependent_option( | ||||
|   "(USE_CUDA AND NOT MSVC) OR USE_ROCM" | ||||
|   OFF) | ||||
|  | ||||
|  | ||||
| IF(USE_ROCM AND "gfx942" IN_LIST PYTORCH_ROCM_ARCH) | ||||
|   message(WARNING "Setting USE_FBGEMM_GENAI for gfx942 to ON by default, doing ROCM build") | ||||
|   set(USE_FBGEMM_GENAI_DEFAULT ON) | ||||
| elseif(USE_CUDA AND "$ENV{TORCH_CUDA_ARCH_LIST}" MATCHES "10.0" AND CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 12.8 AND NOT WIN32) | ||||
|   message(STATUS "Setting USE_FBGEMM_GENAI to ON by default , doing CUDA build for SM100a") | ||||
|   set(USE_FBGEMM_GENAI_DEFAULT ON) | ||||
| else() | ||||
|   set(USE_FBGEMM_GENAI_DEFAULT OFF) | ||||
| endif() | ||||
|  | ||||
| cmake_dependent_option( | ||||
|   USE_FBGEMM_GENAI | ||||
|   "Whether to build FBGEMM GenAI quantized GEMM kernels.\ | ||||
|   Will be disabled if not supported by the platform" | ||||
|   ${USE_FBGEMM_GENAI_DEFAULT} | ||||
|   "(USE_CUDA AND NOT MSVC) OR USE_ROCM" | ||||
|   ON | ||||
|   "USE_ROCM" | ||||
|   OFF) | ||||
|  | ||||
| IF(USE_FBGEMM_GENAI AND USE_ROCM AND NOT "gfx942" IN_LIST PYTORCH_ROCM_ARCH) | ||||
|   message(WARNING "Unsupported ROCM arch for FBGEMM GenAI, will set USE_FBGEMM_GENAI to OFF") | ||||
|   set(USE_FBGEMM_GENAI off) | ||||
| endif() | ||||
|  | ||||
| # Set USE_FBGEMM_GENAI to ON for CUDA build on SM100. | ||||
| if(USE_CUDA AND "$ENV{TORCH_CUDA_ARCH_LIST}" MATCHES "10.0" AND CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 12.8 AND NOT WIN32) | ||||
| if(USE_CUDA AND "$ENV{TORCH_CUDA_ARCH_LIST}" MATCHES "10.0" AND CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 12.8) | ||||
|   message(STATUS "Setting USE_FBGEMM_GENAI to ON, doing CUDA build for SM100a") | ||||
|   set(USE_FBGEMM_GENAI ON) | ||||
| endif() | ||||
|  | ||||
| # CAVEAT: Again, Flash Attention2 will error while building for sm52 while Mem | ||||
| @ -1395,6 +1379,10 @@ endif() | ||||
| include(cmake/Summary.cmake) | ||||
| caffe2_print_configuration_summary() | ||||
|  | ||||
| if(BUILD_FUNCTORCH) | ||||
|   add_subdirectory(functorch) | ||||
| endif() | ||||
|  | ||||
| # Parse custom debug info | ||||
| if(DEFINED USE_CUSTOM_DEBINFO) | ||||
|   string(REPLACE ";" " " SOURCE_FILES "${USE_CUSTOM_DEBINFO}") | ||||
| @ -1433,57 +1421,3 @@ if(BUILD_BUNDLE_PTXAS AND USE_CUDA) | ||||
|   install(PROGRAMS "${PROJECT_BINARY_DIR}/ptxas" | ||||
|           DESTINATION "${CMAKE_INSTALL_BINDIR}") | ||||
| endif() | ||||
|  | ||||
| if(USE_PRIORITIZED_TEXT_FOR_LD) | ||||
|   add_compile_options( | ||||
|     $<$<COMPILE_LANGUAGE:C,CXX>:-ffunction-sections> | ||||
|     $<$<COMPILE_LANGUAGE:C,CXX>:-fdata-sections> | ||||
|   ) | ||||
|   set(LINKER_SCRIPT_FILE_OUT "${CMAKE_SOURCE_DIR}/cmake/linker_script.ld") | ||||
|   set(LINKER_SCRIPT_FILE_IN "${CMAKE_SOURCE_DIR}/cmake/prioritized_text.txt") | ||||
|  | ||||
|   add_custom_command( | ||||
|     OUTPUT "${LINKER_SCRIPT_FILE_OUT}" | ||||
|     COMMAND ${Python_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/setup_helpers/generate_linker_script.py --filein "${LINKER_SCRIPT_FILE_IN}" --fout "${LINKER_SCRIPT_FILE_OUT}" | ||||
|     DEPENDS ${CMAKE_SOURCE_DIR}/tools/setup_helpers/generate_linker_script.py "${LINKER_SCRIPT_FILE_IN}" | ||||
|     COMMENT "Generating prioritized text linker files" | ||||
|     VERBATIM | ||||
|   ) | ||||
|  | ||||
|   add_custom_target(generate_linker_script DEPENDS "${LINKER_SCRIPT_FILE_OUT}") | ||||
|  | ||||
|   if(BUILD_PYTHON) | ||||
|     set(LINKER_OPT_TARGETS torch_python) | ||||
|   endif() | ||||
|  | ||||
|   if(NOT BUILD_LIBTORCHLESS) | ||||
|     list(APPEND LINKER_OPT_TARGETS torch_cpu c10) | ||||
|     if(USE_CUDA) | ||||
|       list(APPEND LINKER_OPT_TARGETS torch_cuda c10_cuda) | ||||
|     endif() | ||||
|     if(USE_XPU) | ||||
|       list(APPEND LINKER_OPT_TARGETS torch_xpu c10_xpu) | ||||
|     endif() | ||||
|     if(USE_ROCM) | ||||
|       list(APPEND LINKER_OPT_TARGETS torch_hip c10_hip) | ||||
|     endif() | ||||
|   endif() | ||||
|  | ||||
|   foreach(tgt IN LISTS LINKER_OPT_TARGETS) | ||||
|     if(TARGET ${tgt}) | ||||
|       add_dependencies("${tgt}" generate_linker_script) | ||||
|       target_link_options_if_supported(${tgt} "-T,${LINKER_SCRIPT_FILE_OUT}") | ||||
|       set_property(TARGET ${tgt} APPEND PROPERTY LINK_DEPENDS "${LINKER_SCRIPT_FILE_OUT}") | ||||
|     else() | ||||
|        message(WARNING "Requested target '${tgt}' for linker script optimization was not found.") | ||||
|     endif() | ||||
|   endforeach() | ||||
|  | ||||
| else() | ||||
|   if(LINUX AND CPU_AARCH64) | ||||
|     message(WARNING [[ | ||||
|     It is strongly recommend to enable linker script optimization for all AArch64 Linux builds. | ||||
|     To do so please export USE_PRIORITIZED_TEXT_FOR_LD=1 | ||||
|     ]]) | ||||
|   endif() | ||||
| endif() | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	