mirror of
				https://github.com/pytorch/pytorch.git
				synced 2025-10-31 12:15:03 +08:00 
			
		
		
		
	Compare commits
	
		
			70 Commits
		
	
	
		
			mlazos/use
			...
			v2.3.1-rc3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d44533f9d0 | |||
| bd1040c3b0 | |||
| 81b88543f0 | |||
| e63004b649 | |||
| 00804a79e4 | |||
| cd033a128c | |||
| 19058a60b0 | |||
| 30650e0add | |||
| 661c3de2a7 | |||
| 71dd2de836 | |||
| 6cd59f1f07 | |||
| ee68b41571 | |||
| 0365423035 | |||
| 03baf94aae | |||
| 7782f2866c | |||
| be9a4076f0 | |||
| d114e0488c | |||
| 194698a4ac | |||
| 1d6a938090 | |||
| 4f0b3ad855 | |||
| bf1b3a056a | |||
| c365674171 | |||
| 768e4b9420 | |||
| e25474c05d | |||
| d8b35dac22 | |||
| bbb838654c | |||
| d983cb78e2 | |||
| 75e01e7df0 | |||
| a696b3b7f6 | |||
| 2e165ec9c2 | |||
| 1199df476e | |||
| 97ff6cfd9c | |||
| fb38ab7881 | |||
| 23961cef85 | |||
| 634cf5069a | |||
| 12d0e693d0 | |||
| 38acd812ab | |||
| b197f540bc | |||
| dc81d19aac | |||
| 108305e47b | |||
| a8b009185d | |||
| b67b277268 | |||
| a8f93a5c71 | |||
| fa07dc5132 | |||
| 2a82d31f78 | |||
| 4bb5cb51e6 | |||
| ef38d0572e | |||
| 5a53185e65 | |||
| bc9e23abb5 | |||
| 8194fae625 | |||
| 12acd4c9b3 | |||
| 857797d148 | |||
| 233dfe4d6a | |||
| e22b534b10 | |||
| 8602990e3f | |||
| 685cc955df | |||
| b1c2430fbd | |||
| 3002eb2556 | |||
| e1a846d6b8 | |||
| 4a9a8c606d | |||
| d3201f48b1 | |||
| 74832f12fa | |||
| 02cdb400d7 | |||
| 37257774c6 | |||
| c4e5434423 | |||
| b4f90aae1b | |||
| 94d6463255 | |||
| 6a89a753b1 | |||
| d69c421912 | |||
| 6725db07ae | 
| @ -1 +1 @@ | ||||
| 0a22a91d04c2b4a029a69a198eac390089c3e891 | ||||
| c8ad905211f45e162102823149f0d7f2cfaa4418 | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| a9bc1a36470eefafe0e2ab2503b8698f1e89e7e3 | ||||
| 958fccea74da58e7e0595ab88ae6cd3f6795a173 | ||||
|  | ||||
| @ -57,8 +57,21 @@ fi | ||||
|   # Uncomment the below when resolved to track the latest conda update | ||||
|   # as_jenkins conda update -y -n base conda | ||||
|  | ||||
|   if [[ $(uname -m) == "aarch64" ]]; then | ||||
|     export SYSROOT_DEP="sysroot_linux-aarch64=2.17" | ||||
|   else | ||||
|     export SYSROOT_DEP="sysroot_linux-64=2.17" | ||||
|   fi | ||||
|  | ||||
|   # Install correct Python version | ||||
|   as_jenkins conda create -n py_$ANACONDA_PYTHON_VERSION -y python="$ANACONDA_PYTHON_VERSION" | ||||
|   # Also ensure sysroot is using a modern GLIBC to match system compilers | ||||
|   as_jenkins conda create -n py_$ANACONDA_PYTHON_VERSION -y\ | ||||
|              python="$ANACONDA_PYTHON_VERSION" \ | ||||
|              ${SYSROOT_DEP} | ||||
|  | ||||
|   # libstdcxx from conda default channels are too old, we need GLIBCXX_3.4.30 | ||||
|   # which is provided in libstdcxx 12 and up. | ||||
|   conda_install libstdcxx-ng=12.3.0 -c conda-forge | ||||
|  | ||||
|   # Install PyTorch conda deps, as per https://github.com/pytorch/pytorch README | ||||
|   if [[ $(uname -m) == "aarch64" ]]; then | ||||
| @ -110,14 +123,5 @@ fi | ||||
|     pip_install -r /opt/conda/requirements-docs.txt | ||||
|   fi | ||||
|  | ||||
|   # HACK HACK HACK | ||||
|   # gcc-9 for ubuntu-18.04 from http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu | ||||
|   # Pulls llibstdc++6 13.1.0-8ubuntu1~18.04 which is too new for conda | ||||
|   # So remove libstdc++6.so.3.29 installed by https://anaconda.org/anaconda/libstdcxx-ng/files?version=11.2.0 | ||||
|   # Same is true for gcc-12 from Ubuntu-22.04 | ||||
|   if grep -e [12][82].04.[623] /etc/issue >/dev/null; then | ||||
|     rm /opt/conda/envs/py_$ANACONDA_PYTHON_VERSION/lib/libstdc++.so.6 | ||||
|   fi | ||||
|  | ||||
|   popd | ||||
| fi | ||||
|  | ||||
| @ -84,7 +84,11 @@ install_ubuntu() { | ||||
|     if [[ $(ver $ROCM_VERSION) -ge $(ver 6.0) ]]; then | ||||
|         for kdb in /opt/rocm/share/miopen/db/*.kdb | ||||
|         do | ||||
|             sqlite3 $kdb "PRAGMA journal_mode=off; PRAGMA VACUUM;" | ||||
|           # journal_mode=delete seems to work on some kdbs that have "wal" as initial journal_mode | ||||
|           sqlite3 $kdb "PRAGMA journal_mode=delete; PRAGMA VACUUM;" | ||||
|           JOURNAL_MODE=$(sqlite3 $kdb "PRAGMA journal_mode;") | ||||
|           # Both "delete and "off" work in cases where user doesn't have write permissions to directory where kdbs are installed | ||||
|           if [[ $JOURNAL_MODE != "delete" ]] && [[ $JOURNAL_MODE != "off" ]]; then echo "kdb journal_mode change failed" && exit 1; fi | ||||
|         done | ||||
|     fi | ||||
|  | ||||
| @ -163,7 +167,11 @@ install_centos() { | ||||
|   if [[ $(ver $ROCM_VERSION) -ge $(ver 6.0) ]]; then | ||||
|       for kdb in /opt/rocm/share/miopen/db/*.kdb | ||||
|       do | ||||
|           sqlite3 $kdb "PRAGMA journal_mode=off; PRAGMA VACUUM;" | ||||
|         # journal_mode=delete seems to work on some kdbs that have "wal" as initial journal_mode | ||||
|         sqlite3 $kdb "PRAGMA journal_mode=delete; PRAGMA VACUUM;" | ||||
|         JOURNAL_MODE=$(sqlite3 $kdb "PRAGMA journal_mode;") | ||||
|         # Both "delete" and "off" work in cases where user doesn't have write permissions to directory where kdbs are installed | ||||
|         if [[ $JOURNAL_MODE != "delete" ]] && [[ $JOURNAL_MODE != "off" ]]; then echo "kdb journal_mode change failed" && exit 1; fi | ||||
|       done | ||||
|   fi | ||||
|  | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 3.0.0 | ||||
| 2.3.1 | ||||
|  | ||||
| @ -255,6 +255,11 @@ else | ||||
|     # or building non-XLA tests. | ||||
|     if [[ "$BUILD_ENVIRONMENT" != *rocm*  && | ||||
|           "$BUILD_ENVIRONMENT" != *xla* ]]; then | ||||
|       if [[ "$BUILD_ENVIRONMENT" != *py3.8* ]]; then | ||||
|         # Install numpy-2.0 release candidate for builds | ||||
|         # Which should be backward compatible with Numpy-1.X | ||||
|         python -mpip install --pre numpy==2.0.0rc1 | ||||
|       fi | ||||
|       WERROR=1 python setup.py bdist_wheel | ||||
|     else | ||||
|       python setup.py bdist_wheel | ||||
|  | ||||
| @ -178,7 +178,7 @@ function install_torchrec_and_fbgemm() { | ||||
|  | ||||
| function clone_pytorch_xla() { | ||||
|   if [[ ! -d ./xla ]]; then | ||||
|     git clone --recursive --quiet https://github.com/pytorch/xla.git | ||||
|     git clone --recursive -b r2.3 https://github.com/pytorch/xla.git | ||||
|     pushd xla | ||||
|     # pin the xla hash so that we don't get broken by changes to xla | ||||
|     git checkout "$(cat ../.github/ci_commit_pins/xla.txt)" | ||||
|  | ||||
| @ -26,8 +26,8 @@ echo "error: python_doc_push_script.sh: version (arg2) not specified" | ||||
| fi | ||||
|  | ||||
| # Argument 1: Where to copy the built documentation to | ||||
| # (pytorch.github.io/$install_path) | ||||
| install_path="${1:-${DOCS_INSTALL_PATH:-docs/${DOCS_VERSION}}}" | ||||
| # (pytorch_docs/$install_path) | ||||
| install_path="${1:-${DOCS_INSTALL_PATH:-${DOCS_VERSION}}}" | ||||
| if [ -z "$install_path" ]; then | ||||
| echo "error: python_doc_push_script.sh: install_path (arg1) not specified" | ||||
|   exit 1 | ||||
| @ -68,8 +68,8 @@ build_docs () { | ||||
| } | ||||
|  | ||||
|  | ||||
| git clone https://github.com/pytorch/pytorch.github.io -b "$branch" --depth 1 | ||||
| pushd pytorch.github.io | ||||
| git clone https://github.com/pytorch/docs pytorch_docs -b "$branch" --depth 1 | ||||
| pushd pytorch_docs | ||||
|  | ||||
| export LC_ALL=C | ||||
| export PATH=/opt/conda/bin:$PATH | ||||
|  | ||||
| @ -302,6 +302,7 @@ test_inductor_distributed() { | ||||
|   pytest test/distributed/_composable/fsdp/test_fully_shard_frozen.py | ||||
|   pytest test/distributed/_composable/fsdp/test_fully_shard_mixed_precision.py -k test_compute_dtype | ||||
|   pytest test/distributed/_composable/fsdp/test_fully_shard_mixed_precision.py -k test_reduce_dtype | ||||
|   pytest test/distributed/fsdp/test_fsdp_tp_integration.py -k test_fsdp_tp_integration | ||||
|  | ||||
|   # 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 | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/ci_commit_pins/xla.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ci_commit_pins/xla.txt
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | ||||
| 707a632930bfde19ffb361cdf5c31a7682af4e67 | ||||
| r2.3 | ||||
|  | ||||
| @ -27,3 +27,6 @@ rockset==1.0.3 | ||||
| z3-solver==4.12.2.0 | ||||
| tensorboard==2.13.0 | ||||
| optree==0.9.1 | ||||
| # NB: test_hparams_* from test_tensorboard is failing with protobuf 5.26.0 in | ||||
| # which the stringify metadata is wrong when escaping double quote | ||||
| protobuf==3.20.2 | ||||
|  | ||||
							
								
								
									
										18
									
								
								.github/scripts/build_triton_wheel.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/scripts/build_triton_wheel.py
									
									
									
									
										vendored
									
									
								
							| @ -10,9 +10,6 @@ from typing import Optional | ||||
| SCRIPT_DIR = Path(__file__).parent | ||||
| REPO_DIR = SCRIPT_DIR.parent.parent | ||||
|  | ||||
| # TODO: Remove me once Triton version is again in sync for vanilla and ROCm | ||||
| ROCM_TRITION_VERSION = "2.1.0" | ||||
|  | ||||
|  | ||||
| def read_triton_pin(rocm_hash: bool = False) -> str: | ||||
|     triton_file = "triton.txt" if not rocm_hash else "triton-rocm.txt" | ||||
| @ -99,7 +96,14 @@ def build_triton( | ||||
|             triton_repo = "https://github.com/openai/triton" | ||||
|             triton_pkg_name = "pytorch-triton" | ||||
|         check_call(["git", "clone", triton_repo], cwd=tmpdir) | ||||
|         check_call(["git", "checkout", commit_hash], cwd=triton_basedir) | ||||
|         if release: | ||||
|             ver, rev, patch = version.split(".") | ||||
|             check_call( | ||||
|                 ["git", "checkout", f"release/{ver}.{rev}.x"], cwd=triton_basedir | ||||
|             ) | ||||
|         else: | ||||
|             check_call(["git", "checkout", commit_hash], cwd=triton_basedir) | ||||
|  | ||||
|         if build_conda: | ||||
|             with open(triton_basedir / "meta.yaml", "w") as meta: | ||||
|                 print( | ||||
| @ -109,7 +113,7 @@ def build_triton( | ||||
|                 print("source:\n  path: .\n", file=meta) | ||||
|                 print( | ||||
|                     "build:\n  string: py{{py}}\n  number: 1\n  script: cd python; " | ||||
|                     "python setup.py install --record=record.txt\n", | ||||
|                     "python setup.py install --single-version-externally-managed --record=record.txt\n", | ||||
|                     " script_env:\n   - MAX_JOBS\n", | ||||
|                     file=meta, | ||||
|                 ) | ||||
| @ -155,7 +159,7 @@ def build_triton( | ||||
|         patch_init_py( | ||||
|             triton_pythondir / "triton" / "__init__.py", | ||||
|             version=f"{version}", | ||||
|             expected_version=ROCM_TRITION_VERSION if build_rocm else None, | ||||
|             expected_version=None, | ||||
|         ) | ||||
|  | ||||
|         if build_rocm: | ||||
| @ -164,7 +168,7 @@ def build_triton( | ||||
|                 triton_pythondir / "setup.py", | ||||
|                 name=triton_pkg_name, | ||||
|                 version=f"{version}", | ||||
|                 expected_version=ROCM_TRITION_VERSION, | ||||
|                 expected_version=None, | ||||
|             ) | ||||
|             check_call("scripts/amd/setup_rocm_libs.sh", cwd=triton_basedir, shell=True) | ||||
|             print("ROCm libraries setup for triton installation...") | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/scripts/filter_test_configs.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/scripts/filter_test_configs.py
									
									
									
									
										vendored
									
									
								
							| @ -62,9 +62,9 @@ SUPPORTED_PERIODICAL_MODES: Dict[str, Callable[[Optional[str]], bool]] = { | ||||
| } | ||||
|  | ||||
| # The link to the published list of disabled jobs | ||||
| DISABLED_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/disabled-jobs.json" | ||||
| DISABLED_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/disabled-jobs.json?versionId=qO7aEr.Og33PtLXfNq0j0yj.bbLC7SzR" | ||||
| # and unstable jobs | ||||
| UNSTABLE_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/unstable-jobs.json" | ||||
| UNSTABLE_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/unstable-jobs.json?versionId=7NhgpqKTtGXVUnL1C79KboTW_5qQx8y5" | ||||
|  | ||||
| # Some constants used to handle disabled and unstable jobs | ||||
| JOB_NAME_SEP = "/" | ||||
|  | ||||
| @ -21,6 +21,8 @@ DOCKER_IMAGE_TYPES = ["runtime", "devel"] | ||||
|  | ||||
| def generate_docker_matrix() -> Dict[str, List[Dict[str, str]]]: | ||||
|     ret: List[Dict[str, str]] = [] | ||||
|     # CUDA amd64 Docker images are available as both runtime and devel while | ||||
|     # CPU arm64 image is only available as runtime. | ||||
|     for cuda, version in generate_binary_build_matrix.CUDA_ARCHES_FULL_VERSION.items(): | ||||
|         for image in DOCKER_IMAGE_TYPES: | ||||
|             ret.append( | ||||
| @ -31,9 +33,19 @@ def generate_docker_matrix() -> Dict[str, List[Dict[str, str]]]: | ||||
|                         cuda | ||||
|                     ], | ||||
|                     "image_type": image, | ||||
|                     "platform": "linux/arm64,linux/amd64", | ||||
|                     "platform": "linux/amd64", | ||||
|                 } | ||||
|             ) | ||||
|     ret.append( | ||||
|         { | ||||
|             "cuda": "cpu", | ||||
|             "cuda_full_version": "", | ||||
|             "cudnn_version": "", | ||||
|             "image_type": "runtime", | ||||
|             "platform": "linux/arm64", | ||||
|         } | ||||
|     ) | ||||
|  | ||||
|     return {"include": ret} | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/templates/common.yml.j2
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/templates/common.yml.j2
									
									
									
									
										vendored
									
									
								
							| @ -8,7 +8,7 @@ | ||||
| # NOTE: If testing pytorch/builder changes you can change this variable to change what pytorch/builder reference | ||||
| #       the binary builds will check out | ||||
| {%- set builder_repo = "pytorch/builder" -%} | ||||
| {%- set builder_branch = "main" -%} | ||||
| {%- set builder_branch = "release/2.3" -%} | ||||
|  | ||||
| {%- macro concurrency(build_environment) -%} | ||||
| concurrency: | ||||
|  | ||||
| @ -100,8 +100,8 @@ jobs: | ||||
|         with: | ||||
|           name: !{{ config["build_name"] }} | ||||
|           path: "${{ runner.temp }}/artifacts/" | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch") }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch", checkout_pr_head=False) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch, checkout_pr_head=False) }} | ||||
|       - 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}" | ||||
|  | ||||
| @ -81,8 +81,8 @@ jobs: | ||||
|           elif [ -d "/Applications/Xcode_13.3.1.app" ]; then | ||||
|             echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}" | ||||
|           fi | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch") }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch", checkout_pr_head=False) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch, checkout_pr_head=False) }} | ||||
|       - name: Install sccache (only for non-forked PRs, and pushes to trunk) | ||||
|         uses: nick-fields/retry@v2.8.2 | ||||
|         if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }} | ||||
|  | ||||
| @ -65,8 +65,8 @@ jobs: | ||||
|     steps: | ||||
|       !{{ common.setup_ec2_windows() }} | ||||
|       !{{ set_runner_specific_vars() }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch") }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch", checkout_pr_head=False) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch, checkout_pr_head=False) }} | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
| @ -105,8 +105,8 @@ jobs: | ||||
|         with: | ||||
|           name: !{{ config["build_name"] }} | ||||
|           path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}" | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch") }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="pytorch", checkout_pr_head=False) }} | ||||
|       !{{ common.checkout(deep_clone=False, directory="builder", repository=common.builder_repo, branch=common.builder_branch, checkout_pr_head=False) }} | ||||
|       - name: Populate binary env | ||||
|         shell: bash | ||||
|         run: | | ||||
|  | ||||
							
								
								
									
										12
									
								
								.github/workflows/_android-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/_android-build-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -37,7 +37,7 @@ jobs: | ||||
|       keep-going: ${{ steps.filter.outputs.keep-going }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
| @ -59,25 +59,25 @@ jobs: | ||||
|     runs-on: ${{ matrix.runner }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup Linux | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image-name }} | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
| @ -141,5 +141,5 @@ jobs: | ||||
|         if: always() | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										12
									
								
								.github/workflows/_android-full-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/_android-full-build-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -37,7 +37,7 @@ jobs: | ||||
|       keep-going: ${{ steps.filter.outputs.keep-going }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
| @ -59,25 +59,25 @@ jobs: | ||||
|     runs-on: ${{ matrix.runner }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup Linux | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image-name }} | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
| @ -186,5 +186,5 @@ jobs: | ||||
|         if: always() | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										14
									
								
								.github/workflows/_bazel-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/_bazel-build-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -42,7 +42,7 @@ jobs: | ||||
|       reenabled-issues: ${{ steps.filter.outputs.reenabled-issues }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
| @ -64,30 +64,30 @@ jobs: | ||||
|     runs-on: ${{ matrix.runner }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup Linux | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image-name }} | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
|       - name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.3 | ||||
|         if: ${{ inputs.cuda-version != 'cpu' }} | ||||
|  | ||||
|       - name: Output disk space left | ||||
| @ -196,5 +196,5 @@ jobs: | ||||
|           file-suffix: bazel-${{ github.job }}_${{ steps.get-job-id.outputs.job-id }} | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										13
									
								
								.github/workflows/_binary-build-linux.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/_binary-build-linux.yml
									
									
									
									
										vendored
									
									
								
							| @ -78,7 +78,7 @@ on: | ||||
| jobs: | ||||
|   build: | ||||
|     runs-on: ${{ inputs.runs_on }} | ||||
|     timeout-minutes: 180 | ||||
|     timeout-minutes: 210 | ||||
|     env: | ||||
|       PYTORCH_ROOT: ${{ inputs.PYTORCH_ROOT }} | ||||
|       BUILDER_ROOT: ${{ inputs.BUILDER_ROOT }} | ||||
| @ -139,13 +139,13 @@ jobs: | ||||
|         run: env | ||||
|  | ||||
|       - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)" | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           github-secret: ${{ secrets.github-token }} | ||||
|  | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           no-sudo: ${{ inputs.build_environment == 'linux-aarch64-binary-manywheel' }} | ||||
|  | ||||
| @ -173,7 +173,6 @@ jobs: | ||||
|       - name: Checkout PyTorch to pytorch dir | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -187,7 +186,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder to builder dir | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -213,7 +212,7 @@ jobs: | ||||
|  | ||||
|       - name: Pull Docker image | ||||
|         if: ${{ steps.filter.outputs.is-test-matrix-empty == 'False' }} | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ inputs.DOCKER_IMAGE }} | ||||
|  | ||||
| @ -270,7 +269,7 @@ jobs: | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         if: always() | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|  | ||||
|       - name: Chown workspace | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										13
									
								
								.github/workflows/_binary-test-linux.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/_binary-test-linux.yml
									
									
									
									
										vendored
									
									
								
							| @ -127,14 +127,14 @@ jobs: | ||||
|           } >> "${GITHUB_ENV} }}" | ||||
|  | ||||
|       - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)" | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           github-secret: ${{ secrets.github-token }} | ||||
|  | ||||
|         # Setup the environment | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           no-sudo: ${{ inputs.build_environment == 'linux-aarch64-binary-manywheel' }} | ||||
|  | ||||
| @ -155,7 +155,6 @@ jobs: | ||||
|       - name: Checkout PyTorch to pytorch dir | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|  | ||||
| @ -168,7 +167,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder to builder dir | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -199,12 +198,12 @@ jobs: | ||||
|           path: "${{ runner.temp }}/artifacts/" | ||||
|  | ||||
|       - name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.3 | ||||
|         if: ${{ inputs.GPU_ARCH_TYPE == 'cuda' && steps.filter.outputs.is-test-matrix-empty == 'False' }} | ||||
|  | ||||
|       - name: Pull Docker image | ||||
|         if: ${{ steps.filter.outputs.is-test-matrix-empty == 'False' }} | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ inputs.DOCKER_IMAGE }} | ||||
|  | ||||
| @ -214,7 +213,7 @@ jobs: | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         if: always() | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|  | ||||
|       - name: Chown workspace | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/_binary-upload.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/_binary-upload.yml
									
									
									
									
										vendored
									
									
								
							| @ -95,7 +95,7 @@ jobs: | ||||
|       SHA1: ${{ github.event.pull_request.head.sha || github.sha }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           no-sudo: true | ||||
|  | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_buck-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_buck-build-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -23,7 +23,7 @@ jobs: | ||||
|       keep-going: ${{ steps.filter.outputs.keep-going }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
| @ -44,7 +44,7 @@ jobs: | ||||
|     runs-on: ${{ matrix.runner }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Set up JDK 8 | ||||
|         uses: actions/setup-java@v3 | ||||
| @ -53,7 +53,7 @@ jobs: | ||||
|           distribution: 'temurin' | ||||
|  | ||||
|       - name: Setup miniconda | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.3 | ||||
|         with: | ||||
|           python-version: 3.8 | ||||
|           environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }} | ||||
|  | ||||
							
								
								
									
										12
									
								
								.github/workflows/_docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/_docs.yml
									
									
									
									
										vendored
									
									
								
							| @ -66,7 +66,7 @@ jobs: | ||||
|     name: build-docs-${{ matrix.docs_type }}-${{ inputs.push }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|           instructions: | | ||||
| @ -77,19 +77,19 @@ jobs: | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup Linux | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image }} | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
| @ -163,7 +163,7 @@ jobs: | ||||
|           retention-days: 14 | ||||
|           s3-bucket: doc-previews | ||||
|           if-no-files-found: error | ||||
|           path: pytorch.github.io/docs/main/ | ||||
|           path: pytorch_docs/main/ | ||||
|           s3-prefix: pytorch/pytorch/${{ github.event.pull_request.number }} | ||||
|  | ||||
|       - name: Upload C++ Docs Preview | ||||
| @ -187,5 +187,5 @@ jobs: | ||||
|           s3-prefix: pytorch/pytorch/${{ github.event.pull_request.number }}/functorchdocs | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_ios-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_ios-build-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -46,7 +46,7 @@ jobs: | ||||
|       keep-going: ${{ steps.filter.outputs.keep-going }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
| @ -80,7 +80,7 @@ jobs: | ||||
|     steps: | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Populate CI build options | ||||
|         shell: bash | ||||
| @ -102,7 +102,7 @@ jobs: | ||||
|             brew install libtool | ||||
|  | ||||
|       - name: Setup miniconda for iOS | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.3 | ||||
|         with: | ||||
|           python-version: "3.9" | ||||
|           environment-file: .github/requirements/conda-env-iOS.txt | ||||
|  | ||||
							
								
								
									
										10
									
								
								.github/workflows/_linux-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/_linux-build.yml
									
									
									
									
										vendored
									
									
								
							| @ -73,7 +73,7 @@ jobs: | ||||
|       test-matrix: ${{ steps.filter.outputs.test-matrix }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
| @ -82,14 +82,14 @@ jobs: | ||||
|       # checkout because when we run this action we don't *have* a local | ||||
|       # checkout. In other cases you should prefer a local checkout. | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup Linux | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image-name }} | ||||
|  | ||||
| @ -103,7 +103,7 @@ jobs: | ||||
|           echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}" | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
| @ -209,5 +209,5 @@ jobs: | ||||
|           path: sccache-stats-*.json | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										12
									
								
								.github/workflows/_linux-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/_linux-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -57,7 +57,7 @@ jobs: | ||||
|     timeout-minutes: ${{ matrix.mem_leak_check == 'mem_leak_check' && 600 || inputs.timeout-minutes }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         if: ${{ !contains(matrix.runner, 'gcp.a100') }} | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
| @ -66,14 +66,14 @@ jobs: | ||||
|               docker exec -it $(docker container ps --format '{{.ID}}') bash | ||||
|  | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup Linux | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image }} | ||||
|  | ||||
| @ -87,13 +87,13 @@ jobs: | ||||
|           echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}" | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
|       - name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG | ||||
|         id: install-nvidia-driver | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.3 | ||||
|         if: contains(inputs.build-environment, 'cuda') && !contains(matrix.config, 'nogpu') | ||||
|  | ||||
|       - name: Lock NVIDIA A100 40GB Frequency | ||||
| @ -307,7 +307,7 @@ jobs: | ||||
|           path: ./**/core.[1-9]* | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
|       # NB: We are currently having an intermittent GPU-related issue on G5 runners with | ||||
|  | ||||
							
								
								
									
										10
									
								
								.github/workflows/_mac-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/_mac-build.yml
									
									
									
									
										vendored
									
									
								
							| @ -71,11 +71,11 @@ jobs: | ||||
|       test-matrix: ${{ steps.filter.outputs.test-matrix }} | ||||
|     steps: | ||||
|       - name: Clean up disk space before running MacOS workflow | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@main | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.3 | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Set xcode version | ||||
|         env: | ||||
| @ -87,7 +87,7 @@ jobs: | ||||
|  | ||||
|       - name: Setup miniconda | ||||
|         if: inputs.environment-file == '' | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.3 | ||||
|         with: | ||||
|           python-version: ${{ inputs.python-version }} | ||||
|           environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }} | ||||
| @ -97,7 +97,7 @@ jobs: | ||||
|       # environment even though the arch is x86-64 | ||||
|       - name: Setup miniconda using the provided environment file | ||||
|         if: inputs.environment-file != '' | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.3 | ||||
|         with: | ||||
|           python-version: ${{ inputs.python-version }} | ||||
|           environment-file: ${{ inputs.environment-file }} | ||||
| @ -207,4 +207,4 @@ jobs: | ||||
|       - name: Clean up disk space | ||||
|         if: always() | ||||
|         continue-on-error: true | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@main | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.3 | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_mac-test-mps.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_mac-test-mps.yml
									
									
									
									
										vendored
									
									
								
							| @ -40,7 +40,7 @@ jobs: | ||||
|       reenabled-issues: ${{ steps.filter.outputs.reenabled-issues }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|  | ||||
| @ -81,7 +81,7 @@ jobs: | ||||
|           use-gha: true | ||||
|  | ||||
|       - name: Setup miniconda | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.3 | ||||
|         with: | ||||
|           python-version: ${{ inputs.python-version }} | ||||
|           environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }} | ||||
| @ -159,4 +159,4 @@ jobs: | ||||
|       - name: Clean up disk space | ||||
|         if: always() | ||||
|         continue-on-error: true | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@main | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.3 | ||||
|  | ||||
							
								
								
									
										8
									
								
								.github/workflows/_mac-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/_mac-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -79,11 +79,11 @@ jobs: | ||||
|           done | ||||
|  | ||||
|       - name: Clean up disk space before running MacOS workflow | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@main | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.3 | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Download build artifacts | ||||
|         uses: ./.github/actions/download-build-artifacts | ||||
| @ -98,7 +98,7 @@ jobs: | ||||
|           use-gha: true | ||||
|  | ||||
|       - name: Setup miniconda | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.3 | ||||
|         with: | ||||
|           python-version: ${{ inputs.python-version }} | ||||
|           environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }} | ||||
| @ -227,4 +227,4 @@ jobs: | ||||
|       - name: Clean up disk space | ||||
|         if: always() | ||||
|         continue-on-error: true | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@main | ||||
|         uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.3 | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_rocm-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_rocm-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -58,7 +58,7 @@ jobs: | ||||
|     steps: | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           no-sudo: true | ||||
|  | ||||
| @ -80,12 +80,12 @@ jobs: | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image }} | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_run_android_tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_run_android_tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -23,7 +23,7 @@ jobs: | ||||
|       keep-going: ${{ steps.filter.outputs.keep-going }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
| @ -54,10 +54,10 @@ jobs: | ||||
|       SUPPORT_ABI: '${{ matrix.support_abi }}' | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup miniconda | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.3 | ||||
|         with: | ||||
|           python-version: 3.8 | ||||
|           environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }}.txt | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_win-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_win-build.yml
									
									
									
									
										vendored
									
									
								
							| @ -60,10 +60,10 @@ jobs: | ||||
|           git config --global core.fsmonitor false | ||||
|  | ||||
|       - name: Clean up leftover processes on non-ephemeral Windows runner | ||||
|         uses: pytorch/test-infra/.github/actions/cleanup-runner@main | ||||
|         uses: pytorch/test-infra/.github/actions/cleanup-runner@release/2.3 | ||||
|  | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|           instructions: | | ||||
| @ -78,7 +78,7 @@ jobs: | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           no-sudo: true | ||||
|  | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_win-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_win-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -54,10 +54,10 @@ jobs: | ||||
|           git config --global core.fsmonitor false | ||||
|  | ||||
|       - name: Clean up leftover processes on non-ephemeral Windows runner | ||||
|         uses: pytorch/test-infra/.github/actions/cleanup-runner@main | ||||
|         uses: pytorch/test-infra/.github/actions/cleanup-runner@release/2.3 | ||||
|  | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|           instructions: | | ||||
| @ -73,7 +73,7 @@ jobs: | ||||
|  | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           no-sudo: true | ||||
|  | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/_xpu-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_xpu-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -54,7 +54,7 @@ jobs: | ||||
|     steps: | ||||
|       # [see note: pytorch repo ref] | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup XPU | ||||
|         uses: ./.github/actions/setup-xpu | ||||
| @ -72,12 +72,12 @@ jobs: | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ inputs.docker-image }} | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
|  | ||||
							
								
								
									
										18
									
								
								.github/workflows/build-triton-wheel.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/build-triton-wheel.yml
									
									
									
									
										vendored
									
									
								
							| @ -3,7 +3,7 @@ name: Build Triton wheels | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|       - release/2.3 | ||||
|     tags: | ||||
|       # NOTE: Binary build pipelines should only get triggered on release candidate builds | ||||
|       # Release candidate tags look like: v1.11.0-rc1 | ||||
| @ -47,12 +47,12 @@ jobs: | ||||
|       BUILD_DEVICE: ${{ matrix.device }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|  | ||||
| @ -60,7 +60,7 @@ jobs: | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ env.DOCKER_IMAGE }} | ||||
|  | ||||
| @ -125,7 +125,7 @@ jobs: | ||||
|           path: ${{ runner.temp }}/artifacts/* | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
|   upload-wheel: | ||||
| @ -203,12 +203,12 @@ jobs: | ||||
|       PY_VERS: ${{ matrix.py_vers }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|  | ||||
| @ -216,7 +216,7 @@ jobs: | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ env.DOCKER_IMAGE }} | ||||
|  | ||||
| @ -252,7 +252,7 @@ jobs: | ||||
|           path: ${{ runner.temp }}/artifacts/* | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
|   upload-conda: | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/check-labels.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-labels.yml
									
									
									
									
										vendored
									
									
								
							| @ -31,7 +31,7 @@ jobs: | ||||
|     runs-on: linux.20_04.4x | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|           fetch-depth: 1 | ||||
|  | ||||
| @ -11,7 +11,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Run close_nonexistent_disable_issues.py | ||||
|         env: | ||||
|  | ||||
							
								
								
									
										8
									
								
								.github/workflows/docker-builds.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/docker-builds.yml
									
									
									
									
										vendored
									
									
								
							| @ -74,21 +74,21 @@ jobs: | ||||
|       # [see note: pytorch repo ref] | ||||
|       # deep clone (fetch-depth 0) required for git merge-base | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - name: Setup Linux | ||||
|         uses: ./.github/actions/setup-linux | ||||
|  | ||||
|       - name: Build docker image | ||||
|         id: build-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: ${{ matrix.docker-image-name }} | ||||
|           always-rebuild: true | ||||
|           push: true | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.build-docker-image.outputs.docker-image }} | ||||
|  | ||||
| @ -120,5 +120,5 @@ jobs: | ||||
|         if: always() | ||||
|  | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										27
									
								
								.github/workflows/docker-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								.github/workflows/docker-release.yml
									
									
									
									
										vendored
									
									
								
							| @ -7,6 +7,7 @@ on: | ||||
|       - Dockerfile | ||||
|       - docker.Makefile | ||||
|       - .github/workflows/docker-release.yml | ||||
|       - .github/scripts/generate_docker_release_matrix.py | ||||
|   push: | ||||
|     branches: | ||||
|       - nightly | ||||
| @ -40,7 +41,7 @@ jobs: | ||||
|       matrix: ${{ steps.generate-matrix.outputs.matrix }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: true | ||||
| @ -68,7 +69,7 @@ jobs: | ||||
|       CUDNN_VERSION: ${{ matrix.cudnn_version }} | ||||
|     steps: | ||||
|       - name: Setup SSH (Click me for login details) | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.3 | ||||
|         with: | ||||
|           github-secret: ${{ secrets.GITHUB_TOKEN }} | ||||
|       # [see note: pytorch repo ref] | ||||
| @ -129,17 +130,27 @@ jobs: | ||||
|         if: ${{ github.event.ref == 'refs/heads/nightly' && matrix.image_type == 'runtime' }} | ||||
|         run: | | ||||
|           PYTORCH_DOCKER_TAG="${PYTORCH_VERSION}-cuda${CUDA_VERSION_SHORT}-cudnn${CUDNN_VERSION}-runtime" | ||||
|           CUDA_SUFFIX="-cu${CUDA_VERSION}" | ||||
|           if [[ ${CUDA_VERSION_SHORT} == "cpu" ]]; then | ||||
|             PYTORCH_DOCKER_TAG="${PYTORCH_VERSION}-runtime" | ||||
|             CUDA_SUFFIX="" | ||||
|           fi | ||||
|  | ||||
|           PYTORCH_NIGHTLY_COMMIT=$(docker run ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_DOCKER_TAG}" \ | ||||
|                                           python -c 'import torch; print(torch.version.git_version[:7],end="")') | ||||
|  | ||||
|           docker tag ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_DOCKER_TAG}" \ | ||||
|                  ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_NIGHTLY_COMMIT}-cu${CUDA_VERSION}" | ||||
|           docker push ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_NIGHTLY_COMMIT}-cu${CUDA_VERSION}" | ||||
|                  ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_NIGHTLY_COMMIT}${CUDA_SUFFIX}" | ||||
|  | ||||
|           docker push ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_NIGHTLY_COMMIT}${CUDA_SUFFIX}" | ||||
|  | ||||
|           # Please note, here we ned to pin specific verison of CUDA as with latest label | ||||
|           if [[ ${CUDA_VERSION_SHORT} == "12.1" ]]; then | ||||
|             docker tag ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_NIGHTLY_COMMIT}${CUDA_SUFFIX}" \ | ||||
|                     ghcr.io/pytorch/pytorch-nightly:latest | ||||
|             docker push ghcr.io/pytorch/pytorch-nightly:latest | ||||
|           fi | ||||
|  | ||||
|           docker tag ghcr.io/pytorch/pytorch-nightly:"${PYTORCH_NIGHTLY_COMMIT}-cu${CUDA_VERSION}" \ | ||||
|                  ghcr.io/pytorch/pytorch-nightly:latest | ||||
|           docker push ghcr.io/pytorch/pytorch-nightly:latest | ||||
|       - name: Teardown Linux | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@main | ||||
|         uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.3 | ||||
|         if: always() | ||||
|  | ||||
							
								
								
									
										30
									
								
								.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -48,7 +48,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       runs_on: linux.arm64.2xlarge | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
| @ -69,7 +69,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -91,7 +91,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu-aarch64 | ||||
|     secrets: | ||||
| @ -111,7 +111,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       runs_on: linux.arm64.2xlarge | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
| @ -132,7 +132,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -154,7 +154,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu-aarch64 | ||||
|     secrets: | ||||
| @ -174,7 +174,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       runs_on: linux.arm64.2xlarge | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
| @ -195,7 +195,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -217,7 +217,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu-aarch64 | ||||
|     secrets: | ||||
| @ -237,7 +237,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       runs_on: linux.arm64.2xlarge | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
| @ -258,7 +258,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -280,7 +280,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu-aarch64 | ||||
|     secrets: | ||||
| @ -300,7 +300,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runs_on: linux.arm64.2xlarge | ||||
|       ALPINE_IMAGE: "arm64v8/alpine" | ||||
| @ -321,7 +321,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu-aarch64 | ||||
|       build_environment: linux-aarch64-binary-manywheel | ||||
| @ -343,7 +343,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu-aarch64 | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxaarch64-builder:cpu-aarch64-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu-aarch64 | ||||
|     secrets: | ||||
|  | ||||
							
								
								
									
										90
									
								
								.github/workflows/generated-linux-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										90
									
								
								.github/workflows/generated-linux-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -48,7 +48,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -66,7 +66,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -87,7 +87,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cpu | ||||
|     secrets: | ||||
| @ -108,7 +108,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_8-cuda11_8 | ||||
| @ -128,7 +128,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cuda11_8 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -150,7 +150,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cuda11_8 | ||||
|     secrets: | ||||
| @ -171,7 +171,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_8-cuda12_1 | ||||
| @ -191,7 +191,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cuda12_1 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -213,7 +213,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cuda12_1 | ||||
|     secrets: | ||||
| @ -233,7 +233,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -251,7 +251,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -272,7 +272,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cpu | ||||
|     secrets: | ||||
| @ -293,7 +293,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_9-cuda11_8 | ||||
| @ -313,7 +313,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cuda11_8 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -335,7 +335,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cuda11_8 | ||||
|     secrets: | ||||
| @ -356,7 +356,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_9-cuda12_1 | ||||
| @ -376,7 +376,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cuda12_1 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -398,7 +398,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cuda12_1 | ||||
|     secrets: | ||||
| @ -418,7 +418,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -436,7 +436,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -457,7 +457,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cpu | ||||
|     secrets: | ||||
| @ -478,7 +478,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_10-cuda11_8 | ||||
| @ -498,7 +498,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cuda11_8 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -520,7 +520,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cuda11_8 | ||||
|     secrets: | ||||
| @ -541,7 +541,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_10-cuda12_1 | ||||
| @ -561,7 +561,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cuda12_1 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -583,7 +583,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cuda12_1 | ||||
|     secrets: | ||||
| @ -603,7 +603,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -621,7 +621,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -642,7 +642,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cpu | ||||
|     secrets: | ||||
| @ -663,7 +663,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_11-cuda11_8 | ||||
| @ -683,7 +683,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cuda11_8 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -705,7 +705,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cuda11_8 | ||||
|     secrets: | ||||
| @ -726,7 +726,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_11-cuda12_1 | ||||
| @ -746,7 +746,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cuda12_1 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -768,7 +768,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cuda12_1 | ||||
|     secrets: | ||||
| @ -788,7 +788,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -806,7 +806,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cpu | ||||
|       build_environment: linux-binary-conda | ||||
| @ -827,7 +827,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cpu | ||||
|     secrets: | ||||
| @ -848,7 +848,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_12-cuda11_8 | ||||
| @ -868,7 +868,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cuda11_8 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -890,7 +890,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cuda11_8 | ||||
|     secrets: | ||||
| @ -911,7 +911,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       runs_on: linux.24xlarge | ||||
|       build_name: conda-py3_12-cuda12_1 | ||||
| @ -931,7 +931,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cuda12_1 | ||||
|       build_environment: linux-binary-conda | ||||
| @ -953,7 +953,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cuda12_1 | ||||
|     secrets: | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/workflows/generated-linux-binary-libtorch-cxx11-abi-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/generated-linux-binary-libtorch-cxx11-abi-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -43,7 +43,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cpu-shared-with-deps-cxx11-abi | ||||
| @ -62,7 +62,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cpu-shared-with-deps-cxx11-abi | ||||
|  | ||||
							
								
								
									
										40
									
								
								.github/workflows/generated-linux-binary-libtorch-cxx11-abi-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/generated-linux-binary-libtorch-cxx11-abi-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -48,7 +48,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cpu-shared-with-deps-cxx11-abi | ||||
| @ -67,7 +67,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cpu-shared-with-deps-cxx11-abi | ||||
| @ -89,7 +89,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cpu-shared-with-deps-cxx11-abi | ||||
| @ -111,7 +111,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda11.8-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cuda11_8-shared-with-deps-cxx11-abi | ||||
| @ -131,7 +131,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda11.8-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cuda11_8-shared-with-deps-cxx11-abi | ||||
| @ -154,7 +154,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda11.8-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cuda11_8-shared-with-deps-cxx11-abi | ||||
| @ -176,7 +176,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda12.1-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cuda12_1-shared-with-deps-cxx11-abi | ||||
| @ -196,7 +196,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda12.1-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cuda12_1-shared-with-deps-cxx11-abi | ||||
| @ -219,7 +219,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cuda12.1-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cuda12_1-shared-with-deps-cxx11-abi | ||||
| @ -241,7 +241,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm5.7-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-rocm5_7-shared-with-deps-cxx11-abi | ||||
| @ -263,7 +263,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm5.7-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|     steps: | ||||
| @ -277,7 +277,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -289,7 +288,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -305,7 +304,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/libtorch-cxx11-builder:rocm5.7-main | ||||
|           docker-image: pytorch/libtorch-cxx11-builder:rocm5.7-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -325,7 +324,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm5.7-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-rocm5_7-shared-with-deps-cxx11-abi | ||||
| @ -347,7 +346,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm6.0-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-rocm6_0-shared-with-deps-cxx11-abi | ||||
| @ -369,7 +368,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm6.0-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|     steps: | ||||
| @ -383,7 +382,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -395,7 +393,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -411,7 +409,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/libtorch-cxx11-builder:rocm6.0-main | ||||
|           docker-image: pytorch/libtorch-cxx11-builder:rocm6.0-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -431,7 +429,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:rocm6.0-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-rocm6_0-shared-with-deps-cxx11-abi | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/workflows/generated-linux-binary-libtorch-pre-cxx11-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/generated-linux-binary-libtorch-pre-cxx11-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -43,7 +43,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cpu-shared-with-deps-pre-cxx11 | ||||
| @ -62,7 +62,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cpu-shared-with-deps-pre-cxx11 | ||||
|  | ||||
							
								
								
									
										40
									
								
								.github/workflows/generated-linux-binary-libtorch-pre-cxx11-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/generated-linux-binary-libtorch-pre-cxx11-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -48,7 +48,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cpu-shared-with-deps-pre-cxx11 | ||||
| @ -67,7 +67,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cpu-shared-with-deps-pre-cxx11 | ||||
| @ -89,7 +89,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cpu-shared-with-deps-pre-cxx11 | ||||
| @ -111,7 +111,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cuda11_8-shared-with-deps-pre-cxx11 | ||||
| @ -131,7 +131,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cuda11_8-shared-with-deps-pre-cxx11 | ||||
| @ -154,7 +154,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cuda11_8-shared-with-deps-pre-cxx11 | ||||
| @ -176,7 +176,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cuda12_1-shared-with-deps-pre-cxx11 | ||||
| @ -196,7 +196,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cuda12_1-shared-with-deps-pre-cxx11 | ||||
| @ -219,7 +219,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-cuda12_1-shared-with-deps-pre-cxx11 | ||||
| @ -241,7 +241,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-rocm5_7-shared-with-deps-pre-cxx11 | ||||
| @ -263,7 +263,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|     steps: | ||||
| @ -277,7 +277,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -289,7 +288,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -305,7 +304,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -325,7 +324,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-rocm5_7-shared-with-deps-pre-cxx11 | ||||
| @ -347,7 +346,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-rocm6_0-shared-with-deps-pre-cxx11 | ||||
| @ -369,7 +368,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|     steps: | ||||
| @ -383,7 +382,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -395,7 +393,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -411,7 +409,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -431,7 +429,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: pre-cxx11 | ||||
|       build_name: libtorch-rocm6_0-shared-with-deps-pre-cxx11 | ||||
|  | ||||
							
								
								
									
										8
									
								
								.github/workflows/generated-linux-binary-manywheel-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/generated-linux-binary-manywheel-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -44,7 +44,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -64,7 +64,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -84,7 +84,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -104,7 +104,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
|  | ||||
							
								
								
									
										230
									
								
								.github/workflows/generated-linux-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										230
									
								
								.github/workflows/generated-linux-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -48,7 +48,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -66,7 +66,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -87,7 +87,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu | ||||
|     secrets: | ||||
| @ -107,7 +107,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu-cxx11-abi | ||||
| @ -126,7 +126,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu-cxx11-abi | ||||
| @ -148,7 +148,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cpu-cxx11-abi | ||||
| @ -170,7 +170,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -190,7 +190,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -212,7 +212,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda11_8 | ||||
|     secrets: | ||||
| @ -233,7 +233,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -253,7 +253,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -275,7 +275,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-cuda12_1 | ||||
|     secrets: | ||||
| @ -296,7 +296,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-rocm5_7 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -317,7 +317,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -330,7 +330,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -342,7 +341,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -358,7 +357,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -378,7 +377,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-rocm5_7 | ||||
|     secrets: | ||||
| @ -399,7 +398,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-rocm6_0 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -420,7 +419,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -433,7 +432,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -445,7 +443,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -461,7 +459,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -481,7 +479,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: manywheel-py3_8-rocm6_0 | ||||
|     secrets: | ||||
| @ -501,7 +499,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -519,7 +517,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -540,7 +538,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu | ||||
|     secrets: | ||||
| @ -560,7 +558,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu-cxx11-abi | ||||
| @ -579,7 +577,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu-cxx11-abi | ||||
| @ -601,7 +599,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cpu-cxx11-abi | ||||
| @ -623,7 +621,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -643,7 +641,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -665,7 +663,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cuda11_8 | ||||
|     secrets: | ||||
| @ -686,7 +684,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -706,7 +704,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -728,7 +726,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-cuda12_1 | ||||
|     secrets: | ||||
| @ -749,7 +747,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-rocm5_7 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -770,7 +768,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -783,7 +781,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -795,7 +792,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -811,7 +808,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -831,7 +828,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-rocm5_7 | ||||
|     secrets: | ||||
| @ -852,7 +849,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-rocm6_0 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -873,7 +870,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -886,7 +883,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -898,7 +894,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -914,7 +910,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -934,7 +930,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: manywheel-py3_9-rocm6_0 | ||||
|     secrets: | ||||
| @ -954,7 +950,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -972,7 +968,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -993,7 +989,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu | ||||
|     secrets: | ||||
| @ -1013,7 +1009,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu-cxx11-abi | ||||
| @ -1032,7 +1028,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu-cxx11-abi | ||||
| @ -1054,7 +1050,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cpu-cxx11-abi | ||||
| @ -1076,7 +1072,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1096,7 +1092,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1118,7 +1114,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cuda11_8 | ||||
|     secrets: | ||||
| @ -1139,7 +1135,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1159,7 +1155,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1181,7 +1177,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-cuda12_1 | ||||
|     secrets: | ||||
| @ -1202,7 +1198,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-rocm5_7 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1223,7 +1219,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -1236,7 +1232,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1248,7 +1243,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1264,7 +1259,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -1284,7 +1279,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-rocm5_7 | ||||
|     secrets: | ||||
| @ -1305,7 +1300,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-rocm6_0 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1326,7 +1321,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -1339,7 +1334,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1351,7 +1345,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1367,7 +1361,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -1387,7 +1381,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: manywheel-py3_10-rocm6_0 | ||||
|     secrets: | ||||
| @ -1407,7 +1401,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1425,7 +1419,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1446,7 +1440,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu | ||||
|     secrets: | ||||
| @ -1466,7 +1460,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu-cxx11-abi | ||||
| @ -1485,7 +1479,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu-cxx11-abi | ||||
| @ -1507,7 +1501,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cpu-cxx11-abi | ||||
| @ -1529,7 +1523,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1549,7 +1543,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1571,7 +1565,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cuda11_8 | ||||
|     secrets: | ||||
| @ -1592,7 +1586,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1612,7 +1606,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1634,7 +1628,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-cuda12_1 | ||||
|     secrets: | ||||
| @ -1655,7 +1649,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-rocm5_7 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1676,7 +1670,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -1689,7 +1683,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1701,7 +1694,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1717,7 +1710,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -1737,7 +1730,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-rocm5_7 | ||||
|     secrets: | ||||
| @ -1758,7 +1751,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-rocm6_0 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1779,7 +1772,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -1792,7 +1785,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1804,7 +1796,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1820,7 +1812,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -1840,7 +1832,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: manywheel-py3_11-rocm6_0 | ||||
|     secrets: | ||||
| @ -1860,7 +1852,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1878,7 +1870,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -1899,7 +1891,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu | ||||
|     secrets: | ||||
| @ -1919,7 +1911,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu-cxx11-abi | ||||
| @ -1938,7 +1930,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu-cxx11-abi | ||||
| @ -1960,7 +1952,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu-cxx11-abi | ||||
|       GPU_ARCH_TYPE: cpu-cxx11-abi | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-main | ||||
|       DOCKER_IMAGE: pytorch/manylinuxcxx11-abi-builder:cpu-cxx11-abi-2.3 | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cpu-cxx11-abi | ||||
| @ -1982,7 +1974,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -2002,7 +1994,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cuda11_8 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -2024,7 +2016,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu118 | ||||
|       GPU_ARCH_VERSION: 11.8 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cuda11_8 | ||||
|     secrets: | ||||
| @ -2045,7 +2037,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -2065,7 +2057,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cuda12_1 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -2087,7 +2079,7 @@ jobs: | ||||
|       DESIRED_CUDA: cu121 | ||||
|       GPU_ARCH_VERSION: 12.1 | ||||
|       GPU_ARCH_TYPE: cuda | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-cuda12_1 | ||||
|     secrets: | ||||
| @ -2108,7 +2100,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-rocm5_7 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -2129,7 +2121,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -2142,7 +2134,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2154,7 +2145,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2170,7 +2161,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -2190,7 +2181,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm5.7 | ||||
|       GPU_ARCH_VERSION: 5.7 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm5.7-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-rocm5_7 | ||||
|     secrets: | ||||
| @ -2211,7 +2202,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-rocm6_0 | ||||
|       build_environment: linux-binary-manywheel | ||||
| @ -2232,7 +2223,7 @@ jobs: | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       SKIP_ALL_TESTS: 1 | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|     steps: | ||||
|       - name: Setup ROCm | ||||
| @ -2245,7 +2236,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2257,7 +2247,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2273,7 +2263,7 @@ jobs: | ||||
|       - name: Pull Docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         with: | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-main | ||||
|           docker-image: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       - name: Test Pytorch binary | ||||
|         uses: ./pytorch/.github/actions/test-pytorch-binary | ||||
|       - name: Teardown ROCm | ||||
| @ -2293,7 +2283,7 @@ jobs: | ||||
|       DESIRED_CUDA: rocm6.0 | ||||
|       GPU_ARCH_VERSION: 6.0 | ||||
|       GPU_ARCH_TYPE: rocm | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:rocm6.0-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: manywheel-py3_12-rocm6_0 | ||||
|     secrets: | ||||
|  | ||||
							
								
								
									
										25
									
								
								.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -77,7 +77,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -89,7 +88,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -141,7 +140,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: conda-py3_8-cpu | ||||
|       use_s3: False | ||||
| @ -195,7 +194,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -207,7 +205,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -259,7 +257,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: conda-py3_9-cpu | ||||
|       use_s3: False | ||||
| @ -313,7 +311,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -325,7 +322,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -377,7 +374,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: conda-py3_10-cpu | ||||
|       use_s3: False | ||||
| @ -431,7 +428,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -443,7 +439,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -495,7 +491,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: conda-py3_11-cpu | ||||
|       use_s3: False | ||||
| @ -549,7 +545,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -561,7 +556,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -613,7 +608,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/conda-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: conda-py3_12-cpu | ||||
|       use_s3: False | ||||
|  | ||||
							
								
								
									
										5
									
								
								.github/workflows/generated-macos-arm64-binary-libtorch-cxx11-abi-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/generated-macos-arm64-binary-libtorch-cxx11-abi-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -81,7 +81,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -93,7 +92,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -145,7 +144,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/libtorch-cxx11-builder:cpu-2.3 | ||||
|       LIBTORCH_VARIANT: shared-with-deps | ||||
|       DESIRED_DEVTOOLSET: cxx11-abi | ||||
|       build_name: libtorch-cpu-shared-with-deps-cxx11-abi | ||||
|  | ||||
							
								
								
									
										25
									
								
								.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -78,7 +78,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -90,7 +89,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -142,7 +141,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.8" | ||||
|       build_name: wheel-py3_8-cpu | ||||
|       use_s3: False | ||||
| @ -197,7 +196,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -209,7 +207,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -261,7 +259,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.9" | ||||
|       build_name: wheel-py3_9-cpu | ||||
|       use_s3: False | ||||
| @ -316,7 +314,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -328,7 +325,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -380,7 +377,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.10" | ||||
|       build_name: wheel-py3_10-cpu | ||||
|       use_s3: False | ||||
| @ -435,7 +432,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -447,7 +443,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -499,7 +495,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.11" | ||||
|       build_name: wheel-py3_11-cpu | ||||
|       use_s3: False | ||||
| @ -554,7 +550,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -566,7 +561,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -618,7 +613,7 @@ jobs: | ||||
|       #       favor of GPU_ARCH_VERSION | ||||
|       DESIRED_CUDA: cpu | ||||
|       GPU_ARCH_TYPE: cpu | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-main | ||||
|       DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.3 | ||||
|       DESIRED_PYTHON: "3.12" | ||||
|       build_name: wheel-py3_12-cpu | ||||
|       use_s3: False | ||||
|  | ||||
							
								
								
									
										90
									
								
								.github/workflows/generated-windows-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										90
									
								
								.github/workflows/generated-windows-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -93,7 +93,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -105,7 +104,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -210,7 +209,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -222,7 +220,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -336,7 +334,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -348,7 +345,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -454,7 +451,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -466,7 +462,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -581,7 +577,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -593,7 +588,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -699,7 +694,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -711,7 +705,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -825,7 +819,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -837,7 +830,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -942,7 +935,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -954,7 +946,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1068,7 +1060,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1080,7 +1071,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1186,7 +1177,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1198,7 +1188,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1313,7 +1303,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1325,7 +1314,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1431,7 +1420,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1443,7 +1431,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1557,7 +1545,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1569,7 +1556,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1674,7 +1661,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1686,7 +1672,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1800,7 +1786,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1812,7 +1797,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1918,7 +1903,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1930,7 +1914,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2045,7 +2029,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2057,7 +2040,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2163,7 +2146,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2175,7 +2157,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2289,7 +2271,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2301,7 +2282,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2406,7 +2387,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2418,7 +2398,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2532,7 +2512,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2544,7 +2523,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2650,7 +2629,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2662,7 +2640,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2777,7 +2755,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2789,7 +2766,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2895,7 +2872,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2907,7 +2883,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3021,7 +2997,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3033,7 +3008,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3138,7 +3113,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3150,7 +3124,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3264,7 +3238,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3276,7 +3249,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3382,7 +3355,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3394,7 +3366,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3509,7 +3481,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3521,7 +3492,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3627,7 +3598,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3639,7 +3609,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -90,7 +90,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -102,7 +101,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -211,7 +210,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -223,7 +221,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
|  | ||||
							
								
								
									
										18
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -97,7 +97,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -109,7 +108,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -218,7 +217,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -230,7 +228,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -352,7 +350,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -364,7 +361,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -474,7 +471,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -486,7 +482,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -609,7 +605,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -621,7 +616,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -731,7 +726,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -743,7 +737,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -90,7 +90,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -102,7 +101,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -211,7 +210,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -223,7 +221,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
|  | ||||
							
								
								
									
										18
									
								
								.github/workflows/generated-windows-binary-libtorch-release-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/generated-windows-binary-libtorch-release-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -97,7 +97,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -109,7 +108,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -218,7 +217,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -230,7 +228,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -352,7 +350,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -364,7 +361,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -474,7 +471,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -486,7 +482,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -609,7 +605,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -621,7 +616,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -731,7 +726,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -743,7 +737,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
|  | ||||
							
								
								
									
										90
									
								
								.github/workflows/generated-windows-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										90
									
								
								.github/workflows/generated-windows-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -94,7 +94,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -106,7 +105,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -211,7 +210,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -223,7 +221,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -338,7 +336,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -350,7 +347,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -456,7 +453,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -468,7 +464,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -584,7 +580,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -596,7 +591,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -702,7 +697,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -714,7 +708,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -829,7 +823,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -841,7 +834,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -946,7 +939,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -958,7 +950,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1073,7 +1065,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1085,7 +1076,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1191,7 +1182,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1203,7 +1193,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1319,7 +1309,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1331,7 +1320,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1437,7 +1426,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1449,7 +1437,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1564,7 +1552,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1576,7 +1563,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1681,7 +1668,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1693,7 +1679,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1808,7 +1794,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1820,7 +1805,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -1926,7 +1911,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -1938,7 +1922,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2054,7 +2038,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2066,7 +2049,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2172,7 +2155,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2184,7 +2166,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2299,7 +2281,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2311,7 +2292,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2416,7 +2397,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2428,7 +2408,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2543,7 +2523,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2555,7 +2534,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2661,7 +2640,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2673,7 +2651,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2789,7 +2767,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2801,7 +2778,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -2907,7 +2884,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -2919,7 +2895,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3034,7 +3010,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3046,7 +3021,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3151,7 +3126,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3163,7 +3137,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3278,7 +3252,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3290,7 +3263,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3396,7 +3369,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3408,7 +3380,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3524,7 +3496,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3536,7 +3507,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
| @ -3642,7 +3613,6 @@ jobs: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | ||||
|           submodules: recursive | ||||
|           path: pytorch | ||||
|           quiet-checkout: true | ||||
| @ -3654,7 +3624,7 @@ jobs: | ||||
|       - name: Checkout pytorch/builder | ||||
|         uses: malfet/checkout@silent-checkout | ||||
|         with: | ||||
|           ref: main | ||||
|           ref: release/2.3 | ||||
|           submodules: recursive | ||||
|           repository: pytorch/builder | ||||
|           path: builder | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/workflows/inductor.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/inductor.yml
									
									
									
									
										vendored
									
									
								
							| @ -111,7 +111,7 @@ jobs: | ||||
|     name: linux-jammy-cpu-py3.8-gcc11-inductor | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     with: | ||||
|       build-environment: linux-jammy-py3_8-gcc11-build | ||||
|       build-environment: linux-jammy-py3.8-gcc11-build | ||||
|       docker-image-name: pytorch-linux-jammy-py3.8-gcc11-inductor-benchmarks | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
| @ -135,7 +135,7 @@ jobs: | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: linux-jammy-cpu-py3_8-gcc11-inductor-build | ||||
|     with: | ||||
|       build-environment: linux-jammy-py3_8-gcc11-build | ||||
|       build-environment: linux-jammy-py3.8-gcc11-build | ||||
|       docker-image: ${{ needs.linux-jammy-cpu-py3_8-gcc11-inductor-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-jammy-cpu-py3_8-gcc11-inductor-build.outputs.test-matrix }} | ||||
|     secrets: | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/lint-bc.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/lint-bc.yml
									
									
									
									
										vendored
									
									
								
							| @ -15,7 +15,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Run BC Lint Action | ||||
|         uses: pytorch/test-infra/.github/actions/bc-lint@main | ||||
|         uses: pytorch/test-infra/.github/actions/bc-lint@release/2.3 | ||||
|         with: | ||||
|           repo: ${{ github.event.pull_request.head.repo.full_name }} | ||||
|           base_sha: ${{ github.event.pull_request.base.sha }} | ||||
|  | ||||
							
								
								
									
										23
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							| @ -16,7 +16,7 @@ permissions: read-all | ||||
| # When any other step fails, it's job will be retried once by retryBot. | ||||
| jobs: | ||||
|   lintrunner-clang: | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@main | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.3 | ||||
|     with: | ||||
|       timeout: 120 | ||||
|       runner: linux.2xlarge | ||||
| @ -32,7 +32,7 @@ jobs: | ||||
|         .github/scripts/lintrunner.sh | ||||
|  | ||||
|   lintrunner-noclang: | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@main | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.3 | ||||
|     with: | ||||
|       timeout: 120 | ||||
|       runner: linux.2xlarge | ||||
| @ -47,7 +47,7 @@ jobs: | ||||
|         .github/scripts/lintrunner.sh | ||||
|  | ||||
|   quick-checks: | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@main | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.3 | ||||
|     with: | ||||
|       runner: linux.2xlarge | ||||
|       docker-image: pytorch-linux-focal-linter | ||||
| @ -88,7 +88,7 @@ jobs: | ||||
|     if: github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'skip-pr-sanity-checks') | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|           fetch-depth: -1 | ||||
| @ -101,7 +101,7 @@ jobs: | ||||
|           bash .github/scripts/pr-sanity-check.sh | ||||
|  | ||||
|   workflow-checks: | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@main | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.3 | ||||
|     with: | ||||
|       runner: linux.2xlarge | ||||
|       docker-image: pytorch-linux-focal-linter | ||||
| @ -113,6 +113,7 @@ jobs: | ||||
|         CONDA_ENV=$(conda env list --json | jq -r ".envs | .[-1]") | ||||
|         conda activate "${CONDA_ENV}" | ||||
|  | ||||
|         export RELEASE_VERSION_TAG="2.3" | ||||
|         # Regenerate workflows | ||||
|         .github/scripts/generate_ci_workflows.py | ||||
|  | ||||
| @ -137,7 +138,7 @@ jobs: | ||||
|         exit $RC | ||||
|  | ||||
|   toc: | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@main | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.3 | ||||
|     with: | ||||
|       runner: linux.2xlarge | ||||
|       docker-image: pytorch-linux-focal-linter | ||||
| @ -175,7 +176,7 @@ jobs: | ||||
|   test-tools: | ||||
|     name: Test tools | ||||
|     if: ${{ github.repository == 'pytorch/pytorch' }} | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@main | ||||
|     uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.3 | ||||
|     with: | ||||
|       runner: linux.2xlarge | ||||
|       docker-image: pytorch-linux-focal-linter | ||||
| @ -196,7 +197,7 @@ jobs: | ||||
|     runs-on: linux.20_04.4x | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|           fetch-depth: 1 | ||||
| @ -226,15 +227,15 @@ jobs: | ||||
|       # [see note: pytorch repo ref] | ||||
|       # deep clone (fetch-depth 0) required, to allow us to use git log | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|           fetch-depth: 1 | ||||
|       - name: Setup Python 3.5 | ||||
|       - name: Setup Python 3.6 | ||||
|         if: matrix.test_type == 'older_python_version' | ||||
|         uses: actions/setup-python@v4 | ||||
|         with: | ||||
|           python-version: '3.5' | ||||
|           python-version: '3.6' | ||||
|           architecture: x64 | ||||
|           check-latest: false | ||||
|           cache: pip | ||||
|  | ||||
| @ -21,7 +21,7 @@ jobs: | ||||
|     environment: upload-stats | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/nightly.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/nightly.yml
									
									
									
									
										vendored
									
									
								
							| @ -41,7 +41,7 @@ jobs: | ||||
|     environment: update-commit-hash | ||||
|     steps: | ||||
|       - name: update-vision-commit-hash | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@main | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.3 | ||||
|         if: ${{ github.event_name == 'schedule' }} | ||||
|         with: | ||||
|           repo-name: vision | ||||
| @ -56,7 +56,7 @@ jobs: | ||||
|     environment: update-commit-hash | ||||
|     steps: | ||||
|       - name: update-audio-commit-hash | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@main | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.3 | ||||
|         if: ${{ github.event_name == 'schedule' }} | ||||
|         with: | ||||
|           repo-name: audio | ||||
| @ -71,7 +71,7 @@ jobs: | ||||
|     environment: update-commit-hash | ||||
|     steps: | ||||
|       - name: update-executorch-commit-hash | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@main | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.3 | ||||
|         if: ${{ github.event_name == 'schedule' }} | ||||
|         with: | ||||
|           repo-name: executorch | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/workflows/pull.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/pull.yml
									
									
									
									
										vendored
									
									
								
							| @ -311,7 +311,7 @@ jobs: | ||||
|     name: linux-focal-py3_8-clang9-xla | ||||
|     uses: ./.github/workflows/_linux-build.yml | ||||
|     with: | ||||
|       build-environment: linux-focal-py3_8-clang9-xla | ||||
|       build-environment: linux-focal-py3.8-clang9-xla | ||||
|       docker-image-name: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/xla_base:v1.1-lite | ||||
|       test-matrix: | | ||||
|         { include: [ | ||||
| @ -323,7 +323,7 @@ jobs: | ||||
|     uses: ./.github/workflows/_linux-test.yml | ||||
|     needs: linux-focal-py3_8-clang9-xla-build | ||||
|     with: | ||||
|       build-environment: linux-focal-py3_8-clang9-xla | ||||
|       build-environment: linux-focal-py3.8-clang9-xla | ||||
|       docker-image: ${{ needs.linux-focal-py3_8-clang9-xla-build.outputs.docker-image }} | ||||
|       test-matrix: ${{ needs.linux-focal-py3_8-clang9-xla-build.outputs.test-matrix }} | ||||
|  | ||||
|  | ||||
| @ -18,7 +18,7 @@ jobs: | ||||
|  | ||||
|       - name: Calculate docker image | ||||
|         id: calculate-docker-image | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image-name: pytorch-linux-focal-cuda12.1-cudnn8-py3-gcc9 | ||||
|  | ||||
| @ -32,13 +32,13 @@ jobs: | ||||
|           echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}" | ||||
|  | ||||
|       - name: Pull docker image | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@main | ||||
|         uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.3 | ||||
|         with: | ||||
|           docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }} | ||||
|  | ||||
|       - name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG | ||||
|         id: install-nvidia-driver | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@main | ||||
|         uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.3 | ||||
|  | ||||
|       - name: Clone PyTorch | ||||
|         uses: actions/checkout@v3 | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/target_determination.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/target_determination.yml
									
									
									
									
										vendored
									
									
								
							| @ -14,7 +14,7 @@ jobs: | ||||
|       # checkout because when we run this action we don't *have* a local | ||||
|       # checkout. In other cases you should prefer a local checkout. | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|  | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/update-viablestrict.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/update-viablestrict.yml
									
									
									
									
										vendored
									
									
								
							| @ -16,7 +16,7 @@ jobs: | ||||
|     environment: ${{ (github.event_name == 'schedule') && 'mergebot' || '' }} | ||||
|     steps: | ||||
|       - name: Update viable/strict | ||||
|         uses: pytorch/test-infra/.github/actions/update-viablestrict@main | ||||
|         uses: pytorch/test-infra/.github/actions/update-viablestrict@release/2.3 | ||||
|         with: | ||||
|           repository: pytorch/pytorch | ||||
|           stable-branch: viable/strict | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/update_pytorch_labels.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/update_pytorch_labels.yml
									
									
									
									
										vendored
									
									
								
							| @ -17,7 +17,7 @@ jobs: | ||||
|       contents: read | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           fetch-depth: 1 | ||||
|           submodules: false | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/upload-alerts.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/upload-alerts.yml
									
									
									
									
										vendored
									
									
								
							| @ -44,7 +44,7 @@ jobs: | ||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|           AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||||
|           AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||||
|         uses: pytorch/test-infra/.github/actions/upload-alerts@main | ||||
|         uses: pytorch/test-infra/.github/actions/upload-alerts@release/2.3 | ||||
|         with: | ||||
|           alerts: '${{ steps.alert_creation_step.outputs.script-output }}' | ||||
|           organization: "pytorch" | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/upload-test-stats.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/upload-test-stats.yml
									
									
									
									
										vendored
									
									
								
							| @ -39,7 +39,7 @@ jobs: | ||||
|         run: echo "${TRIGGERING_WORKFLOW}" | ||||
|  | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|  | ||||
|       - uses: actions/setup-python@v4 | ||||
|         with: | ||||
|  | ||||
| @ -29,7 +29,7 @@ jobs: | ||||
|     name: Upload dynamo performance stats for ${{ github.event.workflow_run.id }}, attempt ${{ github.event.workflow_run.run_attempt }} | ||||
|     steps: | ||||
|       - name: Checkout PyTorch | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@main | ||||
|         uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.3 | ||||
|         with: | ||||
|           submodules: false | ||||
|           fetch-depth: 1 | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/workflows/weekly.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/weekly.yml
									
									
									
									
										vendored
									
									
								
							| @ -21,7 +21,7 @@ jobs: | ||||
|           fetch-depth: 0 | ||||
|       - name: update-xla-commit-hash | ||||
|         continue-on-error: true | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@main | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.3 | ||||
|         with: | ||||
|           repo-name: xla | ||||
|           branch: master | ||||
| @ -30,7 +30,7 @@ jobs: | ||||
|           updatebot-token: ${{ secrets.UPDATEBOT_TOKEN }} | ||||
|           pytorchbot-token: ${{ secrets.GH_PYTORCHBOT_TOKEN }} | ||||
|       - name: update-triton-commit-hash | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@main | ||||
|         uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.3 | ||||
|         with: | ||||
|           repo-owner: openai | ||||
|           repo-name: triton | ||||
|  | ||||
| @ -218,7 +218,7 @@ Validate the release jobs for pytorch and domain libraries should be green. Vali | ||||
|   * [TorchVision](https://hud.pytorch.org/hud/pytorch/vision/release%2F1.12) | ||||
|   * [TorchAudio](https://hud.pytorch.org/hud/pytorch/audio/release%2F1.12) | ||||
|  | ||||
| Validate that the documentation build has completed and generated entry corresponding to the release in  [docs folder](https://github.com/pytorch/pytorch.github.io/tree/site/docs/) of pytorch.github.io repository | ||||
| Validate that the documentation build has completed and generated entry corresponding to the release in  [docs repository](https://github.com/pytorch/docs/tree/main/). | ||||
|  | ||||
| ### Cherry Picking Fixes | ||||
|  | ||||
|  | ||||
| @ -13,6 +13,10 @@ namespace at { | ||||
| TORCH_API ScalarType toScalarType(const DLDataType& dtype); | ||||
| TORCH_API DLManagedTensor* toDLPack(const Tensor& src); | ||||
| TORCH_API Tensor fromDLPack(DLManagedTensor* src); | ||||
| C10_DEPRECATED_MESSAGE("Please migrate to a non-const variant") | ||||
| inline Tensor fromDLPack(const DLManagedTensor* src) { | ||||
|   return fromDLPack(const_cast<DLManagedTensor*>(src)); | ||||
| } | ||||
| TORCH_API Tensor | ||||
| fromDLPack(DLManagedTensor* src, std::function<void(void*)> deleter); | ||||
| TORCH_API DLDataType getDLDataType(const Tensor& t); | ||||
|  | ||||
| @ -303,6 +303,29 @@ Tensor FunctionalInverses::_nested_view_from_buffer_inverse(const Tensor& base, | ||||
|     return Tensor(); | ||||
| } | ||||
|  | ||||
| Tensor FunctionalInverses::_nested_view_from_jagged_inverse(const Tensor& base, const Tensor& mutated_view, InverseReturnMode inverse_return_mode, const Tensor& offsets, const Tensor& dummy, const std::optional<Tensor>& lengths, int64_t ragged_idx) { | ||||
|   auto values = at::_nested_get_values(mutated_view); | ||||
|   if (inverse_return_mode != InverseReturnMode::NeverView) { | ||||
|     return values; | ||||
|   } else { | ||||
|     return values.clone(/*memory_format=*/at::MemoryFormat::Contiguous); | ||||
|   } | ||||
| } | ||||
|  | ||||
| Tensor FunctionalInverses::_nested_get_values_inverse(const Tensor& base, const Tensor& mutated_view, InverseReturnMode inverse_return_mode) { | ||||
|   auto offsets = at::_nested_get_offsets(base); | ||||
|   auto lengths = at::_nested_get_lengths(base); | ||||
|   auto ragged_idx = at::_nested_get_ragged_idx(base); | ||||
|   auto dummy = at::_nested_get_jagged_dummy(base); | ||||
|   auto nt = at::_nested_view_from_jagged(mutated_view, offsets, dummy, lengths, ragged_idx); | ||||
|  | ||||
|   if (inverse_return_mode != InverseReturnMode::NeverView) { | ||||
|     return nt; | ||||
|   } else { | ||||
|     return nt.clone(/*memory_format=*/at::MemoryFormat::Contiguous); | ||||
|   } | ||||
| } | ||||
|  | ||||
| Tensor FunctionalInverses::unsqueeze_inverse(const Tensor& base, const Tensor& mutated_view, InverseReturnMode inverse_return_mode, int64_t dim) { | ||||
|     if (inverse_return_mode != InverseReturnMode::NeverView) { | ||||
|       return at::squeeze(mutated_view, dim); | ||||
|  | ||||
| @ -173,11 +173,22 @@ void MPSStream::copy(id<MTLBuffer> srcBuffer, | ||||
|       endKernelCoalescing(); | ||||
|       id<MTLBlitCommandEncoder> blitEncoder = [commandBuffer() blitCommandEncoder]; | ||||
|  | ||||
|       [blitEncoder copyFromBuffer:srcBuffer | ||||
|                      sourceOffset:(NSUInteger)srcOffset | ||||
|                          toBuffer:dstBuffer | ||||
|                 destinationOffset:(NSUInteger)dstOffset | ||||
|                              size:(NSUInteger)length]; | ||||
|       // For some reason copyFromBuffer for 4Gb fails without returning an error | ||||
|       // See https://github.com/pytorch/pytorch/issues/124335 | ||||
|       // Workaround by batching copy commands into 2Gb chunks | ||||
|       constexpr size_t max_copy_size = 0x80000000; // 2GB | ||||
|       size_t bytes_copied = 0; | ||||
|       size_t bytes_remains = length; | ||||
|       while (bytes_remains > 0) { | ||||
|         NSUInteger bytes_to_copy = std::min(max_copy_size, bytes_remains); | ||||
|         [blitEncoder copyFromBuffer:srcBuffer | ||||
|                        sourceOffset:(NSUInteger)srcOffset + bytes_copied | ||||
|                            toBuffer:dstBuffer | ||||
|                   destinationOffset:(NSUInteger)dstOffset + bytes_copied | ||||
|                                size:bytes_to_copy]; | ||||
|         bytes_copied += bytes_to_copy; | ||||
|         bytes_remains -= bytes_to_copy; | ||||
|       } | ||||
|       [blitEncoder endEncoding]; | ||||
|  | ||||
|       // profilerId has a value only if copy profiling is enabled | ||||
|  | ||||
| @ -850,19 +850,13 @@ void try_plans( | ||||
|       benchmark_cache.update(key, plan); | ||||
|       return; | ||||
|     } catch (cudnn_frontend::cudnnException& e) { | ||||
|       TORCH_WARN("Plan failed with a cudnnException: ", e.what()); | ||||
|     } catch (CuDNNError& e) { | ||||
|       TORCH_WARN("Plan failed with a CuDNNError: ", e.what()); | ||||
|     } catch (c10::OutOfMemoryError& e) { | ||||
|       (void)cudaGetLastError(); // clear CUDA error | ||||
|       TORCH_WARN("Plan failed with an OutOfMemoryError: ", e.what()); | ||||
|     } | ||||
|   } | ||||
|   TORCH_CHECK( | ||||
|       false, | ||||
|       "FIND was unable to find an engine to execute this computation after trying ", | ||||
|       plans.size(), | ||||
|       " plans."); | ||||
|       false, "FIND was unable to find an engine to execute this computation"); | ||||
| } | ||||
|  | ||||
| void try_plans_fused( | ||||
| @ -880,19 +874,13 @@ void try_plans_fused( | ||||
|       benchmark_cache_fused.update(key, plan); | ||||
|       return; | ||||
|     } catch (cudnn_frontend::cudnnException& e) { | ||||
|       TORCH_WARN("Plan failed with a cudnnException: ", e.what()); | ||||
|     } catch (CuDNNError& e) { | ||||
|       TORCH_WARN("Plan failed with a CuDNNError: ", e.what()); | ||||
|     } catch (c10::OutOfMemoryError& e) { | ||||
|       (void)cudaGetLastError(); // clear CUDA error | ||||
|       TORCH_WARN("Plan failed with an OutOfMemoryError: ", e.what()); | ||||
|     } | ||||
|   } | ||||
|   TORCH_CHECK( | ||||
|       false, | ||||
|       "FIND was unable to find an engine to execute this computation after trying ", | ||||
|       plans.size(), | ||||
|       " plans."); | ||||
|       false, "FIND was unable to find an engine to execute this computation"); | ||||
| } | ||||
|  | ||||
| bool try_configs( | ||||
| @ -916,12 +904,9 @@ bool try_configs( | ||||
|       benchmark_cache.update(key, plan); | ||||
|       return true; | ||||
|     } catch (cudnn_frontend::cudnnException& e) { | ||||
|       TORCH_WARN("Plan failed with a cudnnException: ", e.what()); | ||||
|     } catch (CuDNNError& e) { | ||||
|       TORCH_WARN("Plan failed with a CuDNNError: ", e.what()); | ||||
|     } catch (c10::OutOfMemoryError& e) { | ||||
|       (void)cudaGetLastError(); // clear CUDA error | ||||
|       TORCH_WARN("Plan failed with an OutOfMemoryError: ", e.what()); | ||||
|     } | ||||
|   } | ||||
|   return false; | ||||
| @ -950,12 +935,9 @@ bool try_configs_fused( | ||||
|       benchmark_cache_fused.update(key, plan); | ||||
|       return true; | ||||
|     } catch (cudnn_frontend::cudnnException& e) { | ||||
|       TORCH_WARN("Plan failed with a cudnnException: ", e.what()); | ||||
|     } catch (CuDNNError& e) { | ||||
|       TORCH_WARN("Plan failed with a CuDNNError: ", e.what()); | ||||
|     } catch (c10::OutOfMemoryError& e) { | ||||
|       (void)cudaGetLastError(); // clear CUDA error | ||||
|       TORCH_WARN("Plan failed with an OutOfMemoryError: ", e.what()); | ||||
|     } | ||||
|   } | ||||
|   return false; | ||||
|  | ||||
| @ -25,6 +25,10 @@ typedef NS_ENUM(NSUInteger, MPSGraphFFTScalingMode) | ||||
| -(MPSGraphTensor * _Nonnull) conjugateWithTensor:(MPSGraphTensor * _Nonnull) tensor | ||||
|                                             name:(NSString * _Nullable) name; | ||||
|  | ||||
| -(MPSGraphTensor * _Nonnull) realPartOfTensor:(MPSGraphTensor * _Nonnull) tensor | ||||
|                                          name:(NSString * _Nullable) name; | ||||
|  | ||||
|  | ||||
| -(MPSGraphTensor * _Nonnull) fastFourierTransformWithTensor:(MPSGraphTensor * _Nonnull) tensor | ||||
|                                                        axes:(NSArray<NSNumber *> * _Nonnull) axes | ||||
|                                                  descriptor:(MPSGraphFFTDescriptor * _Nonnull) descriptor | ||||
|  | ||||
| @ -210,6 +210,9 @@ std::string scalarToMetalTypeString(const c10::ScalarType& scalar_type) { | ||||
|       return "float"; | ||||
|     case ScalarType::Half: | ||||
|       return "half"; | ||||
|     case ScalarType::BFloat16: | ||||
|       checkSupportsBFloat16(); | ||||
|       return "bfloat"; | ||||
|     case ScalarType::Int: | ||||
|       return "int"; | ||||
|     case ScalarType::Long: | ||||
|  | ||||
| @ -28,6 +28,7 @@ static Tensor& fill_scalar_mps_impl(Tensor& self, const Scalar& value) { | ||||
|  | ||||
|   struct CachedGraph : public MPSCachedGraph { | ||||
|     CachedGraph(MPSGraph* graph) : MPSCachedGraph(graph) {} | ||||
|     MPSGraphTensor* inputTensor_ = nil; | ||||
|     MPSGraphTensor* outputTensor_ = nil; | ||||
|   }; | ||||
|  | ||||
| @ -35,36 +36,23 @@ static Tensor& fill_scalar_mps_impl(Tensor& self, const Scalar& value) { | ||||
|     string key = "fill_scalar_mps_impl" + getTensorsStringKey(self) + ":" + to_string(value.toDouble()); | ||||
|  | ||||
|     auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGraph) { | ||||
|       auto isBool = self.scalar_type() == c10::ScalarType::Bool; | ||||
|       auto isUInt8 = self.scalar_type() == c10::ScalarType::Byte; | ||||
|       auto dataType = !isUInt8 ? !isBool ? getMPSScalarType(self.scalar_type()) : MPSDataTypeInt8 : MPSDataTypeUInt32; | ||||
|       // constantWithScalar does not work for boolTypes on MacOS-12.[34] | ||||
|       // workaround by filing it as int8 tensor and than casting to bool | ||||
|       // See https://github.com/pytorch/pytorch/issues/82427 | ||||
|       // constantWithScalar does not work for UInt8 Types on MacOS-12.[34]/Ventura preview | ||||
|       // workaround by filing it as uint32 tensor and than casting to uint8 | ||||
|       // See https://github.com/pytorch/pytorch/issues/83692 | ||||
|       MPSGraphTensor* inputTensor = [mpsGraph constantWithScalar:value.toDouble() | ||||
|                                                            shape:getMPSShape(self) | ||||
|                                                         dataType:dataType]; | ||||
|       MPSGraphTensor* inputTensor = mpsGraphScalarPlaceHolder(mpsGraph, getMPSDataType(self.scalar_type())); | ||||
|       MPSGraphTensor* outputTensor = [mpsGraph identityWithTensor:inputTensor name:nil]; | ||||
|       if (isBool) { | ||||
|         outputTensor = [mpsGraph castTensor:outputTensor toType:MPSDataTypeBool name:@"constWithBool-workaround"]; | ||||
|       } | ||||
|       if (isUInt8) { | ||||
|         outputTensor = [mpsGraph castTensor:outputTensor toType:MPSDataTypeUInt8 name:@"constWithUInt8-workaround"]; | ||||
|       } | ||||
|  | ||||
|       newCachedGraph->inputTensor_ = inputTensor; | ||||
|       newCachedGraph->outputTensor_ = outputTensor; | ||||
|     }); | ||||
|  | ||||
|     auto mpsScalar = getMPSScalar(value, self.scalar_type()); | ||||
|     auto mpsScalarData = getMPSGraphTensorFromScalar(getCurrentMPSStream(), mpsScalar); | ||||
|     NSDictionary<MPSGraphTensor*, MPSGraphTensorData*>* feeds = @{cachedGraph->inputTensor_ : mpsScalarData}; | ||||
|  | ||||
|     Placeholder outputPlaceholder = | ||||
|         Placeholder(cachedGraph->outputTensor_, needsCopyToOutput ? output : self, nullptr, !needsCopyToOutput); | ||||
|  | ||||
|     NSDictionary<MPSGraphTensor*, MPSGraphTensorData*>* results = | ||||
|         @{outputPlaceholder.getMPSGraphTensor() : outputPlaceholder.getMPSGraphTensorData()}; | ||||
|  | ||||
|     runMPSGraph(getCurrentMPSStream(), cachedGraph->graph(), /*feeds*/ nil, results); | ||||
|     runMPSGraph(getCurrentMPSStream(), cachedGraph->graph(), feeds, results); | ||||
|  | ||||
|     if (needsCopyToOutput) { | ||||
|       self.copy_(output); | ||||
|  | ||||
| @ -240,14 +240,20 @@ static void index_put_kernel_mps(TensorIterator& iter, | ||||
| } // namespace mps | ||||
|  | ||||
| static Tensor nonzero_fallback(const Tensor& self) { | ||||
|   TORCH_WARN_ONCE("MPS: nonzero op is supported natively starting from macOS 13.0. ", | ||||
|                   "Falling back on CPU. This may have performance implications."); | ||||
|  | ||||
|   return at::nonzero(self.to("cpu")).clone().to("mps"); | ||||
| } | ||||
|  | ||||
| Tensor& nonzero_out_mps(const Tensor& self, Tensor& out_) { | ||||
|   if (!is_macos_13_or_newer()) { | ||||
|   if (!is_macos_13_or_newer(MacOSVersion::MACOS_VER_14_0_PLUS)) { | ||||
|     TORCH_WARN_ONCE("MPS: nonzero op is supported natively starting from macOS 13.0. ", | ||||
|                     "Falling back on CPU. This may have performance implications."); | ||||
|     Tensor out_fallback = nonzero_fallback(self); | ||||
|     at::native::resize_output(out_, out_fallback.sizes()); | ||||
|     out_.copy_(out_fallback.to("mps")); | ||||
|     return out_; | ||||
|   } else if (self.is_complex()) { | ||||
|     TORCH_WARN_ONCE("MPS: nonzero op is not supported for complex datatypes. ", | ||||
|                     "Falling back on CPU. This may have performance implications."); | ||||
|     Tensor out_fallback = nonzero_fallback(self); | ||||
|     at::native::resize_output(out_, out_fallback.sizes()); | ||||
|     out_.copy_(out_fallback.to("mps")); | ||||
| @ -281,7 +287,6 @@ Tensor& nonzero_out_mps(const Tensor& self, Tensor& out_) { | ||||
|     CachedGraph(MPSGraph* graph) : MPSCachedGraph(graph) {} | ||||
|     MPSGraphTensor* inputTensor_ = nil; | ||||
|     MPSGraphTensor* outputTensor_ = nil; | ||||
|     MPSGraphTensor* scatterDataTensor_ = nil; | ||||
|   }; | ||||
|  | ||||
|   dispatch_sync(stream->queue(), ^() { | ||||
| @ -299,93 +304,20 @@ Tensor& nonzero_out_mps(const Tensor& self, Tensor& out_) { | ||||
|     out = at::empty(out_.sizes(), out_.scalar_type(), c10::nullopt, kMPS, c10::nullopt, c10::nullopt); | ||||
|   } | ||||
|  | ||||
|   int64_t _apparentInputShape = 1; | ||||
|   for (auto dim : self.sizes()) { | ||||
|     _apparentInputShape *= dim; | ||||
|   } | ||||
|   MPSShape* apparentOutputShape = @[ @(total_nonzero * nDim) ]; | ||||
|   MPSShape* apparentInputShape = @[ @(_apparentInputShape) ]; | ||||
|  | ||||
|   // Pseudocode: | ||||
|   // | ||||
|   // inputTensor     = [1,  0,  0,  3] | ||||
|   // inputNonZero    = [1,  0,  0,  1] | ||||
|   // indices         = [1,  1,  1,  2] | ||||
|   // maskedIndices   = [0, -1, -1,  1] | ||||
|   // coordinates     = [0,  1,  2,  3] | ||||
|   // scatterResult   = [0,  3] | ||||
|  | ||||
|   @autoreleasepool { | ||||
|     string key = "nonzero_out_mps" + getTensorsStringKey(self); | ||||
|     auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGraph) { | ||||
|       MPSDataType inputDataType = getMPSDataType(self); | ||||
|       MPSShape* inputShape = getMPSShape(self); | ||||
|       MPSGraphTensor* inputTensor = mpsGraphRankedPlaceHolder(mpsGraph, getMPSDataType(self), getMPSShape(self)); | ||||
|  | ||||
|       MPSGraphTensor* inputTensor = | ||||
|           mpsGraphRankedPlaceHolder(mpsGraph, getMPSScalarType(self.scalar_type()), apparentInputShape); | ||||
|       MPSGraphTensor* scatterDataTensor = mpsGraphUnrankedPlaceHolder(mpsGraph, getMPSScalarType(out.scalar_type())); | ||||
|       MPSGraphTensor* zeroTensor = [mpsGraph constantWithScalar:0.0 dataType:inputDataType]; | ||||
|       MPSGraphTensor* oneTensor = [mpsGraph constantWithScalar:1.0 dataType:MPSDataTypeInt32]; | ||||
|       MPSGraphTensor* minusMaxDimTensor = [mpsGraph constantWithScalar:-maxDimensions dataType:MPSDataTypeInt32]; | ||||
|       MPSGraphTensor* inputNotEqualToZeroTensor = [mpsGraph notEqualWithPrimaryTensor:inputTensor | ||||
|                                                                       secondaryTensor:zeroTensor | ||||
|                                                                                  name:nil]; | ||||
|       MPSGraphTensor* maskTensor = [mpsGraph castTensor:inputNotEqualToZeroTensor | ||||
|                                                  toType:MPSDataTypeInt32 | ||||
|                                                    name:@"castToInt32"]; | ||||
|       MPSGraphTensor* indicesTensor = [mpsGraph cumulativeSumWithTensor:maskTensor axis:0 name:nil]; | ||||
|       MPSGraphTensor* indicesMinusOneTensor = [mpsGraph subtractionWithPrimaryTensor:indicesTensor | ||||
|                                                                      secondaryTensor:oneTensor | ||||
|                                                                                 name:nil]; | ||||
|       MPSGraphTensor* maskedIndicesTensor = [mpsGraph selectWithPredicateTensor:inputNotEqualToZeroTensor | ||||
|                                                             truePredicateTensor:indicesMinusOneTensor | ||||
|                                                            falsePredicateTensor:minusMaxDimTensor | ||||
|                                                                            name:nil]; | ||||
|       MPSGraphTensor* coordinatesTensor = [mpsGraph reshapeTensor:[mpsGraph coordinateAlongAxis:0 | ||||
|                                                                                       withShape:inputShape | ||||
|                                                                                            name:nil] | ||||
|                                                         withShape:@[ @-1 ] | ||||
|                                                              name:nil]; | ||||
|       if (nDim > 1) { | ||||
|         NSMutableArray<MPSGraphTensor*>* maskedIndicesTensorArray = [NSMutableArray arrayWithCapacity:nDim]; | ||||
|         NSMutableArray<MPSGraphTensor*>* coordinatesTensorArray = [NSMutableArray arrayWithCapacity:nDim]; | ||||
|  | ||||
|         MPSGraphTensor* constantRankTensor = [mpsGraph constantWithScalar:nDim dataType:MPSDataTypeInt32]; | ||||
|         maskedIndicesTensorArray[0] = [mpsGraph multiplicationWithPrimaryTensor:maskedIndicesTensor | ||||
|                                                                 secondaryTensor:constantRankTensor | ||||
|                                                                            name:nil]; | ||||
|         coordinatesTensorArray[0] = coordinatesTensor; | ||||
|         for (int i = 1; i < nDim; i++) { | ||||
|           maskedIndicesTensorArray[i] = [mpsGraph additionWithPrimaryTensor:maskedIndicesTensorArray[i - 1] | ||||
|                                                             secondaryTensor:oneTensor | ||||
|                                                                        name:nil]; | ||||
|           coordinatesTensorArray[i] = [mpsGraph reshapeTensor:[mpsGraph coordinateAlongAxis:i | ||||
|                                                                                   withShape:inputShape | ||||
|                                                                                        name:nil] | ||||
|                                                     withShape:@[ @-1 ] | ||||
|                                                          name:nil]; | ||||
|         } | ||||
|         maskedIndicesTensor = [mpsGraph concatTensors:maskedIndicesTensorArray dimension:0 interleave:YES name:nil]; | ||||
|         coordinatesTensor = [mpsGraph concatTensors:coordinatesTensorArray dimension:0 interleave:YES name:nil]; | ||||
|       } | ||||
|  | ||||
|       MPSGraphTensor* outputTensor = [mpsGraph scatterWithDataTensor:scatterDataTensor | ||||
|                                                        updatesTensor:coordinatesTensor | ||||
|                                                        indicesTensor:maskedIndicesTensor | ||||
|                                                                 axis:0 | ||||
|                                                                 mode:MPSGraphScatterModeSet | ||||
|                                                                 name:nil]; | ||||
|       MPSGraphTensor* outputTensor = [mpsGraph nonZeroIndicesOfTensor:inputTensor name:nil]; | ||||
|  | ||||
|       newCachedGraph->inputTensor_ = inputTensor; | ||||
|       newCachedGraph->scatterDataTensor_ = scatterDataTensor; | ||||
|       newCachedGraph->outputTensor_ = outputTensor; | ||||
|     }); | ||||
|  | ||||
|     Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self, apparentInputShape); | ||||
|     Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, out, apparentOutputShape); | ||||
|     Placeholder scatterPlaceholder = Placeholder(cachedGraph->scatterDataTensor_, out, apparentOutputShape); | ||||
|  | ||||
|     auto feeds = dictionaryFromPlaceholders(selfPlaceholder, scatterPlaceholder); | ||||
|     Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self); | ||||
|     Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, out); | ||||
|     auto feeds = dictionaryFromPlaceholders(selfPlaceholder); | ||||
|     runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); | ||||
|   } | ||||
|  | ||||
| @ -397,7 +329,13 @@ Tensor& nonzero_out_mps(const Tensor& self, Tensor& out_) { | ||||
| } | ||||
|  | ||||
| Tensor nonzero_mps(const Tensor& self) { | ||||
|   if (!is_macos_13_or_newer()) { | ||||
|   if (!is_macos_13_or_newer(MacOSVersion::MACOS_VER_14_0_PLUS)) { | ||||
|     TORCH_WARN_ONCE("MPS: nonzero op is supported natively starting from macOS 13.0. ", | ||||
|                     "Falling back on CPU. This may have performance implications."); | ||||
|     return nonzero_fallback(self); | ||||
|   } else if (self.is_complex()) { | ||||
|     TORCH_WARN_ONCE("MPS: nonzero op is not supported for complex datatypes ", | ||||
|                     "Falling back on CPU. This may have performance implications."); | ||||
|     return nonzero_fallback(self); | ||||
|   } | ||||
|  | ||||
|  | ||||
| @ -4,6 +4,8 @@ | ||||
| #include <ATen/mps/MPSProfiler.h> | ||||
| #include <ATen/native/LinearAlgebraUtils.h> | ||||
| #include <ATen/native/Resize.h> | ||||
| // For MTLLanguageVersion_3_1 | ||||
| #include <ATen/native/mps/MPSGraphSonomaOps.h> | ||||
| #include <ATen/native/mps/OperationUtils.h> | ||||
|  | ||||
| #ifndef AT_PER_OPERATOR_HEADERS | ||||
| @ -29,7 +31,7 @@ static const char* METAL_LINALG = R"MATMUL_METAL( | ||||
| using namespace metal; | ||||
| template<typename T> | ||||
| T dot_product(constant T *v1, constant T* v2, ulong2 strides, uint32_t size) { | ||||
|   T rc = 0.0; | ||||
|   T rc = T(0.0); | ||||
|   for (uint32_t i = 0; i < size; ++i) { | ||||
|     rc += v1[i * strides.x] * v2[i * strides.y]; | ||||
|   } | ||||
| @ -69,6 +71,9 @@ kernel void naive_matmul<DTYPE>(                                           \ | ||||
|  | ||||
| INSTANTIATE_NAIVE_MM(float); | ||||
| INSTANTIATE_NAIVE_MM(half); | ||||
| #if __METAL_VERSION__ >= 310 | ||||
| INSTANTIATE_NAIVE_MM(bfloat); | ||||
| #endif | ||||
| )MATMUL_METAL"; | ||||
|  | ||||
| id<MTLLibrary> compileLinalgOpLibrary(id<MTLDevice> device) { | ||||
| @ -79,7 +84,8 @@ id<MTLLibrary> compileLinalgOpLibrary(id<MTLDevice> device) { | ||||
|  | ||||
|   NSError* error = nil; | ||||
|   MTLCompileOptions* options = [[MTLCompileOptions new] autorelease]; | ||||
|   [options setLanguageVersion:MTLLanguageVersion2_3]; | ||||
|   [options setLanguageVersion:is_macos_13_or_newer(MacOSVersion::MACOS_VER_14_0_PLUS) ? MTLLanguageVersion3_1 | ||||
|                                                                                       : MTLLanguageVersion2_3]; | ||||
|   linalgLibrary = [device newLibraryWithSource:[NSString stringWithCString:METAL_LINALG encoding:NSASCIIStringEncoding] | ||||
|                                        options:options | ||||
|                                          error:&error]; | ||||
|  | ||||
| @ -30,41 +30,53 @@ static void clamp_mps_graph(CachedGraph* cachedGraph, | ||||
|                             const Tensor& min_tensor, | ||||
|                             const Tensor& max_tensor) { | ||||
|   auto input_dtype = input_tensor.scalar_type(); | ||||
|   auto min_dtype = input_dtype; | ||||
|   auto max_dtype = input_dtype; | ||||
|   if (cachedGraph->minTensor) { | ||||
|     min_dtype = min_tensor.scalar_type(); | ||||
|   } | ||||
|   if (cachedGraph->maxTensor) { | ||||
|     max_dtype = max_tensor.scalar_type(); | ||||
|   } | ||||
|   auto min_dtype = cachedGraph->minTensor ? min_tensor.scalar_type() : input_dtype; | ||||
|   auto max_dtype = cachedGraph->maxTensor ? max_tensor.scalar_type() : input_dtype; | ||||
|  | ||||
|   MPSGraph* mpsGraph = cachedGraph->graph(); | ||||
|  | ||||
|   cachedGraph->inputTensor = mpsGraphRankedPlaceHolder(mpsGraph, input_tensor); | ||||
|  | ||||
|   MPSGraphTensor* minTensor = cachedGraph->minTensor; | ||||
|   MPSGraphTensor* maxTensor = cachedGraph->maxTensor; | ||||
|   auto minTensor = cachedGraph->minTensor; | ||||
|   auto maxTensor = cachedGraph->maxTensor; | ||||
|  | ||||
|   if (input_dtype != min_dtype) { | ||||
|     minTensor = castMPSTensor(mpsGraph, cachedGraph->minTensor, input_dtype); | ||||
|   } | ||||
|   if (input_dtype != max_dtype) { | ||||
|     maxTensor = castMPSTensor(mpsGraph, cachedGraph->maxTensor, input_dtype); | ||||
|   } | ||||
|   if (cachedGraph->minTensor && cachedGraph->maxTensor) { | ||||
|     cachedGraph->outputTensor = [mpsGraph clampWithTensor:cachedGraph->inputTensor | ||||
|                                            minValueTensor:minTensor | ||||
|                                            maxValueTensor:maxTensor | ||||
|                                                      name:nil]; | ||||
|   } else if (cachedGraph->maxTensor) { | ||||
|     cachedGraph->outputTensor = [mpsGraph minimumWithPrimaryTensor:cachedGraph->inputTensor | ||||
|                                                    secondaryTensor:maxTensor | ||||
|                                                               name:nil]; | ||||
|   } else if (cachedGraph->minTensor) { | ||||
|     cachedGraph->outputTensor = [mpsGraph maximumWithPrimaryTensor:cachedGraph->inputTensor | ||||
|                                                    secondaryTensor:minTensor | ||||
|                                                               name:nil]; | ||||
|   if (c10::isIntegralType(input_dtype, /*includeBool=*/true)) { | ||||
|     if (minTensor && maxTensor) { | ||||
|       cachedGraph->outputTensor = [mpsGraph clampWithTensor:cachedGraph->inputTensor | ||||
|                                              minValueTensor:minTensor | ||||
|                                              maxValueTensor:maxTensor | ||||
|                                                        name:nil]; | ||||
|     } else if (maxTensor) { | ||||
|       cachedGraph->outputTensor = [mpsGraph minimumWithPrimaryTensor:cachedGraph->inputTensor | ||||
|                                                      secondaryTensor:maxTensor | ||||
|                                                                 name:nil]; | ||||
|     } else if (minTensor) { | ||||
|       cachedGraph->outputTensor = [mpsGraph maximumWithPrimaryTensor:cachedGraph->inputTensor | ||||
|                                                      secondaryTensor:minTensor | ||||
|                                                                 name:nil]; | ||||
|     } | ||||
|     return; | ||||
|   } | ||||
|   // clampWithTensor doesn't propagate NaN through so simulate it as composition of | ||||
|   // maximumWithNaNPropagationWithPrimaryTensor and minimumWithNaNPropagationWithPrimaryTensor | ||||
|   auto outputTensor = cachedGraph->inputTensor; | ||||
|   if (minTensor) { | ||||
|     outputTensor = [mpsGraph maximumWithNaNPropagationWithPrimaryTensor:outputTensor | ||||
|                                                         secondaryTensor:minTensor | ||||
|                                                                    name:nil]; | ||||
|   } | ||||
|   if (maxTensor) { | ||||
|     outputTensor = [mpsGraph minimumWithNaNPropagationWithPrimaryTensor:outputTensor | ||||
|                                                         secondaryTensor:maxTensor | ||||
|                                                                    name:nil]; | ||||
|   } | ||||
|   cachedGraph->outputTensor = outputTensor; | ||||
| } | ||||
|  | ||||
| static void check_min_max_dims(const OptionalTensorRef clamp_opt, const Tensor& input_t, string op_name) { | ||||
|  | ||||
| @ -75,23 +75,10 @@ static bool is_empty_tensor(const Tensor& self) { | ||||
|   return self.numel() == 0; | ||||
| } | ||||
|  | ||||
| static void unary_op(const Tensor& self, | ||||
|                      const Tensor& output_, | ||||
|                      std::string op_name, | ||||
|                      UnaryOpBlock unaryBlock, | ||||
|                      is_noop_p is_noop = is_empty_tensor) { | ||||
| static void unary_op_noresize(const Tensor& self, const Tensor& output_, std::string op_name, UnaryOpBlock unaryBlock) { | ||||
|   TORCH_CHECK(!(!is_macos_13_or_newer() && self.scalar_type() == ScalarType::Byte), | ||||
|               "MPS support unary op with uint8 natively starting from macOS 13.0"); | ||||
|  | ||||
|   if (!output_.is_same_size(self)) { | ||||
|     output_.resize_(self.sizes()); | ||||
|   } | ||||
|  | ||||
|   if (is_noop(self)) { | ||||
|     output_.copy_(self); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   auto output = output_; | ||||
|   bool needsCopyToOutput = false; | ||||
|   if (output.storage_offset() || !output.is_contiguous()) { | ||||
| @ -139,6 +126,23 @@ static void unary_op(const Tensor& self, | ||||
|   } | ||||
| } | ||||
|  | ||||
| static void unary_op(const Tensor& self, | ||||
|                      const Tensor& output_, | ||||
|                      std::string op_name, | ||||
|                      UnaryOpBlock unaryBlock, | ||||
|                      is_noop_p is_noop = is_empty_tensor) { | ||||
|   if (!output_.is_same_size(self)) { | ||||
|     output_.resize_(self.sizes()); | ||||
|   } | ||||
|  | ||||
|   if (is_noop(self)) { | ||||
|     output_.copy_(self); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   unary_op_noresize(self, output_, op_name, unaryBlock); | ||||
| } | ||||
|  | ||||
| MPSGraphTensor* trunc_tensor(MPSGraph* mpsGraph, MPSGraphTensor* inputTensor) { | ||||
|   // Rounding is a no-op for integral types, and also a reasonable workaround | ||||
|   // For MPSGraph bug on Apple Silicon, that throws `Function floorOp_i64 was not found in the library` | ||||
| @ -168,6 +172,12 @@ MPSGraphTensor* log1p(MPSGraph* mpsGraph, MPSGraphTensor* inputTensor) { | ||||
|   return [mpsGraph logarithmWithTensor:addedTensor name:nil]; | ||||
| } | ||||
|  | ||||
| static MPSGraphTensor* lengthOfComplexAsReal(MPSGraph* mpsGraph, MPSGraphTensor* inputTensor) { | ||||
|   auto squares = [mpsGraph squareWithTensor:inputTensor name:nil]; | ||||
|   auto sumSquares = [mpsGraph reductionSumWithTensor:squares axis:-1 name:nil]; | ||||
|   return [mpsGraph squareRootWithTensor:sumSquares name:nil]; | ||||
| } | ||||
|  | ||||
| } // namespace mps | ||||
|  | ||||
| TORCH_IMPL_FUNC(trunc_out_mps)(const Tensor& self, const Tensor& output) { | ||||
| @ -226,14 +236,6 @@ CREATE_MPS_STRUCTURED_UNARY_ROUNDING_TORCH_IMPL_FUNC(round_out_mps, round) | ||||
|     });                                                                                                          \ | ||||
|   } | ||||
|  | ||||
| #define CREATE_MPS_UNARY_TORCH_IMPL_FUNC(func_out, func_stub)                                                    \ | ||||
|   Tensor& func_out(const Tensor& self, Tensor& output) {                                                         \ | ||||
|     mps::unary_op(self, output, #func_out, ^MPSGraphTensor*(MPSGraph * mpsGraph, MPSGraphTensor * inputTensor) { \ | ||||
|       return [mpsGraph func_stub##WithTensor:inputTensor name:nil];                                              \ | ||||
|     });                                                                                                          \ | ||||
|     return output;                                                                                               \ | ||||
|   } | ||||
|  | ||||
| CREATE_MPS_STRUCTURED_UNARY_TORCH_IMPL_FUNC(exp_out_mps, exponent) | ||||
| CREATE_MPS_STRUCTURED_UNARY_TORCH_IMPL_FUNC(exp2_out_mps, exponentBase2) | ||||
| CREATE_MPS_STRUCTURED_UNARY_TORCH_IMPL_FUNC(reciprocal_out_mps, reciprocal) | ||||
| @ -257,7 +259,35 @@ CREATE_MPS_STRUCTURED_UNARY_TORCH_IMPL_FUNC(asinh_out_mps, asinh) | ||||
| CREATE_MPS_STRUCTURED_UNARY_TORCH_IMPL_FUNC(acosh_out_mps, acosh) | ||||
| CREATE_MPS_STRUCTURED_UNARY_TORCH_IMPL_FUNC(atanh_out_mps, atanh) | ||||
|  | ||||
| CREATE_MPS_UNARY_TORCH_IMPL_FUNC(abs_out_mps, absolute) | ||||
| Tensor& abs_out_mps(const Tensor& self, Tensor& output) { | ||||
|   using namespace mps; | ||||
|  | ||||
|   if (!output.is_same_size(self)) { | ||||
|     output.resize_(self.sizes()); | ||||
|   } | ||||
|  | ||||
|   if (self.numel() == 0) { | ||||
|     return output; | ||||
|   } | ||||
|  | ||||
|   if (supportsComplex() || !self.is_complex()) { | ||||
|     unary_op_noresize(self, output, "abs_out_mps", ^MPSGraphTensor*(MPSGraph* mpsGraph, MPSGraphTensor* inputTensor) { | ||||
|       auto rc = [mpsGraph absoluteWithTensor:inputTensor name:nil]; | ||||
|       if (self.is_complex()) { | ||||
|         rc = [mpsGraph realPartOfTensor:rc name:nil]; | ||||
|       } | ||||
|       return rc; | ||||
|     }); | ||||
|   } else { | ||||
|     Tensor realInput = at::view_as_real(self); | ||||
|     unary_op_noresize( | ||||
|         realInput, output, "abs_out_mps", ^MPSGraphTensor*(MPSGraph* mpsGraph, MPSGraphTensor* inputTensor) { | ||||
|           auto rc = lengthOfComplexAsReal(mpsGraph, inputTensor); | ||||
|           return [mpsGraph reshapeTensor:rc withShape:getMPSShape(output) name:nil]; | ||||
|         }); | ||||
|   } | ||||
|   return output; | ||||
| } | ||||
|  | ||||
| Tensor& logical_not_out_mps(const Tensor& self, Tensor& output) { | ||||
|   auto bool_self = self.to(ScalarType::Bool); | ||||
| @ -484,9 +514,7 @@ TORCH_IMPL_FUNC(sgn_out_mps)(const Tensor& self, const Tensor& output) { | ||||
|   Tensor realOutput = at::view_as_real(output); | ||||
|  | ||||
|   auto complex_sgn_op = [&](MPSGraph* mpsGraph, MPSGraphTensor* inputTensor) -> MPSGraphTensor* { | ||||
|     MPSGraphTensor* squares = [mpsGraph squareWithTensor:inputTensor name:nil]; | ||||
|     MPSGraphTensor* sumSquares = [mpsGraph reductionSumWithTensor:squares axis:-1 name:nil]; | ||||
|     MPSGraphTensor* norm = [mpsGraph squareRootWithTensor:sumSquares name:nil]; | ||||
|     MPSGraphTensor* norm = mps::lengthOfComplexAsReal(mpsGraph, inputTensor); | ||||
|     MPSGraphTensor* zero = [mpsGraph constantWithScalar:0.0 dataType:norm.dataType]; | ||||
|     MPSGraphTensor* isZero = [mpsGraph equalWithPrimaryTensor:norm secondaryTensor:zero name:nil]; | ||||
|     MPSGraphTensor* sgnTensor = [mpsGraph divisionWithPrimaryTensor:inputTensor secondaryTensor:norm name:nil]; | ||||
|  | ||||
| @ -6154,6 +6154,52 @@ | ||||
|     CompositeExplicitAutogradNonFunctional: _nested_view_from_buffer_copy | ||||
|   autogen: _nested_view_from_buffer_copy.out | ||||
|  | ||||
| - func: _nested_view_from_jagged(Tensor(a) self, Tensor offsets, Tensor dummy, Tensor? lengths=None, int ragged_idx=1) -> Tensor(a) | ||||
|   variants: function | ||||
|   device_check: NoCheck | ||||
|   dispatch: {} | ||||
|  | ||||
| - func: _nested_view_from_jagged_copy(Tensor self, Tensor offsets, Tensor dummy, Tensor? lengths=None, int ragged_idx=1) -> Tensor | ||||
|   variants: function | ||||
|   device_check: NoCheck | ||||
|   tags: view_copy | ||||
|   dispatch: | ||||
|     CompositeExplicitAutogradNonFunctional: _nested_view_from_jagged_copy | ||||
|   autogen: _nested_view_from_jagged_copy.out | ||||
|  | ||||
| - func: _nested_get_values(Tensor(a) self) -> Tensor(a) | ||||
|   variants: function | ||||
|   device_check: NoCheck | ||||
|   dispatch: {} | ||||
|  | ||||
| - func: _nested_get_values_copy(Tensor self) -> Tensor | ||||
|   variants: function | ||||
|   device_check: NoCheck | ||||
|   tags: view_copy | ||||
|   dispatch: | ||||
|     CompositeExplicitAutogradNonFunctional: _nested_get_values_copy | ||||
|   autogen: _nested_get_values_copy.out | ||||
|  | ||||
| - func: _nested_get_offsets(Tensor self) -> Tensor | ||||
|   variants: function | ||||
|   device_check: NoCheck | ||||
|   dispatch: {} | ||||
|  | ||||
| # returns undefined Tensor if no lengths present | ||||
| - func: _nested_get_lengths(Tensor self) -> Tensor | ||||
|   variants: function | ||||
|   device_check: NoCheck | ||||
|   dispatch: {} | ||||
|  | ||||
| - func: _nested_get_ragged_idx(Tensor self) -> int | ||||
|   variants: function | ||||
|   device_check: NoCheck | ||||
|   dispatch: {} | ||||
|  | ||||
| - func: _nested_get_jagged_dummy(Tensor any) -> Tensor | ||||
|   category_override: dummy | ||||
|   dispatch: {} | ||||
|  | ||||
| - func: _trilinear(Tensor i1, Tensor i2, Tensor i3, int[] expand1, int[] expand2, int[] expand3, int[] sumdim, int unroll_dim=1) -> Tensor | ||||
|   dispatch: | ||||
|     # calls unsqueeze | ||||
|  | ||||
| @ -157,43 +157,6 @@ aotriton::TensorView<Rank> mk_aotensor(const at::Tensor& q, c10::string_view ten | ||||
|                                     cast_dtype(q.dtype())); | ||||
| } | ||||
|  | ||||
| template<bool COPY_FROM_INPUT,  // For Input Tensor | ||||
|          bool COPY_BACK>        // For Output Tensor | ||||
| class TensorStorageSanitizer { | ||||
| public: | ||||
|   TensorStorageSanitizer(const at::Tensor& ref, | ||||
|                          at::Tensor& to_sanitize) | ||||
|     : ref_(ref), to_sanitize_(to_sanitize) | ||||
|   { | ||||
|     need_sanitize = ref_.strides() !=  to_sanitize_.strides(); | ||||
|     if (!need_sanitize) | ||||
|       return; | ||||
|  | ||||
|     temp_ = at::empty_like(ref_); | ||||
|     if (COPY_FROM_INPUT) { | ||||
|       temp_.copy_(to_sanitize_); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   ~TensorStorageSanitizer() | ||||
|   { | ||||
|     if (need_sanitize && COPY_BACK) | ||||
|       to_sanitize_.copy_(temp_); | ||||
|   } | ||||
|  | ||||
|   at::Tensor& sanitized_tensor() | ||||
|   { | ||||
|     if (need_sanitize) | ||||
|       return temp_; | ||||
|     return to_sanitize_; | ||||
|   } | ||||
| private: | ||||
|   const at::Tensor& ref_; | ||||
|   at::Tensor& to_sanitize_; | ||||
|   at::Tensor temp_; | ||||
|   bool need_sanitize = false; | ||||
| }; | ||||
|  | ||||
| } | ||||
|  | ||||
| #define CHECK_DEVICE(x) TORCH_CHECK(x.is_cuda(), #x " must be on CUDA") | ||||
| @ -531,9 +494,6 @@ mha_bwd(const at::Tensor &dout,  // batch_size x seqlen_q x num_heads, x head_si | ||||
|   int d_head = head_size_og; | ||||
|   hipError_t err; // TODO: Error handling | ||||
|   { | ||||
|     TensorStorageSanitizer<true, false> dq_s(q_t, dq_t); | ||||
|     TensorStorageSanitizer<true, false> dk_s(k_t, dk_t); | ||||
|     TensorStorageSanitizer<true, false> dv_s(v_t, dv_t); | ||||
|     using aotriton::v2::flash::attn_bwd; | ||||
|     err = attn_bwd(mk_aotensor(q_t, "q"), | ||||
|                    mk_aotensor(k_t, "k"), | ||||
| @ -541,9 +501,9 @@ mha_bwd(const at::Tensor &dout,  // batch_size x seqlen_q x num_heads, x head_si | ||||
|                    softmax_scale, | ||||
|                    mk_aotensor(out_t, "out"), | ||||
|                    mk_aotensor(dout_t, "dout"), | ||||
|                    mk_aotensor(dq_s.sanitized_tensor(), "dq"), | ||||
|                    mk_aotensor(dk_s.sanitized_tensor(), "dk"), | ||||
|                    mk_aotensor(dv_s.sanitized_tensor(), "dv"), | ||||
|                    mk_aotensor(dq_t, "dq"), | ||||
|                    mk_aotensor(dk_t, "dk"), | ||||
|                    mk_aotensor(dv_t, "dv"), | ||||
|                    mk_aotensor<2>(softmax_lse_cont, "L"), | ||||
|                    mk_aotensor<2>(delta, "delta"), | ||||
|                    p_dropout, | ||||
|  | ||||
							
								
								
									
										2
									
								
								cmake/External/aotriton.cmake
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								cmake/External/aotriton.cmake
									
									
									
									
										vendored
									
									
								
							| @ -6,7 +6,7 @@ if(NOT __AOTRITON_INCLUDED) | ||||
|   set(__AOTRITON_INSTALL_DIR "${PROJECT_SOURCE_DIR}/torch") | ||||
|   ExternalProject_Add(aotriton_external | ||||
|     GIT_REPOSITORY https://github.com/ROCm/aotriton.git | ||||
|     GIT_TAG 9044fe5eb16130e49a0a1f781ea15037353ad542 | ||||
|     GIT_TAG 24a3fe9cb57e5cda3c923df29743f9767194cc27 | ||||
|     SOURCE_DIR ${__AOTRITON_SOURCE_DIR} | ||||
|     BINARY_DIR ${__AOTRITON_BUILD_DIR} | ||||
|     PREFIX ${__AOTRITON_INSTALL_DIR} | ||||
|  | ||||
| @ -83,6 +83,22 @@ devel-push: DOCKER_TAG := $(PYTORCH_VERSION)-cuda$(CUDA_VERSION_SHORT)-cudnn$(CU | ||||
| devel-push: | ||||
| 	$(DOCKER_PUSH) | ||||
|  | ||||
| ifeq ("$(CUDA_VERSION_SHORT)","cpu") | ||||
|  | ||||
| .PHONY: runtime-image | ||||
| runtime-image: BASE_IMAGE := $(BASE_RUNTIME) | ||||
| runtime-image: DOCKER_TAG := $(PYTORCH_VERSION)-runtime | ||||
| runtime-image: | ||||
| 	$(DOCKER_BUILD) | ||||
|  | ||||
| .PHONY: runtime-push | ||||
| runtime-push: BASE_IMAGE := $(BASE_RUNTIME) | ||||
| runtime-push: DOCKER_TAG := $(PYTORCH_VERSION)-runtime | ||||
| runtime-push: | ||||
| 	$(DOCKER_PUSH) | ||||
|  | ||||
| else | ||||
|  | ||||
| .PHONY: runtime-image | ||||
| runtime-image: BASE_IMAGE := $(BASE_RUNTIME) | ||||
| runtime-image: DOCKER_TAG := $(PYTORCH_VERSION)-cuda$(CUDA_VERSION_SHORT)-cudnn$(CUDNN_VERSION)-runtime | ||||
| @ -95,6 +111,8 @@ runtime-push: DOCKER_TAG := $(PYTORCH_VERSION)-cuda$(CUDA_VERSION_SHORT)-cudnn$( | ||||
| runtime-push: | ||||
| 	$(DOCKER_PUSH) | ||||
|  | ||||
| endif | ||||
|  | ||||
| .PHONY: clean | ||||
| clean: | ||||
| 	-docker rmi -f $(shell docker images -q $(DOCKER_FULL_NAME)) | ||||
|  | ||||
							
								
								
									
										18
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								setup.py
									
									
									
									
									
								
							| @ -548,7 +548,9 @@ class build_ext(setuptools.command.build_ext.build_ext): | ||||
|         omp_lib_name = ( | ||||
|             "libomp.dylib" if os.uname().machine == "arm64" else "libiomp5.dylib" | ||||
|         ) | ||||
|         if os.path.join("@rpath", omp_lib_name) not in libs: | ||||
|         omp_rpath_lib_path = os.path.join("@rpath", omp_lib_name) | ||||
|         omp_loader_lib_path = os.path.join("@loader_path", omp_lib_name) | ||||
|         if omp_rpath_lib_path not in libs: | ||||
|             return | ||||
|  | ||||
|         # Copy libomp/libiomp5 from rpath locations | ||||
| @ -558,6 +560,20 @@ class build_ext(setuptools.command.build_ext.build_ext): | ||||
|                 continue | ||||
|             target_lib = os.path.join(self.build_lib, "torch", "lib", omp_lib_name) | ||||
|             self.copy_file(source_lib, target_lib) | ||||
|             # Change OMP library load path to loader_path and delete old rpath | ||||
|             # This should prevent delocate from attempting to package another instance | ||||
|             # of OpenMP library in torch wheel | ||||
|             subprocess.check_call( | ||||
|                 [ | ||||
|                     "install_name_tool", | ||||
|                     "-change", | ||||
|                     omp_rpath_lib_path, | ||||
|                     omp_loader_lib_path, | ||||
|                     "-delete_rpath", | ||||
|                     rpath, | ||||
|                     libtorch_cpu_path, | ||||
|                 ] | ||||
|             ) | ||||
|             break | ||||
|  | ||||
|         # Copy omp.h from OpenMP_C_FLAGS and copy it into include folder | ||||
|  | ||||
| @ -250,6 +250,44 @@ class DTensorAPITest(DTensorTestBase): | ||||
|         self.assertIsInstance(local_out, torch.Tensor) | ||||
|         self.assertNotIsInstance(local_out, DTensor) | ||||
|  | ||||
|     @with_comms | ||||
|     def test_distribute_module_casting(self): | ||||
|         device_mesh = DeviceMesh(self.device_type, list(range(self.world_size))) | ||||
|  | ||||
|         # check DTensor casting | ||||
|         dt = DTensor.from_local(torch.rand(10), device_mesh, [Replicate()]) | ||||
|         dt = dt.to(torch.bfloat16) | ||||
|         self.assertEqual(dt.dtype, torch.bfloat16) | ||||
|         self.assertEqual(dt._local_tensor.dtype, torch.bfloat16) | ||||
|  | ||||
|         # check distribute_tensor casting | ||||
|         dt = distribute_tensor(torch.rand(10), device_mesh, [Replicate()]) | ||||
|         dt = dt.to(torch.bfloat16) | ||||
|         self.assertEqual(dt.dtype, torch.bfloat16) | ||||
|         self.assertEqual(dt._local_tensor.dtype, torch.bfloat16) | ||||
|  | ||||
|         # check distribute_module casting | ||||
|         model = MyModel(10, 10, device=self.device_type) | ||||
|         replica_model = distribute_module( | ||||
|             model, | ||||
|             device_mesh, | ||||
|         ) | ||||
|         replica_model = replica_model.to(torch.bfloat16) | ||||
|         self.assertEqual(replica_model.seq[0].weight.dtype, torch.bfloat16) | ||||
|         self.assertEqual( | ||||
|             replica_model.seq[0].weight._local_tensor.dtype, torch.bfloat16 | ||||
|         ) | ||||
|  | ||||
|         # check autocast | ||||
|         dt = distribute_tensor(torch.rand(10), device_mesh, [Replicate()]) | ||||
|         replica_model = distribute_module( | ||||
|             model, | ||||
|             device_mesh, | ||||
|         ) | ||||
|         with torch.autocast(device_type=self.device_type, dtype=torch.bfloat16): | ||||
|             output = replica_model(dt) | ||||
|         self.assertEqual(output.dtype, torch.bfloat16) | ||||
|  | ||||
|     @with_comms | ||||
|     def test_distribute_module_meta(self): | ||||
|         # If  the model is too big, the user may first the create entire model on the meta device and then initialize | ||||
|  | ||||
| @ -22,6 +22,7 @@ from torch.distributed.checkpoint.state_dict import ( | ||||
|     _patch_model_state_dict, | ||||
|     _patch_optimizer_state_dict, | ||||
|     get_model_state_dict, | ||||
|     get_optimizer_state_dict, | ||||
|     get_state_dict, | ||||
|     set_model_state_dict, | ||||
|     set_state_dict, | ||||
| @ -506,7 +507,7 @@ class TestStateDict(DTensorTestBase, VerifyStateDictMixin): | ||||
|  | ||||
|     @with_comms | ||||
|     @skip_if_lt_x_gpu(1) | ||||
|     def test_activation_ckpt_fqns(self) -> None: | ||||
|     def test_activation_ckpt_fqns_ddp(self) -> None: | ||||
|         """Tests that activation checkpointing prefixes are removed from module names""" | ||||
|         model = CompositeParamModel(device=torch.device("cuda")) | ||||
|         original_keys = get_model_state_dict(model).keys() | ||||
| @ -517,6 +518,68 @@ class TestStateDict(DTensorTestBase, VerifyStateDictMixin): | ||||
|  | ||||
|         self.assertEqual(original_keys, new_keys) | ||||
|  | ||||
|     @with_comms | ||||
|     @skip_if_lt_x_gpu(1) | ||||
|     def test_extra_state(self) -> None: | ||||
|         model = CompositeParamModel(device=torch.device("cuda")) | ||||
|  | ||||
|         def get_extra_state(self): | ||||
|             return "MyState" | ||||
|  | ||||
|         def set_extra_state(self, state): | ||||
|             return | ||||
|  | ||||
|         UnitModule.get_extra_state = get_extra_state | ||||
|         UnitModule.set_extra_state = set_extra_state | ||||
|  | ||||
|         ddp_model = DDP(copy.deepcopy(model)) | ||||
|         set_model_state_dict(ddp_model, get_model_state_dict(ddp_model)) | ||||
|         self.assertEqual(model.state_dict()["u1._extra_state"], "MyState") | ||||
|         self.assertEqual(model.state_dict(), get_model_state_dict(ddp_model)) | ||||
|  | ||||
|     @with_comms | ||||
|     @skip_if_lt_x_gpu(1) | ||||
|     def test_activation_ckpt_fqns_fsdp1(self) -> None: | ||||
|         self.run_subtests( | ||||
|             {"use_orig_params": [True, False]}, | ||||
|             self._test_activation_ckpt_fqns_fsdp1, | ||||
|         ) | ||||
|  | ||||
|     def _test_activation_ckpt_fqns_fsdp1(self, use_orig_params: bool) -> None: | ||||
|         """Tests that activation checkpointing prefixes are removed from module names""" | ||||
|         model = CompositeParamModel(device=torch.device("cuda")) | ||||
|         original_keys = get_model_state_dict(model).keys() | ||||
|  | ||||
|         apply_activation_checkpointing(model) | ||||
|         model = FSDP(model, use_orig_params=use_orig_params) | ||||
|         new_keys = get_model_state_dict(model).keys() | ||||
|  | ||||
|         self.assertEqual(original_keys, new_keys) | ||||
|  | ||||
|     @with_comms | ||||
|     @skip_if_lt_x_gpu(1) | ||||
|     def test_non_persistent_buffers(self) -> None: | ||||
|         model = CompositeParamModel(device=torch.device("cuda")) | ||||
|         model.register_buffer( | ||||
|             "dont_save_me", torch.rand(100, device="cuda"), persistent=False | ||||
|         ) | ||||
|         ddp_model = DDP(copy.deepcopy(model)) | ||||
|         set_model_state_dict(ddp_model, get_model_state_dict(ddp_model)) | ||||
|         self.assertEqual(model.state_dict(), get_model_state_dict(ddp_model)) | ||||
|  | ||||
|     @with_comms | ||||
|     @skip_if_lt_x_gpu(2) | ||||
|     def test_fsdp_root_not_initialized(self) -> None: | ||||
|         # This test verifies that FSDP root is not initialized but we should | ||||
|         # still be able to  get the state_dict without errors because | ||||
|         # fsdp_model.state_dict() will trigger the FSDP initialization. | ||||
|         device_mesh = init_device_mesh("cuda", (self.world_size,)) | ||||
|         model = CompositeParamModel(device=torch.device("cuda")) | ||||
|         fsdp_model = FSDP(copy.deepcopy(model), device_mesh=device_mesh) | ||||
|         fsdp_optim = torch.optim.Adam(fsdp_model.parameters()) | ||||
|         get_model_state_dict(fsdp_model) | ||||
|         get_optimizer_state_dict(fsdp_model, fsdp_optim) | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     run_tests() | ||||
|  | ||||
| @ -18,6 +18,7 @@ from torch.distributed._tensor.debug import CommDebugMode | ||||
| from torch.distributed.fsdp.fully_sharded_data_parallel import ( | ||||
|     CPUOffload, | ||||
|     FullyShardedDataParallel as FSDP, | ||||
|     ShardingStrategy, | ||||
| ) | ||||
| from torch.distributed.tensor.parallel import ( | ||||
|     ColwiseParallel, | ||||
| @ -28,7 +29,6 @@ from torch.testing._internal.common_distributed import skip_if_lt_x_gpu | ||||
| from torch.testing._internal.common_fsdp import FSDPTest | ||||
| from torch.testing._internal.common_utils import ( | ||||
|     instantiate_parametrized_tests, | ||||
|     parametrize, | ||||
|     run_tests, | ||||
|     TEST_WITH_DEV_DBG_ASAN, | ||||
| ) | ||||
| @ -141,31 +141,36 @@ class TestTPFSDPIntegration(FSDPTest): | ||||
|         tp_world_size = tp_pg.size() | ||||
|         fsdp_world_size = self.world_size // tp_world_size | ||||
|         assert ( | ||||
|             type(tp_fsdp_model) is FSDP and len(list(tp_fsdp_model.parameters())) == 1 | ||||
|             type(tp_fsdp_model) is FSDP | ||||
|             and len([m for m in tp_fsdp_model.modules() if type(m) is FSDP]) == 1 | ||||
|         ), ( | ||||
|             "The following logic assumes a single top-level-only FSDP wrapping " | ||||
|             "the model with TP already applied" | ||||
|         ) | ||||
|         flat_param = tp_fsdp_model.params[0] | ||||
|         splits = tuple(param_name_to_numel.values()) | ||||
|         # Create a mask over the gradient elements to manually reduce | ||||
|         unsharded_size = torch.Size([flat_param.numel() * fsdp_world_size]) | ||||
|         unsharded_zeros = torch.zeros(unsharded_size, device=flat_param.device) | ||||
|         per_param_masks = unsharded_zeros.split(splits) | ||||
|         for param_idx, param_name in enumerate( | ||||
|             param_name_to_numel.keys() | ||||
|         ):  # assumes fixed order | ||||
|             if param_name not in non_sharded_param_names: | ||||
|                 per_param_masks[param_idx][:] = 1 | ||||
|         unsharded_mask = torch.cat(per_param_masks).contiguous().type(torch.BoolTensor) | ||||
|         sharded_mask = unsharded_mask.chunk(fsdp_world_size)[self.rank // tp_world_size] | ||||
|         grad_device = flat_param.grad.device | ||||
|         grad = flat_param.grad.detach().clone().cuda(self.rank) | ||||
|         dist.all_reduce(grad, op=dist.ReduceOp.SUM, group=tp_pg) | ||||
|         grad = grad.to(grad_device) | ||||
|         flat_param.grad[~sharded_mask] = grad[~sharded_mask] | ||||
|         # Average *all* gradient elements to match the FSDP only semantics | ||||
|         flat_param.grad /= tp_world_size | ||||
|         for flat_param in tp_fsdp_model.params: | ||||
|             splits = tuple(param_name_to_numel.values()) | ||||
|             # Create a mask over the gradient elements to manually reduce | ||||
|             unsharded_size = torch.Size([flat_param.numel() * fsdp_world_size]) | ||||
|             unsharded_zeros = torch.zeros(unsharded_size, device=flat_param.device) | ||||
|             per_param_masks = unsharded_zeros.split(splits) | ||||
|             for param_idx, param_name in enumerate( | ||||
|                 param_name_to_numel.keys() | ||||
|             ):  # assumes fixed order | ||||
|                 if param_name not in non_sharded_param_names: | ||||
|                     per_param_masks[param_idx][:] = 1 | ||||
|             unsharded_mask = ( | ||||
|                 torch.cat(per_param_masks).contiguous().type(torch.BoolTensor) | ||||
|             ) | ||||
|             sharded_mask = unsharded_mask.chunk(fsdp_world_size)[ | ||||
|                 self.rank // tp_world_size | ||||
|             ] | ||||
|             grad_device = flat_param.grad.device | ||||
|             grad = flat_param.grad.detach().clone().cuda(self.rank) | ||||
|             dist.all_reduce(grad, op=dist.ReduceOp.SUM, group=tp_pg) | ||||
|             grad = grad.to(grad_device) | ||||
|             flat_param.grad[~sharded_mask] = grad[~sharded_mask] | ||||
|             # Average *all* gradient elements to match the FSDP only semantics | ||||
|             flat_param.grad /= tp_world_size | ||||
|  | ||||
|     def _get_grads_as_flattened( | ||||
|         self, | ||||
| @ -182,7 +187,14 @@ class TestTPFSDPIntegration(FSDPTest): | ||||
|         returns the same value on all ranks. | ||||
|         """ | ||||
|         local_grads_as_flattened = ( | ||||
|             torch.cat([torch.flatten(param.grad) for param in model.parameters()]) | ||||
|             torch.cat( | ||||
|                 [ | ||||
|                     torch.flatten(param.grad) | ||||
|                     if param.grad is not None | ||||
|                     else torch.zeros_like(torch.flatten(param)) | ||||
|                     for param in model.parameters() | ||||
|                 ] | ||||
|             ) | ||||
|             .contiguous() | ||||
|             .cuda(self.rank) | ||||
|         ) | ||||
| @ -214,16 +226,27 @@ class TestTPFSDPIntegration(FSDPTest): | ||||
|         return torch.cat(all_grads_per_param).contiguous() | ||||
|  | ||||
|     @skip_if_lt_x_gpu(4) | ||||
|     @parametrize("tensor_parallel_size", [2, 4]) | ||||
|     @parametrize( | ||||
|         "cpu_offload", | ||||
|         [CPUOffload(offload_params=False), CPUOffload(offload_params=True)], | ||||
|     ) | ||||
|     def test_fsdp_tp_integration(self, tensor_parallel_size, cpu_offload): | ||||
|     def test_fsdp_tp_integration(self): | ||||
|         self.run_subtests( | ||||
|             { | ||||
|                 "cpu_offload": [ | ||||
|                     CPUOffload(offload_params=False), | ||||
|                     CPUOffload(offload_params=True), | ||||
|                 ], | ||||
|                 "sharding_strategy": [None, ShardingStrategy.SHARD_GRAD_OP], | ||||
|                 "use_orig_params": [False, True], | ||||
|             }, | ||||
|             self._test_fsdp_tp_integration, | ||||
|         ) | ||||
|  | ||||
|     def _test_fsdp_tp_integration( | ||||
|         self, cpu_offload, sharding_strategy, use_orig_params | ||||
|     ): | ||||
|         """ | ||||
|         Tests training for TP + FSDP integration by comparing an FSDP-only | ||||
|         model with a TP + FSDP model. | ||||
|         """ | ||||
|         tensor_parallel_size = 2 | ||||
|         LR = 3e-5 | ||||
|         torch.manual_seed(0) | ||||
|         model = SimpleModel().cuda(self.rank) | ||||
| @ -246,7 +269,13 @@ class TestTPFSDPIntegration(FSDPTest): | ||||
|         self.assertEqual(model(inp), tp_fsdp_model(inp))  # sanity check | ||||
|  | ||||
|         mesh_1d = init_device_mesh("cuda", (self.world_size,)) | ||||
|         fsdp_model = FSDP(model, cpu_offload=cpu_offload, device_mesh=mesh_1d) | ||||
|         fsdp_model = FSDP( | ||||
|             model, | ||||
|             cpu_offload=cpu_offload, | ||||
|             device_mesh=mesh_1d, | ||||
|             sharding_strategy=sharding_strategy, | ||||
|             use_orig_params=use_orig_params, | ||||
|         ) | ||||
|         mesh_2d = init_device_mesh( | ||||
|             "cuda", | ||||
|             (self.world_size // tensor_parallel_size, tensor_parallel_size), | ||||
| @ -269,6 +298,8 @@ class TestTPFSDPIntegration(FSDPTest): | ||||
|             tp_fsdp_model, | ||||
|             cpu_offload=cpu_offload, | ||||
|             device_mesh=mesh_2d["dp"], | ||||
|             sharding_strategy=sharding_strategy, | ||||
|             use_orig_params=use_orig_params, | ||||
|         ) | ||||
|         fsdp_pg = mesh_2d["dp"].get_group(mesh_dim=0) | ||||
|  | ||||
|  | ||||
| @ -14,6 +14,7 @@ from torch.distributed._tensor.placement_types import _Partial, Shard | ||||
| from torch.distributed.device_mesh import _mesh_resources, DeviceMesh, init_device_mesh | ||||
|  | ||||
| from torch.distributed.distributed_c10d import ( | ||||
|     _world, | ||||
|     get_global_rank, | ||||
|     get_world_size, | ||||
|     init_process_group, | ||||
| @ -28,7 +29,6 @@ from torch.testing._internal.common_utils import ( | ||||
| ) | ||||
| from torch.testing._internal.distributed._tensor.common_dtensor import ( | ||||
|     DTensorTestBase, | ||||
|     skip_if_lt_x_gpu, | ||||
|     skip_unless_torch_gpu, | ||||
|     with_comms, | ||||
| ) | ||||
| @ -79,10 +79,7 @@ class DeviceMeshTest(DTensorTestBase): | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_unless_torch_gpu | ||||
|     def test_get_group(self): | ||||
|         # TODO: `test_get_group` still periodically timeout on cpu | ||||
|         # remove `@skip_unless_torch_gpu` after the problem is fixed. | ||||
|         mesh_shape = (2, self.world_size // 2) | ||||
|         mesh_2d = init_device_mesh( | ||||
|             self.device_type, mesh_shape, mesh_dim_names=("dp", "tp") | ||||
| @ -103,10 +100,7 @@ class DeviceMeshTest(DTensorTestBase): | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_unless_torch_gpu | ||||
|     def test_get_local_rank_raises_exception(self): | ||||
|         # TODO: `test_get_local_rank_raises_exception` still periodically timeout on cpu | ||||
|         # remove `@skip_unless_torch_gpu` after the problem is fixed. | ||||
|         mesh_shape = (2, self.world_size // 2) | ||||
|         mesh_2d = init_device_mesh( | ||||
|             self.device_type, mesh_shape, mesh_dim_names=("dp", "tp") | ||||
| @ -120,10 +114,7 @@ class DeviceMeshTest(DTensorTestBase): | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_unless_torch_gpu | ||||
|     def test_get_local_rank(self): | ||||
|         # TODO: `test_get_local_rank_raises_exception` still periodically timeout on cpu | ||||
|         # remove `@skip_unless_torch_gpu` after the problem is fixed. | ||||
|         mesh_shape = (2, self.world_size // 2) | ||||
|         mesh_2d = init_device_mesh( | ||||
|             self.device_type, mesh_shape, mesh_dim_names=("dp", "tp") | ||||
| @ -162,7 +153,17 @@ class DeviceMeshTest(DTensorTestBase): | ||||
|             ) | ||||
|             self.assertEqual(global_ranks, current_rank_expected_group_ranks) | ||||
|  | ||||
|     @run_with_both_funcol_impls | ||||
|     @with_comms | ||||
|     def test_device_mesh_init_backend(self): | ||||
|         mesh = DeviceMesh(self.device_type, [1], _init_backend=False) | ||||
|  | ||||
|         with self.assertRaisesRegex(RuntimeError, "process groups not initialized!"): | ||||
|             mesh.get_group() | ||||
|  | ||||
|         # coordinates should always been populated when init_backend is False, as whenever | ||||
|         # we call init_backend we should make sure the default pg already created | ||||
|         mesh.get_coordinate() | ||||
|  | ||||
|     def test_fake_pg_device_mesh(self): | ||||
|         fake_store = FakeStore() | ||||
|         init_process_group("fake", store=fake_store, rank=0, world_size=self.world_size) | ||||
| @ -276,71 +277,47 @@ class TestDeviceMeshGetItem(DTensorTestBase): | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     def test_raises_invalid_mesh_dim_names(self): | ||||
|         error_msg = "Invalid mesh_dim_name" | ||||
|         # Case 1: the DeviceMesh does not have a mesh_dim_names attribute | ||||
|         with self.assertRaisesRegex( | ||||
|             RuntimeError, "Cannot slice a DeviceMesh without mesh_dim_names." | ||||
|         ): | ||||
|     def test_raises_no_mesh_dim_found(self): | ||||
|         with self.assertRaisesRegex(KeyError, "No `mesh_dim_names` found."): | ||||
|             mesh = init_device_mesh(self.device_type, (2, 4)) | ||||
|             child_mesh = mesh["DP"] | ||||
|  | ||||
|         child_mesh_dim_names = "PP" | ||||
|         with self.assertRaisesRegex(ValueError, error_msg): | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     def test_raises_invalid_mesh_dim_name(self): | ||||
|         child_mesh_dim_name = "PP" | ||||
|         with self.assertRaisesRegex( | ||||
|             KeyError, f"Mesh dimension '{child_mesh_dim_name}' does not exist." | ||||
|         ): | ||||
|             mesh_dim_names = ("DP", "TP") | ||||
|             mesh = init_device_mesh( | ||||
|                 self.device_type, (2, 4), mesh_dim_names=mesh_dim_names | ||||
|             ) | ||||
|             child_mesh = mesh[child_mesh_dim_names] | ||||
|  | ||||
|         # Case 2 | ||||
|         child_mesh_dim_names = ["PP", "CP"] | ||||
|         with self.assertRaisesRegex(ValueError, error_msg): | ||||
|             mesh_dim_names = ("DP", "TP") | ||||
|             mesh = init_device_mesh( | ||||
|                 self.device_type, (2, 4), mesh_dim_names=mesh_dim_names | ||||
|             ) | ||||
|             child_mesh = mesh[child_mesh_dim_names] | ||||
|  | ||||
|         # Case 3: a given child_mesh_dim_name is not a contiguous subset of the parent mesh's mesh_dim_names. | ||||
|         child_mesh_dim_names = ("TP", "DP") | ||||
|         with self.assertRaisesRegex(ValueError, error_msg): | ||||
|             mesh_dim_names = ("DP", "TP") | ||||
|             mesh = init_device_mesh( | ||||
|                 self.device_type, (2, 4), mesh_dim_names=mesh_dim_names | ||||
|             ) | ||||
|             child_mesh = mesh[child_mesh_dim_names] | ||||
|  | ||||
|         # Case 3 | ||||
|         child_mesh_dim_names = ("PP", "TP") | ||||
|         with self.assertRaisesRegex(ValueError, error_msg): | ||||
|             mesh_dim_names = ("PP", "DP", "TP") | ||||
|             mesh = init_device_mesh( | ||||
|                 self.device_type, (2, 2, 2), mesh_dim_names=mesh_dim_names | ||||
|             ) | ||||
|             child_mesh = mesh[child_mesh_dim_names] | ||||
|             child_mesh = mesh[child_mesh_dim_name] | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_if_lt_x_gpu(8) | ||||
|     def test_get_item_2d(self): | ||||
|         # TODO: `test_get_item_2d` still periodically timeout on cpu | ||||
|         # remove `@skip_if_lt_x_gpu` after the problem is fixed. | ||||
|     def test_get_item(self): | ||||
|         mesh_shape = (2, 4) | ||||
|         mesh_dim_names = ("DP", "TP") | ||||
|         mesh_2d = init_device_mesh( | ||||
|             self.device_type, mesh_shape, mesh_dim_names=mesh_dim_names | ||||
|         ) | ||||
|  | ||||
|         pg_ranks_by_dim_name = {} | ||||
|         for mesh_dim_name in mesh_dim_names: | ||||
|             mesh_dim = mesh_dim_names.index(mesh_dim_name) | ||||
|             pg_ranks_by_dim_name[mesh_dim_name] = mesh_2d.mesh.swapdims( | ||||
|                 -1, mesh_dim | ||||
|             ).reshape(-1, mesh_2d.mesh.size(mesh_dim)) | ||||
|  | ||||
|         tp_mesh = mesh_2d["TP"] | ||||
|         tp_group = [[0, 1, 2, 3], [4, 5, 6, 7]] | ||||
|         tp_group_idx = self.rank // 4 | ||||
|         self.assertEqual(tp_mesh.mesh.tolist(), tp_group[tp_group_idx]) | ||||
|         self.assertEqual(tp_mesh.mesh, pg_ranks_by_dim_name["TP"][tp_group_idx]) | ||||
|  | ||||
|         dp_mesh = mesh_2d["DP"] | ||||
|         dp_group = [[0, 4], [1, 5], [2, 6], [3, 7]] | ||||
|         dp_group_idx = self.rank % 4 | ||||
|         self.assertEqual(dp_mesh.mesh.tolist(), dp_group[dp_group_idx]) | ||||
|         self.assertEqual(mesh_2d["DP"].mesh, pg_ranks_by_dim_name["DP"][dp_group_idx]) | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
| @ -351,50 +328,32 @@ class TestDeviceMeshGetItem(DTensorTestBase): | ||||
|         dp_mesh = mesh["dp"] | ||||
|         self.assertEqual(dp_mesh, mesh) | ||||
|  | ||||
|         with self.assertRaisesRegex(ValueError, "Invalid mesh_dim_name"): | ||||
|         with self.assertRaisesRegex(RuntimeError, "Invalid mesh_dim_name"): | ||||
|             dp_mesh = mesh["dim0"] | ||||
|  | ||||
|     @with_comms | ||||
|     @skip_if_lt_x_gpu(8) | ||||
|     def test_get_item_3d(self): | ||||
|         # TODO: `test_get_item_3d` still periodically timeout on cpu | ||||
|         # remove `@skip_if_lt_x_gpu` after the problem is fixed. | ||||
|         mesh_shape = (2, 2, 2) | ||||
|         mesh_dim_names = ("Replicate", "Shard", "TP") | ||||
|         mesh_3d = init_device_mesh( | ||||
|             self.device_type, mesh_shape, mesh_dim_names=mesh_dim_names | ||||
|         ) | ||||
|     @run_with_both_funcol_impls | ||||
|     def test_cache_and_reuse_submesh_slice_result(self): | ||||
|         mesh = init_device_mesh(self.device_type, (2, 4), mesh_dim_names=("dp", "tp")) | ||||
|  | ||||
|         tp_group = [[0, 1], [2, 3], [4, 5], [6, 7]] | ||||
|         tp_group_idx = int(self.rank / 2) | ||||
|         self.assertEqual(mesh_3d["TP"].mesh.tolist(), tp_group[tp_group_idx]) | ||||
|         dp_mesh = mesh["dp"] | ||||
|         ref_pg_count = _world.group_count | ||||
|  | ||||
|         shard_group = [[0, 2], [1, 3], [4, 6], [5, 7]] | ||||
|         shard_group_idx = self.rank % 2 + self.rank // 4 * 2 | ||||
|         self.assertEqual(mesh_3d["Shard"].mesh.tolist(), shard_group[shard_group_idx]) | ||||
|         # When we call the "dp" slice second time, it should not create any new pg. | ||||
|         # As we are just using the cached result so the pg count should be the same. | ||||
|         dp_mesh_2 = mesh["dp"] | ||||
|         self.assertEqual(ref_pg_count, _world.group_count) | ||||
|  | ||||
|         replicate_group = [[0, 4], [1, 5], [2, 6], [3, 7]] | ||||
|         replicate_group_idx = self.rank % 4 | ||||
|         self.assertEqual( | ||||
|             mesh_3d["Replicate"].mesh.tolist(), replicate_group[replicate_group_idx] | ||||
|         ) | ||||
|  | ||||
|         # We support both UX for nD slicing. | ||||
|         # mesh_3d[["Replicate", "Shard"]] or mesh_3d["Replicate", "Shard"] | ||||
|         hsdp_mesh_1 = mesh_3d[["Replicate", "Shard"]] | ||||
|         hsdp_mesh_2 = mesh_3d["Replicate", "Shard"] | ||||
|         hsdp_group = [[[0, 2], [4, 6]], [[1, 3], [5, 7]]] | ||||
|         hsdp_group_idx = self.rank % 2 | ||||
|         self.assertEqual(hsdp_mesh_1.mesh.tolist(), hsdp_group[hsdp_group_idx]) | ||||
|         self.assertEqual(hsdp_mesh_2.mesh.tolist(), hsdp_group[hsdp_group_idx]) | ||||
|         self.assertEqual(hsdp_mesh_1, hsdp_mesh_2) | ||||
|         # When we call the "tp" slice, it should not create a new pg, as the "tp" slice would | ||||
|         # just reuse the parent mesh pg. | ||||
|         tp_mesh = mesh["tp"] | ||||
|         self.assertEqual(_world.group_count, ref_pg_count) | ||||
|  | ||||
|  | ||||
| @instantiate_parametrized_tests | ||||
| class TestMeshEnv(DTensorTestBase): | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_unless_torch_gpu | ||||
|     def test_get_parent_mesh(self): | ||||
|         mesh_shape = (2, self.world_size // 2) | ||||
|         mesh_dim_names = ("DP", "TP") | ||||
| @ -415,7 +374,6 @@ class TestMeshEnv(DTensorTestBase): | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_unless_torch_gpu | ||||
|     def test_get_parent_mesh_dim_exist(self): | ||||
|         mesh_shape = (2, self.world_size // 2) | ||||
|         mesh_dim_names = ("DP", "TP") | ||||
| @ -428,7 +386,6 @@ class TestMeshEnv(DTensorTestBase): | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_unless_torch_gpu | ||||
|     def test_get_parent_mesh_dim_not_exist(self): | ||||
|         mesh_shape = (self.world_size,) | ||||
|         mesh = init_device_mesh(self.device_type, mesh_shape) | ||||
| @ -437,7 +394,6 @@ class TestMeshEnv(DTensorTestBase): | ||||
|  | ||||
|     @with_comms | ||||
|     @run_with_both_funcol_impls | ||||
|     @skip_unless_torch_gpu | ||||
|     def test_get_mesh_dim_by_name(self): | ||||
|         mesh_shape = (2, self.world_size // 2) | ||||
|         mesh_dim_names = ("DP", "TP") | ||||
| @ -555,9 +511,11 @@ class DeviceMeshCollectiveTest(DTensorTestBase): | ||||
|                 torch.chunk(big_tensor, device_mesh.size(), dim=shard_dim) | ||||
|             ) | ||||
|             unpadded_list = [ | ||||
|                 shard_placement._unpad_tensor(big_tensor_chunks[i], pad_sizes[i]) | ||||
|                 if pad_sizes[i] > 0 | ||||
|                 else big_tensor_chunks[i] | ||||
|                 ( | ||||
|                     shard_placement._unpad_tensor(big_tensor_chunks[i], pad_sizes[i]) | ||||
|                     if pad_sizes[i] > 0 | ||||
|                     else big_tensor_chunks[i] | ||||
|                 ) | ||||
|                 for i, big_tensor in enumerate(big_tensor_chunks) | ||||
|             ] | ||||
|             all_gathered_tensor = torch.cat(unpadded_list, dim=shard_dim) | ||||
|  | ||||
| @ -87,10 +87,7 @@ if TEST_Z3: | ||||
|  | ||||
|     # TODO model is somehow not being freed when z3 is available | ||||
|     unittest.expectedFailure( | ||||
|         DynamicShapesMiscTests.test_custom_module_free_dynamic_shapes  # noqa: F821 | ||||
|     ) | ||||
|     unittest.expectedFailure( | ||||
|         DynamicShapesMiscTests.test_sequential_module_free_dynamic_shapes  # noqa: F821 | ||||
|         DynamicShapesMiscTests.test_parameter_free_dynamic_shapes  # noqa: F821 | ||||
|     ) | ||||
|  | ||||
| unittest.expectedFailure( | ||||
|  | ||||
| @ -48,7 +48,6 @@ from torch._dynamo.testing import ( | ||||
|     same, | ||||
|     skipIfNotPy311, | ||||
|     unsupported, | ||||
|     xfailIfPy311, | ||||
| ) | ||||
| from torch._dynamo.utils import CompileProfiler, counters, ifdynstaticdefault | ||||
| from torch._inductor.utils import run_and_get_code | ||||
| @ -9740,7 +9739,6 @@ fn | ||||
|             lambda mod: mod.fc, | ||||
|         ) | ||||
|  | ||||
|     @xfailIfPy311 | ||||
|     def test_sequential_module_free(self): | ||||
|         self._test_compile_model_free( | ||||
|             lambda: ( | ||||
| @ -9753,13 +9751,48 @@ fn | ||||
|             lambda mod: mod[0], | ||||
|         ) | ||||
|  | ||||
|     @unittest.expectedFailure | ||||
|     def test_linear_module_free(self): | ||||
|         self._test_compile_model_free( | ||||
|             lambda: (torch.nn.Linear(100, 100), torch.randn(100, 100)), | ||||
|             lambda mod: mod, | ||||
|         ) | ||||
|  | ||||
|     def test_outside_linear_module_free(self): | ||||
|         # Compared to test_linear_module_free, the linear | ||||
|         # layer is not the code object that is directly compiled. | ||||
|         def model_inp_ctr(): | ||||
|             fc = torch.nn.Linear(100, 100) | ||||
|  | ||||
|             class Mod(torch.nn.Module): | ||||
|                 def __init__(self): | ||||
|                     super().__init__() | ||||
|                     self.fc_ref = fc | ||||
|  | ||||
|                 def forward(self, x): | ||||
|                     return self.fc_ref(x[0]) | ||||
|  | ||||
|             # return fc to keep it alive in _test_compile_model_free | ||||
|             return Mod(), (torch.randn(100, 100), fc) | ||||
|  | ||||
|         self._test_compile_model_free(model_inp_ctr, lambda mod: mod.fc_ref) | ||||
|  | ||||
|     def test_parameter_free(self): | ||||
|         def model_inp_ctr(): | ||||
|             param = torch.nn.Parameter(torch.randn(100, 100)) | ||||
|  | ||||
|             class Mod(torch.nn.Module): | ||||
|                 def __init__(self): | ||||
|                     super().__init__() | ||||
|                     self.param = param | ||||
|  | ||||
|                 def forward(self, x): | ||||
|                     return self.param * x[0] | ||||
|  | ||||
|             # return param to keep it alive in _test_compile_model_free | ||||
|             return Mod(), (torch.randn(100, 100), param) | ||||
|  | ||||
|         self._test_compile_model_free(model_inp_ctr, lambda mod: mod.param) | ||||
|  | ||||
|     def test_dynamo_cache_move_to_front(self): | ||||
|         class Mod(torch.nn.Module): | ||||
|             def __init__(self): | ||||
|  | ||||
| @ -19,10 +19,10 @@ from torch.fx.experimental.symbolic_shapes import ( | ||||
|     StatelessSymbolicContext, | ||||
| ) | ||||
| from torch.nested._internal.nested_tensor import ( | ||||
|     buffer_from_jagged, | ||||
|     jagged_from_list, | ||||
|     jagged_from_tensor_and_lengths, | ||||
|     ViewBufferFromNested, | ||||
|     nested_view_from_values_offsets, | ||||
|     NestedTensor, | ||||
| ) | ||||
| from torch.testing._internal.common_utils import ( | ||||
|     instantiate_parametrized_tests, | ||||
| @ -1166,19 +1166,20 @@ class TestNestedTensor(torch._dynamo.test_case.TestCase): | ||||
|         a = torch.randn(2, 3, requires_grad=True, dtype=torch.float64) | ||||
|         b = torch.randn(3, 3, requires_grad=True, dtype=torch.float64) | ||||
|         c = torch.randn(4, 3, requires_grad=True, dtype=torch.float64) | ||||
|         nt, offsets = jagged_from_list([a, b, c], None) | ||||
|         nt2, _ = jagged_from_list([a, b, c], offsets) | ||||
|         nt = torch.nested.as_nested_tensor([a, b, c], layout=torch.jagged) | ||||
|         # TODO: Switch to public API when it exists | ||||
|         nt2, _ = jagged_from_list([a, b, c], nt.offsets()) | ||||
|  | ||||
|         def fn1(nt1, nt2): | ||||
|             return (nt1 + nt2).sin().cos() | ||||
|  | ||||
|         compiled_f = torch.compile(fn1, fullgraph=True, backend=backend, dynamic=True) | ||||
|         out = compiled_f(nt, nt2) | ||||
|         out_buffer = ViewBufferFromNested.apply(out) | ||||
|         out_buffer = out.values() | ||||
|         ga, gb, gc = torch.autograd.grad(out_buffer.sum(), (a, b, c)) | ||||
|  | ||||
|         out_ref = fn1(nt, nt2) | ||||
|         out_buffer_ref = ViewBufferFromNested.apply(out_ref) | ||||
|         out_buffer_ref = out_ref.values() | ||||
|         ga_ref, gb_ref, gc_ref = torch.autograd.grad(out_buffer_ref.sum(), (a, b, c)) | ||||
|  | ||||
|         self.assertTrue(torch.allclose(ga, ga_ref)) | ||||
| @ -1218,10 +1219,10 @@ class TestNestedTensor(torch._dynamo.test_case.TestCase): | ||||
|         ret = fn_c(nt, y)[0] | ||||
|         ref = fn(nt_copy, y_copy)[0] | ||||
|  | ||||
|         self.assertEqual(buffer_from_jagged(ret), buffer_from_jagged(ref)) | ||||
|         self.assertEqual(ret.values(), ref.values()) | ||||
|  | ||||
|         buffer_from_jagged(ret).sum().backward() | ||||
|         buffer_from_jagged(ref).sum().backward() | ||||
|         ret.values().sum().backward() | ||||
|         ref.values().sum().backward() | ||||
|         for ref_v, res_v in zip(values_copy, values): | ||||
|             self.assertEqual(ref_v.grad, res_v.grad) | ||||
|  | ||||
| @ -1254,83 +1255,112 @@ class TestNestedTensor(torch._dynamo.test_case.TestCase): | ||||
|         self._check_recompiles(fn, (nt,), (nt3,), True) | ||||
|  | ||||
|     def _get_views(self): | ||||
|         # There are three cases to consider here based on the logic in | ||||
|         # meta_utils.py | ||||
|         # | ||||
|         # (1) basic case: | ||||
|         # view is not a leaf and has the same requires grad as its basic case | ||||
|         x, _ = self._get_jagged_tensor(((2, 3, 4), 3), None, requires_grad=True) | ||||
|         self.assertEqual(x.is_leaf, False) | ||||
|         yield x.unsqueeze(-1) | ||||
|         # Test all cases with both an NT base and a dense base | ||||
|         # Subclass -> Subclass | ||||
|         # Dense -> Subclass | ||||
|         for base_is_nt in [False, True]: | ||||
|             # There are three cases to consider here based on the logic in | ||||
|             # meta_utils.py | ||||
|             # | ||||
|             # (1) basic case: | ||||
|             # view is not a leaf and has the same requires grad as its basic case | ||||
|             x, _ = self._get_jagged_tensor(((2, 3, 4), 3), None, requires_grad=True) | ||||
|             x = x.clone() if base_is_nt else x | ||||
|             self.assertEqual(x.is_leaf, False) | ||||
|             yield x.unsqueeze(-1) | ||||
|  | ||||
|         # (2) leaf view case: | ||||
|         # the view has to be a leaf (w/ requires_grad True or requires_grad False) | ||||
|         # base w/ requires_grad True or requires_grad False | ||||
|         for requires_grad_1, requires_grad_2 in itertools.product( | ||||
|             [True, False], repeat=2 | ||||
|         ): | ||||
|             x, _ = self._get_jagged_tensor( | ||||
|                 ((2, 3, 4), 3), None, requires_grad=requires_grad_1 | ||||
|             ) | ||||
|             # (2) leaf view case: | ||||
|             # the view has to be a leaf (w/ requires_grad True or requires_grad False) | ||||
|             # base w/ requires_grad True or requires_grad False | ||||
|             for requires_grad_1, requires_grad_2 in itertools.product( | ||||
|                 [True, False], repeat=2 | ||||
|             ): | ||||
|                 x, _ = self._get_jagged_tensor( | ||||
|                     ((2, 3, 4), 3), None, requires_grad=requires_grad_1 | ||||
|                 ) | ||||
|                 x = x.clone() if base_is_nt else x | ||||
|                 with torch.no_grad(): | ||||
|                     x_view = x.unsqueeze(-1) | ||||
|                     # The issue is this doesn't quite work | ||||
|                     x_view.requires_grad_(requires_grad_2) | ||||
|                 yield x_view | ||||
|  | ||||
|             # (3) obscure case: | ||||
|             # view is not a leaf (implies requires_grad True) | ||||
|             # base w/ requires_grad False) | ||||
|             x, _ = self._get_jagged_tensor(((2, 3, 4), 3), None, requires_grad=False) | ||||
|             x = x.clone() if base_is_nt else x | ||||
|             # intermediate leaf view | ||||
|             with torch.no_grad(): | ||||
|                 x_view = x.unsqueeze(-1) | ||||
|                 # The issue is this doesn't quite work | ||||
|                 x_view.requires_grad_(requires_grad_2) | ||||
|             yield x_view | ||||
|             x_view.requires_grad_(True) | ||||
|             x_view_view = x_view.unsqueeze(-1) | ||||
|             yield x_view_view | ||||
|  | ||||
|         # (3) obscure case: | ||||
|         # view is not a leaf (implies requires_grad True) | ||||
|         # base w/ requires_grad False) | ||||
|         x, _ = self._get_jagged_tensor(((2, 3, 4), 3), None, requires_grad=False) | ||||
|         # intermediate leaf view | ||||
|         with torch.no_grad(): | ||||
|             x_view = x.unsqueeze(-1) | ||||
|         x_view.requires_grad_(True) | ||||
|         x_view_view = x_view.unsqueeze(-1) | ||||
|         yield x_view_view | ||||
|         # Subclass -> Dense | ||||
|         x = self._get_jagged_tensor(((2, 3, 4), 3), None, requires_grad=True)[0].clone() | ||||
|         yield x.values() | ||||
|  | ||||
|         # Dense -> Subclass -> Dense -> Subclass | ||||
|         values = torch.randn(10, 5) | ||||
|         offsets = torch.tensor([0, 3, 6, 10]) | ||||
|         offsets2 = offsets.clone().detach() | ||||
|         yield nested_view_from_values_offsets( | ||||
|             nested_view_from_values_offsets(values, offsets).values(), offsets | ||||
|         ) | ||||
|  | ||||
|     def _input_view_test(self, nt_view): | ||||
|         def fn(x): | ||||
|             return x.sin() | ||||
|  | ||||
|         out_ref = fn(nt_view) | ||||
|         torch._dynamo.reset() | ||||
|         compile_fn = torch.compile( | ||||
|             fn, fullgraph=True, backend="aot_eager", dynamic=True | ||||
|         ) | ||||
|         out = compile_fn(nt_view) | ||||
|  | ||||
|         # Check metadata and values are correct | ||||
|         self.assertTrue(out.size() == out_ref.size()) | ||||
|         self.assertTrue(out.stride() == out_ref.stride()) | ||||
|         if out.is_nested: | ||||
|             self.assertTrue(torch.allclose(out.values(), out_ref.values())) | ||||
|         else: | ||||
|             self.assertTrue(torch.allclose(out, out_ref)) | ||||
|  | ||||
|         # Check that no upper/lower bound guards are incurred | ||||
|         def backend(gm, args): | ||||
|             context = torch._guards.TracingContext.get() | ||||
|             guards = [str(g.expr) for g in context.fake_mode.shape_env.guards] | ||||
|  | ||||
|             # varies based on the type of view | ||||
|             guard_str = "\n".join(guards) | ||||
|             if isinstance(nt_view._base, NestedTensor): | ||||
|                 self.assertExpectedInline(guard_str, """Eq(s3 - 1, s0)""") | ||||
|             else: | ||||
|                 self.assertExpectedInline(guard_str, """""") | ||||
|             return gm | ||||
|  | ||||
|         torch._dynamo.reset() | ||||
|         compile_fn = torch.compile(fn, fullgraph=True, backend=backend, dynamic=True) | ||||
|         out = compile_fn(nt_view) | ||||
|  | ||||
|     def test_inputs_to_compiled_fn_are_views(self): | ||||
|         for nt_view in self._get_views(): | ||||
|             self._input_view_test(nt_view) | ||||
|  | ||||
|             def fn(x): | ||||
|                 return x.sin() | ||||
|  | ||||
|             out_ref = fn(nt_view) | ||||
|             torch._dynamo.reset() | ||||
|             compile_fn = torch.compile( | ||||
|                 fn, fullgraph=True, backend="aot_eager", dynamic=True | ||||
|             ) | ||||
|             out = compile_fn(nt_view) | ||||
|  | ||||
|             # Check metadata and values are correct | ||||
|             self.assertTrue(out.size() == out_ref.size()) | ||||
|             self.assertTrue(out.stride() == out_ref.stride()) | ||||
|             self.assertTrue(torch.allclose(out.values(), out_ref.values())) | ||||
|  | ||||
|             # Check that no upper/lower bound guards are incurred | ||||
|             def backend(gm, args): | ||||
|                 context = torch._guards.TracingContext.get() | ||||
|                 guards = [str(g.expr) for g in context.fake_mode.shape_env.guards] | ||||
|                 ranges = [ | ||||
|                     f"{s}: [{vr.lower}, {vr.upper}]" | ||||
|                     for s, vr in context.fake_mode.shape_env.var_to_range.items() | ||||
|                 ] | ||||
|                 self.assertExpectedInline("\n".join(guards), """Eq(s3 - 1, s0)""") | ||||
|                 self.assertExpectedInline( | ||||
|                     "\n".join(ranges), | ||||
|                     """\ | ||||
| s0: [2, 9223372036854775805] | ||||
| s2: [2, 9223372036854775806] | ||||
| s3: [3, 9223372036854775806] | ||||
| s5: [2, 9223372036854775806]""", | ||||
|                 ) | ||||
|                 return gm | ||||
|  | ||||
|             torch._dynamo.reset() | ||||
|             compile_fn = torch.compile( | ||||
|                 fn, fullgraph=True, backend=backend, dynamic=True | ||||
|             ) | ||||
|             out = compile_fn(nt_view) | ||||
|     # NJT1 -> Dense -> NJT2 -> Dense view | ||||
|     # During view replay, the Dense -> NJT2 part will construct an intermediate, | ||||
|     # symbolically-sized NJT that is immediately deconstructed to return the final dense | ||||
|     # view. To construct this intermediate properly, we need the associated nested int | ||||
|     # to be symbolic. This view is expected to fail compilation until symbolic nested ints | ||||
|     # are cached onto fake offsets to solve this problem. | ||||
|     @unittest.expectedFailure | ||||
|     def test_subclass_dense_subclass_dense_view(self): | ||||
|         x = self._get_jagged_tensor(((2, 3, 4), 3), None, requires_grad=True)[0].clone() | ||||
|         offsets2 = x.offsets().clone().detach() | ||||
|         nt_view = nested_view_from_values_offsets(x.values(), offsets2).values() | ||||
|         self._input_view_test(nt_view) | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|  | ||||
| @ -435,6 +435,13 @@ aten::_nested_from_padded | ||||
| aten::_nested_from_padded.out | ||||
| aten::_nested_from_padded_and_nested_example | ||||
| aten::_nested_from_padded_and_nested_example.out | ||||
| aten::_nested_get_jagged_dummy | ||||
| aten::_nested_get_lengths | ||||
| aten::_nested_get_offsets | ||||
| aten::_nested_get_ragged_idx | ||||
| aten::_nested_get_values | ||||
| aten::_nested_get_values_copy | ||||
| aten::_nested_get_values_copy.out | ||||
| aten::_nested_select_backward | ||||
| aten::_nested_sum_backward | ||||
| aten::_nested_tensor_from_mask | ||||
| @ -452,6 +459,9 @@ aten::_nested_tensor_strides.out | ||||
| aten::_nested_view_from_buffer | ||||
| aten::_nested_view_from_buffer_copy | ||||
| aten::_nested_view_from_buffer_copy.out | ||||
| aten::_nested_view_from_jagged | ||||
| aten::_nested_view_from_jagged_copy | ||||
| aten::_nested_view_from_jagged_copy.out | ||||
| aten::_new_zeros_with_same_feature_meta | ||||
| aten::_new_zeros_with_same_feature_meta.out | ||||
| aten::_nnpack_spatial_convolution | ||||
|  | ||||
| @ -72,12 +72,28 @@ from torch.export import export | ||||
|  | ||||
|  | ||||
| torch.library.define("testlib::returns_tensor_symint", "(Tensor x) -> (Tensor, SymInt)") | ||||
| torch.library.define( | ||||
|     "testlib::foo", | ||||
|     "(Tensor(a!) x, Tensor(b!) z) -> (Tensor, Tensor, Tensor)", | ||||
|     tags=torch.Tag.pt2_compliant_tag, | ||||
| ) | ||||
|  | ||||
| @torch.library.impl("testlib::returns_tensor_symint", "cpu") | ||||
| @torch.library.impl_abstract("testlib::returns_tensor_symint") | ||||
| def returns_tensor_symint_impl(x): | ||||
|     return x, x.shape[0] | ||||
|  | ||||
| @torch.library.impl("testlib::foo", "cpu") | ||||
| @torch._dynamo.disable | ||||
| def foo_impl(x, z): | ||||
|     x.add_(5) | ||||
|     z.add_(5) | ||||
|     return x, z, x + z | ||||
|  | ||||
| @torch.library.impl_abstract("testlib::foo") | ||||
| def foo_abstract(x, z): | ||||
|     return x, z, x + z | ||||
|  | ||||
|  | ||||
| @unittest.skipIf(not torchdynamo.is_dynamo_supported(), "dynamo isn't support") | ||||
| class TestDynamismExpression(TestCase): | ||||
| @ -3551,6 +3567,30 @@ def forward(self, arg0_1, arg1_1, arg2_1): | ||||
|  | ||||
|         self._test_export_same_as_eager(Module(), (torch.randn(4, 4),)) | ||||
|  | ||||
|     def test_custom_op_auto_functionalize(self): | ||||
|         class M(torch.nn.Module): | ||||
|             def __init__(self): | ||||
|                 super().__init__() | ||||
|  | ||||
|             def forward(self, x, z): | ||||
|                 return torch.ops.testlib.foo(x, z) | ||||
|  | ||||
|         inps = (torch.ones(5), torch.ones(5)) | ||||
|         inps_for_export = (torch.ones(5), torch.ones(5)) | ||||
|         inps_for_export_with_decomp = (torch.ones(5), torch.ones(5)) | ||||
|  | ||||
|         ep = torch.export.export(M(), inps_for_export) | ||||
|         x_new_eager, z_new_eager, legit_eager = M()(*inps) | ||||
|         x_new_export, z_new_export, legit_export = ep.module()(*inps_for_export) | ||||
|         self.assertTrue(torch.allclose(x_new_eager, x_new_export)) | ||||
|         self.assertTrue(torch.allclose(z_new_eager, z_new_export)) | ||||
|         self.assertTrue(torch.allclose(legit_eager, legit_export)) | ||||
|  | ||||
|         ep = ep.run_decompositions() | ||||
|         x_new_export, z_new_export, legit_export = ep.module()(*inps_for_export_with_decomp) | ||||
|         self.assertTrue(torch.allclose(x_new_eager, x_new_export)) | ||||
|         self.assertTrue(torch.allclose(z_new_eager, z_new_export)) | ||||
|         self.assertTrue(torch.allclose(legit_eager, legit_export)) | ||||
|  | ||||
| @unittest.skipIf(not torchdynamo.is_dynamo_supported(), "dynamo isn't support") | ||||
| class TestOneOffModelExportResult(TestCase): | ||||
|  | ||||
| @ -7,8 +7,8 @@ with test_functionalization_with_native_python_assertion) | ||||
| import math | ||||
| import operator | ||||
| import unittest | ||||
| from typing import List, Set | ||||
| from re import escape | ||||
| from typing import List, Set | ||||
|  | ||||
| import torch | ||||
| from functorch.experimental.control_flow import cond | ||||
| @ -17,22 +17,38 @@ from torch._export.pass_base import _ExportPassBaseDeprecatedDoNotUse | ||||
| from torch._export.passes.functionalize_side_effectful_ops_pass import ( | ||||
|     _FunctionalizeSideEffectfulOpsPass, | ||||
| ) | ||||
| from torch._export.passes.replace_set_grad_with_hop_pass import ( | ||||
|     _is_set_grad_enabled_node, | ||||
|     _is_set_grad_enabled_sub_mod, | ||||
| ) | ||||
| from torch._export.passes.replace_view_ops_with_view_copy_ops_pass import ( | ||||
|     get_view_copy_of_view_op, | ||||
|     is_view_op, | ||||
|     ReplaceViewOpsWithViewCopyOpsPass, | ||||
| ) | ||||
| from torch._export.utils import ( | ||||
|     node_inline_, | ||||
|     nodes_count, | ||||
|     nodes_filter, | ||||
|     nodes_map, | ||||
|     sequential_split, | ||||
| ) | ||||
| from torch._higher_order_ops.auto_functionalize import auto_functionalized | ||||
| from torch.export import export | ||||
| from torch.export._remove_auto_functionalized_pass import ( | ||||
|     unsafe_remove_auto_functionalized_pass, | ||||
| ) | ||||
| from torch.fx.passes.infra.partitioner import Partition | ||||
| from torch.fx.passes.operator_support import OperatorSupport | ||||
| from torch.library import impl, _scoped_library | ||||
| from torch.testing import FileCheck | ||||
| from torch.testing._internal.common_utils import run_tests, TestCase, skipIfTorchDynamo, IS_WINDOWS | ||||
| from torch.utils import _pytree as pytree | ||||
| from torch._export.utils import sequential_split, nodes_filter, nodes_map, node_inline_, nodes_count | ||||
| from torch._export.passes.replace_set_grad_with_hop_pass import ( | ||||
|     _is_set_grad_enabled_node, _is_set_grad_enabled_sub_mod | ||||
| from torch.testing._internal.common_utils import ( | ||||
|     IS_WINDOWS, | ||||
|     run_tests, | ||||
|     skipIfTorchDynamo, | ||||
|     TestCase, | ||||
| ) | ||||
|  | ||||
| from torch.utils import _pytree as pytree | ||||
|  | ||||
| def count_call_function(graph: torch.fx.Graph, target: torch.ops.OpOverload) -> int: | ||||
|     count = 0 | ||||
| @ -620,5 +636,96 @@ def forward(self, sin, cos): | ||||
|             self.assertEqual(before_str, after_inline_str) | ||||
|             self.assertEqual(gm(*args), new_gm(*args)) | ||||
|  | ||||
|     def test_remove_auto_functionalized_pass(self) -> None: | ||||
|         with _scoped_library("DO_NOT_USE_TEST_ONLY", "DEF") as lib: | ||||
|  | ||||
|             lib.define("custom_mutator(Tensor x, Tensor(a!) y) -> Tensor") | ||||
|  | ||||
|             @impl(lib, "custom_mutator", "Meta") | ||||
|             def custom_mutator_meta( | ||||
|                 x: torch.Tensor, | ||||
|                 y: torch.Tensor, | ||||
|             ) -> torch.Tensor: | ||||
|                 return torch.empty_like(x) | ||||
|  | ||||
|  | ||||
|             @impl(lib, "custom_mutator", "CompositeExplicitAutograd") | ||||
|             def custom_mutator( | ||||
|                 x: torch.Tensor, | ||||
|                 y: torch.Tensor, | ||||
|             ) -> torch.Tensor: | ||||
|                 return x + y.add_(1) | ||||
|  | ||||
|             class M(torch.nn.Module): | ||||
|                 def __init__(self): | ||||
|                     super().__init__() | ||||
|                     self.register_buffer("state", torch.zeros(1)) | ||||
|  | ||||
|                 def forward(self, x): | ||||
|                     return torch.ops.DO_NOT_USE_TEST_ONLY.custom_mutator(x, self.state) | ||||
|  | ||||
|             mod = M() | ||||
|             x = torch.randn([3, 3]) | ||||
|             ep = export(mod, (x,)) | ||||
|             inplace_ep = unsafe_remove_auto_functionalized_pass(ep) | ||||
|             nodes = inplace_ep.graph.nodes | ||||
|             for node in nodes: | ||||
|                 if node.op == "call_function": | ||||
|                     self.assertFalse(node.target is auto_functionalized) | ||||
|                     self.assertFalse(node.target is operator.getitem) | ||||
|  | ||||
|             for spec in inplace_ep.graph_signature.output_specs: | ||||
|                 self.assertFalse("getitem" in spec.arg.name) | ||||
|  | ||||
|     def test_remove_auto_functionalized_pass_tuple(self) -> None: | ||||
|         with _scoped_library("DO_NOT_USE_TEST_ONLY", "DEF") as lib: | ||||
|  | ||||
|             lib.define("custom_mutator_tuple(Tensor x, Tensor(a!) y) -> (Tensor, Tensor)") | ||||
|  | ||||
|             @impl(lib, "custom_mutator_tuple", "Meta") | ||||
|             def custom_mutator_tuple_meta( | ||||
|                 x: torch.Tensor, | ||||
|                 y: torch.Tensor, | ||||
|             ): | ||||
|                 return (torch.empty_like(x), torch.empty_like(x)) | ||||
|  | ||||
|  | ||||
|             @impl(lib, "custom_mutator_tuple", "CompositeExplicitAutograd") | ||||
|             def custom_mutator_tuple( | ||||
|                 x: torch.Tensor, | ||||
|                 y: torch.Tensor, | ||||
|             ): | ||||
|                 return (x, x + y.add_(1)) | ||||
|  | ||||
|             class M(torch.nn.Module): | ||||
|                 def __init__(self): | ||||
|                     super().__init__() | ||||
|                     self.register_buffer("state", torch.zeros(1)) | ||||
|  | ||||
|                 def forward(self, x): | ||||
|                     return torch.ops.DO_NOT_USE_TEST_ONLY.custom_mutator_tuple( | ||||
|                         x, self.state | ||||
|                     ) | ||||
|  | ||||
|             mod = M() | ||||
|             x = torch.randn([3, 3]) | ||||
|             ep = export(mod, (x,)) | ||||
|             inplace_ep = unsafe_remove_auto_functionalized_pass(ep) | ||||
|  | ||||
|             nodes = inplace_ep.graph.nodes | ||||
|             getitems = 0 | ||||
|             for node in nodes: | ||||
|                 if node.op == "call_function": | ||||
|                     self.assertFalse(node.target is auto_functionalized) | ||||
|                     if node.target is operator.getitem: | ||||
|                         getitems += 1 | ||||
|             self.assertEqual(getitems, 2)  # tuple return of len 2 | ||||
|  | ||||
|             out_specs = inplace_ep.graph_signature.output_specs | ||||
|             self.assertEqual(out_specs[0].arg.name, "arg0_1")  # state | ||||
|             self.assertEqual(out_specs[1].arg.name, "getitem")  # tuple return 1 | ||||
|             self.assertEqual(out_specs[2].arg.name, "getitem_1")  # tuple return 2 | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     run_tests() | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	