mirror of
				https://github.com/pytorch/pytorch.git
				synced 2025-11-04 08:00:58 +08:00 
			
		
		
		
	Compare commits
	
		
			30 Commits
		
	
	
		
			v2.8.0-rc8
			...
			v2.1.0-rc3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7d6971dcee | |||
| 5417e23ba8 | |||
| 7a9101951d | |||
| 03e7f0b99d | |||
| c0e7239f43 | |||
| 04c1e07fd7 | |||
| cb4362ba5f | |||
| bddd30ca7a | |||
| 9cc99906e9 | |||
| a49fca4dd4 | |||
| 83964c761e | |||
| 085bd1da62 | |||
| 90452f41e3 | |||
| 35c3d5a080 | |||
| d07ac50e26 | |||
| 8a3b017769 | |||
| a82894b0d3 | |||
| 050fc31538 | |||
| b3cb05b396 | |||
| fec68a2799 | |||
| f139dda1cc | |||
| 5252dfb762 | |||
| da1ccca830 | |||
| c9cbdaf24f | |||
| f187e42a54 | |||
| 9175987fcc | |||
| d8e6594fb8 | |||
| f82c027774 | |||
| 6d20b39d3f | |||
| 17f400404f | 
@ -1 +1 @@
 | 
			
		||||
05d67b9418cacda0d356c2102d7c1a887948b013
 | 
			
		||||
34f8189eae57a23cc15b4b4f032fe25757e0db8e
 | 
			
		||||
 | 
			
		||||
@ -7,18 +7,14 @@ source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh"
 | 
			
		||||
function install_huggingface() {
 | 
			
		||||
  local version
 | 
			
		||||
  version=$(get_pinned_commit huggingface)
 | 
			
		||||
  pip_install pandas
 | 
			
		||||
  pip_install scipy
 | 
			
		||||
  pip_install z3-solver
 | 
			
		||||
  pip_install pandas==2.0.3
 | 
			
		||||
  pip_install "transformers==${version}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function install_timm() {
 | 
			
		||||
  local commit
 | 
			
		||||
  commit=$(get_pinned_commit timm)
 | 
			
		||||
  pip_install pandas
 | 
			
		||||
  pip_install scipy
 | 
			
		||||
  pip_install z3-solver
 | 
			
		||||
  pip_install pandas==2.0.3
 | 
			
		||||
  pip_install "git+https://github.com/rwightman/pytorch-image-models@${commit}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -271,7 +271,7 @@ pytest-cpp==2.3.0
 | 
			
		||||
#Pinned versions: 2.3.0
 | 
			
		||||
#test that import:
 | 
			
		||||
 | 
			
		||||
z3-solver
 | 
			
		||||
z3-solver==4.12.2.0
 | 
			
		||||
#Description: The Z3 Theorem Prover Project
 | 
			
		||||
#Pinned versions:
 | 
			
		||||
#test that import:
 | 
			
		||||
 | 
			
		||||
@ -180,7 +180,7 @@ function install_numpy_pytorch_interop() {
 | 
			
		||||
 | 
			
		||||
function clone_pytorch_xla() {
 | 
			
		||||
  if [[ ! -d ./xla ]]; then
 | 
			
		||||
    git clone --recursive --quiet https://github.com/pytorch/xla.git
 | 
			
		||||
    git clone --recursive -b r2.1 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)"
 | 
			
		||||
 | 
			
		||||
@ -62,7 +62,7 @@ git --no-pager log --max-count 1
 | 
			
		||||
popd
 | 
			
		||||
 | 
			
		||||
# Clone the Builder main repo
 | 
			
		||||
retry git clone -q https://github.com/pytorch/builder.git "$BUILDER_ROOT"
 | 
			
		||||
retry git clone -q https://github.com/pytorch/builder.git -b release/2.1 "$BUILDER_ROOT"
 | 
			
		||||
pushd "$BUILDER_ROOT"
 | 
			
		||||
echo "Using builder from "
 | 
			
		||||
git --no-pager log --max-count 1
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@ PKG_DIR=${PKG_DIR:-/tmp/workspace/final_pkgs}
 | 
			
		||||
# currently set within `designate_upload_channel`
 | 
			
		||||
UPLOAD_CHANNEL=${UPLOAD_CHANNEL:-nightly}
 | 
			
		||||
# Designates what subfolder to put packages into
 | 
			
		||||
UPLOAD_SUBFOLDER=${UPLOAD_SUBFOLDER:-cpu}
 | 
			
		||||
UPLOAD_SUBFOLDER=${UPLOAD_SUBFOLDER:-}
 | 
			
		||||
UPLOAD_BUCKET="s3://pytorch"
 | 
			
		||||
BACKUP_BUCKET="s3://pytorch-backup"
 | 
			
		||||
BUILD_NAME=${BUILD_NAME:-}
 | 
			
		||||
@ -64,12 +64,17 @@ s3_upload() {
 | 
			
		||||
  local pkg_type
 | 
			
		||||
  extension="$1"
 | 
			
		||||
  pkg_type="$2"
 | 
			
		||||
  s3_dir="${UPLOAD_BUCKET}/${pkg_type}/${UPLOAD_CHANNEL}/${UPLOAD_SUBFOLDER}/"
 | 
			
		||||
  s3_root_dir="${UPLOAD_BUCKET}/${pkg_type}/${UPLOAD_CHANNEL}"
 | 
			
		||||
  if [[ -z ${UPLOAD_SUBFOLDER:-} ]]; then
 | 
			
		||||
    s3_upload_dir="${s3_root_dir}/"
 | 
			
		||||
  else
 | 
			
		||||
    s3_upload_dir="${s3_root_dir}/${UPLOAD_SUBFOLDER}/"
 | 
			
		||||
  fi
 | 
			
		||||
  (
 | 
			
		||||
    for pkg in ${PKG_DIR}/*.${extension}; do
 | 
			
		||||
      (
 | 
			
		||||
        set -x
 | 
			
		||||
        ${AWS_S3_CP} --no-progress --acl public-read "${pkg}" "${s3_dir}"
 | 
			
		||||
        ${AWS_S3_CP} --no-progress --acl public-read "${pkg}" "${s3_upload_dir}"
 | 
			
		||||
      )
 | 
			
		||||
    done
 | 
			
		||||
  )
 | 
			
		||||
@ -82,15 +87,17 @@ pip install -q awscli
 | 
			
		||||
case "${PACKAGE_TYPE}" in
 | 
			
		||||
  conda)
 | 
			
		||||
    conda_upload
 | 
			
		||||
    # Fetch  platform (eg. win-64, linux-64, etc.) from index file
 | 
			
		||||
    # Because there's no actual conda command to read this
 | 
			
		||||
    subdir=$(\
 | 
			
		||||
      tar -xOf ${PKG_DIR}/*.bz2 info/index.json \
 | 
			
		||||
        | grep subdir  \
 | 
			
		||||
        | cut -d ':' -f2 \
 | 
			
		||||
        | sed -e 's/[[:space:]]//' -e 's/"//g' -e 's/,//' \
 | 
			
		||||
    )
 | 
			
		||||
    BACKUP_DIR="conda/${subdir}"
 | 
			
		||||
    for conda_archive in ${PKG_DIR}/*.tar.bz2; do
 | 
			
		||||
      # Fetch  platform (eg. win-64, linux-64, etc.) from index file because
 | 
			
		||||
      # there's no actual conda command to read this
 | 
			
		||||
      subdir=$(\
 | 
			
		||||
        tar -xOf "${conda_archive}" info/index.json \
 | 
			
		||||
          | grep subdir  \
 | 
			
		||||
          | cut -d ':' -f2 \
 | 
			
		||||
          | sed -e 's/[[:space:]]//' -e 's/"//g' -e 's/,//' \
 | 
			
		||||
      )
 | 
			
		||||
      BACKUP_DIR="conda/${subdir}"
 | 
			
		||||
    done
 | 
			
		||||
    ;;
 | 
			
		||||
  libtorch)
 | 
			
		||||
    s3_upload "zip" "libtorch"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/ci_commit_pins/xla.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ci_commit_pins/xla.txt
									
									
									
									
										vendored
									
									
								
							@ -1 +1 @@
 | 
			
		||||
e1ee592d9806216d7ac0bb711cae6307b0c5b68a
 | 
			
		||||
r2.1
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										17
									
								
								.github/scripts/build_triton_wheel.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.github/scripts/build_triton_wheel.py
									
									
									
									
										vendored
									
									
								
							@ -60,12 +60,18 @@ def build_triton(
 | 
			
		||||
    build_conda: bool = False,
 | 
			
		||||
    build_rocm: bool = False,
 | 
			
		||||
    py_version: Optional[str] = None,
 | 
			
		||||
    release: bool = False,
 | 
			
		||||
) -> Path:
 | 
			
		||||
    env = os.environ.copy()
 | 
			
		||||
    if "MAX_JOBS" not in env:
 | 
			
		||||
        max_jobs = os.cpu_count() or 1
 | 
			
		||||
        env["MAX_JOBS"] = str(max_jobs)
 | 
			
		||||
 | 
			
		||||
    if not release:
 | 
			
		||||
        # Nightly binaries include the triton commit hash, i.e. 2.1.0+e6216047b8
 | 
			
		||||
        # while release build should only include the version, i.e. 2.1.0
 | 
			
		||||
        version = f"{version}+{commit_hash[:10]}"
 | 
			
		||||
 | 
			
		||||
    with TemporaryDirectory() as tmpdir:
 | 
			
		||||
        triton_basedir = Path(tmpdir) / "triton"
 | 
			
		||||
        triton_pythondir = triton_basedir / "python"
 | 
			
		||||
@ -80,7 +86,7 @@ def build_triton(
 | 
			
		||||
        if build_conda:
 | 
			
		||||
            with open(triton_basedir / "meta.yaml", "w") as meta:
 | 
			
		||||
                print(
 | 
			
		||||
                    f"package:\n  name: torchtriton\n  version: {version}+{commit_hash[:10]}\n",
 | 
			
		||||
                    f"package:\n  name: torchtriton\n  version: {version}\n",
 | 
			
		||||
                    file=meta,
 | 
			
		||||
                )
 | 
			
		||||
                print("source:\n  path: .\n", file=meta)
 | 
			
		||||
@ -103,7 +109,7 @@ def build_triton(
 | 
			
		||||
 | 
			
		||||
            patch_init_py(
 | 
			
		||||
                triton_pythondir / "triton" / "__init__.py",
 | 
			
		||||
                version=f"{version}+{commit_hash[:10]}",
 | 
			
		||||
                version=f"{version}",
 | 
			
		||||
            )
 | 
			
		||||
            if py_version is None:
 | 
			
		||||
                py_version = f"{sys.version_info.major}.{sys.version_info.minor}"
 | 
			
		||||
@ -129,11 +135,11 @@ def build_triton(
 | 
			
		||||
        patch_setup_py(
 | 
			
		||||
            triton_pythondir / "setup.py",
 | 
			
		||||
            name=triton_pkg_name,
 | 
			
		||||
            version=f"{version}+{commit_hash[:10]}",
 | 
			
		||||
            version=f"{version}",
 | 
			
		||||
        )
 | 
			
		||||
        patch_init_py(
 | 
			
		||||
            triton_pythondir / "triton" / "__init__.py",
 | 
			
		||||
            version=f"{version}+{commit_hash[:10]}",
 | 
			
		||||
            version=f"{version}",
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        if build_rocm:
 | 
			
		||||
@ -157,12 +163,14 @@ def main() -> None:
 | 
			
		||||
    from argparse import ArgumentParser
 | 
			
		||||
 | 
			
		||||
    parser = ArgumentParser("Build Triton binaries")
 | 
			
		||||
    parser.add_argument("--release", action="store_true")
 | 
			
		||||
    parser.add_argument("--build-conda", action="store_true")
 | 
			
		||||
    parser.add_argument("--build-rocm", action="store_true")
 | 
			
		||||
    parser.add_argument("--py-version", type=str)
 | 
			
		||||
    parser.add_argument("--commit-hash", type=str)
 | 
			
		||||
    parser.add_argument("--triton-version", type=str, default=read_triton_version())
 | 
			
		||||
    args = parser.parse_args()
 | 
			
		||||
 | 
			
		||||
    build_triton(
 | 
			
		||||
        build_rocm=args.build_rocm,
 | 
			
		||||
        commit_hash=args.commit_hash
 | 
			
		||||
@ -171,6 +179,7 @@ def main() -> None:
 | 
			
		||||
        version=args.triton_version,
 | 
			
		||||
        build_conda=args.build_conda,
 | 
			
		||||
        py_version=args.py_version,
 | 
			
		||||
        release=args.release,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -248,7 +248,8 @@ def generate_wheels_matrix(
 | 
			
		||||
                        "nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | "
 | 
			
		||||
                        "nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | "
 | 
			
		||||
                        "nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
 | 
			
		||||
                        "nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'",
 | 
			
		||||
                        "nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | "
 | 
			
		||||
                        "triton==2.1.0; platform_system == 'Linux' and platform_machine == 'x86_64'",
 | 
			
		||||
                        "build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}-with-pypi-cudnn".replace(  # noqa: B950
 | 
			
		||||
                            ".", "_"
 | 
			
		||||
                        ),
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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.1" -%}
 | 
			
		||||
 | 
			
		||||
{%- macro concurrency(build_environment) -%}
 | 
			
		||||
concurrency:
 | 
			
		||||
 | 
			
		||||
@ -97,13 +97,13 @@ 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}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: !{{ config["container_image"] }}
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
 | 
			
		||||
@ -74,8 +74,8 @@ jobs:
 | 
			
		||||
          /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
 | 
			
		||||
          echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
 | 
			
		||||
          echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
 | 
			
		||||
      !{{ 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 }}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/templates/upload.yml.j2
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/templates/upload.yml.j2
									
									
									
									
										vendored
									
									
								
							@ -67,6 +67,6 @@
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
@ -62,8 +62,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: |
 | 
			
		||||
@ -102,8 +102,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
									
									
								
							@ -36,7 +36,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
@ -58,25 +58,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.1
 | 
			
		||||
        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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
 | 
			
		||||
 | 
			
		||||
@ -140,5 +140,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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								.github/workflows/_android-full-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/_android-full-build-test.yml
									
									
									
									
										vendored
									
									
								
							@ -36,7 +36,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
@ -58,25 +58,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.1
 | 
			
		||||
        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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
 | 
			
		||||
 | 
			
		||||
@ -185,5 +185,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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								.github/workflows/_bazel-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/_bazel-build-test.yml
									
									
									
									
										vendored
									
									
								
							@ -41,7 +41,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
@ -63,30 +63,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.1
 | 
			
		||||
        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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        if: ${{ inputs.cuda-version != 'cpu' }}
 | 
			
		||||
 | 
			
		||||
      - name: Output disk space left
 | 
			
		||||
@ -197,5 +197,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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								.github/workflows/_binary-build-linux.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/_binary-build-linux.yml
									
									
									
									
										vendored
									
									
								
							@ -139,12 +139,12 @@ 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          no-sudo: ${{ inputs.build_environment == 'linux-aarch64-binary-manywheel' }}
 | 
			
		||||
 | 
			
		||||
@ -159,10 +159,12 @@ jobs:
 | 
			
		||||
      - name: Clean workspace
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          set -eux
 | 
			
		||||
 | 
			
		||||
          rm -rf "${GITHUB_WORKSPACE}"
 | 
			
		||||
          mkdir "${GITHUB_WORKSPACE}"
 | 
			
		||||
 | 
			
		||||
          if [[ inputs.build_environment == 'linux-aarch64-binary-manywheel' ]]; then
 | 
			
		||||
          if [[ ${{ inputs.build_environment }} == 'linux-aarch64-binary-manywheel' ]]; then
 | 
			
		||||
            rm -rf "${RUNNER_TEMP}/artifacts"
 | 
			
		||||
            mkdir "${RUNNER_TEMP}/artifacts"
 | 
			
		||||
          fi
 | 
			
		||||
@ -170,7 +172,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
 | 
			
		||||
@ -184,7 +185,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder to builder dir
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -210,7 +211,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ inputs.DOCKER_IMAGE }}
 | 
			
		||||
 | 
			
		||||
@ -267,7 +268,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.1
 | 
			
		||||
 | 
			
		||||
      - name: Chown workspace
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								.github/workflows/_binary-test-linux.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/_binary-test-linux.yml
									
									
									
									
										vendored
									
									
								
							@ -127,13 +127,13 @@ 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          no-sudo: ${{ inputs.build_environment == 'linux-aarch64-binary-manywheel' }}
 | 
			
		||||
 | 
			
		||||
@ -154,7 +154,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
 | 
			
		||||
 | 
			
		||||
@ -167,7 +166,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder to builder dir
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -198,12 +197,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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ inputs.DOCKER_IMAGE }}
 | 
			
		||||
 | 
			
		||||
@ -213,7 +212,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.1
 | 
			
		||||
 | 
			
		||||
      - name: Chown workspace
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/workflows/_binary-upload.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/_binary-upload.yml
									
									
									
									
										vendored
									
									
								
							@ -97,7 +97,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          no-sudo: true
 | 
			
		||||
 | 
			
		||||
@ -121,7 +121,7 @@ jobs:
 | 
			
		||||
        shell: bash -e -l {0}
 | 
			
		||||
        run: |
 | 
			
		||||
          # reference ends with an RC suffix
 | 
			
		||||
          if [[ ${GITHUB_REF_NAME} = *-rc[0-9]* ]]; then
 | 
			
		||||
          if [[ "${GITHUB_REF_NAME}" = *-rc[0-9]* ]]; then
 | 
			
		||||
            echo "UPLOAD_CHANNEL=test" >> "$GITHUB_ENV"
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/_buck-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_buck-build-test.yml
									
									
									
									
										vendored
									
									
								
							@ -22,7 +22,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
@ -43,7 +43,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.1
 | 
			
		||||
 | 
			
		||||
      - name: Set up JDK 8
 | 
			
		||||
        uses: actions/setup-java@v3
 | 
			
		||||
@ -52,7 +52,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.8
 | 
			
		||||
          environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								.github/workflows/_docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.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.1
 | 
			
		||||
        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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
 | 
			
		||||
 | 
			
		||||
@ -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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/_ios-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_ios-build-test.yml
									
									
									
									
										vendored
									
									
								
							@ -43,7 +43,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
@ -67,7 +67,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.1
 | 
			
		||||
 | 
			
		||||
      - name: Populate CI build options
 | 
			
		||||
        run: |
 | 
			
		||||
@ -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.1
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: "3.9"
 | 
			
		||||
          environment-file: .github/requirements/conda-env-iOS
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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.1
 | 
			
		||||
        with:
 | 
			
		||||
          github-secret: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
 | 
			
		||||
@ -82,19 +82,19 @@ 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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
 | 
			
		||||
 | 
			
		||||
@ -192,5 +192,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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								.github/workflows/_linux-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/_linux-test.yml
									
									
									
									
										vendored
									
									
								
							@ -57,7 +57,7 @@ jobs:
 | 
			
		||||
    timeout-minutes: ${{ 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.1
 | 
			
		||||
        if: ${{ !contains(matrix.runner, 'gcp.a100') }}
 | 
			
		||||
        with:
 | 
			
		||||
          github-secret: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
@ -66,25 +66,25 @@ 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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        if: contains(inputs.build-environment, 'cuda') && !contains(matrix.config, 'nogpu')
 | 
			
		||||
 | 
			
		||||
      - name: Lock NVIDIA A100 40GB Frequency
 | 
			
		||||
@ -292,7 +292,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.1
 | 
			
		||||
        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.1
 | 
			
		||||
 | 
			
		||||
      # [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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: ${{ inputs.python-version }}
 | 
			
		||||
          environment-file: ${{ inputs.environment-file }}
 | 
			
		||||
@ -206,4 +206,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.1
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/workflows/_mac-test-mps.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/_mac-test-mps.yml
									
									
									
									
										vendored
									
									
								
							@ -41,7 +41,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
@ -85,7 +85,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: ${{ inputs.python-version }}
 | 
			
		||||
          environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								.github/workflows/_mac-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/_mac-test.yml
									
									
									
									
										vendored
									
									
								
							@ -69,11 +69,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.1
 | 
			
		||||
 | 
			
		||||
      # [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.1
 | 
			
		||||
 | 
			
		||||
      - name: Download build artifacts
 | 
			
		||||
        uses: ./.github/actions/download-build-artifacts
 | 
			
		||||
@ -82,7 +82,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: ${{ inputs.python-version }}
 | 
			
		||||
          environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }}
 | 
			
		||||
@ -205,4 +205,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.1
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/_rocm-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_rocm-test.yml
									
									
									
									
										vendored
									
									
								
							@ -48,7 +48,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          no-sudo: true
 | 
			
		||||
 | 
			
		||||
@ -57,12 +57,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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        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
									
									
								
							@ -22,7 +22,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
@ -45,10 +45,10 @@ 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.1
 | 
			
		||||
 | 
			
		||||
      - name: Setup miniconda
 | 
			
		||||
        uses: pytorch/test-infra/.github/actions/setup-miniconda@main
 | 
			
		||||
        uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.1
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.8
 | 
			
		||||
          environment-file: .github/requirements/conda-env-${{ runner.os }}-${{ runner.arch }}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          no-sudo: true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/_win-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/_win-test.yml
									
									
									
									
										vendored
									
									
								
							@ -48,10 +48,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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          github-secret: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
          instructions: |
 | 
			
		||||
@ -67,7 +67,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          no-sudo: true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										192
									
								
								.github/workflows/build-triton-wheel.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										192
									
								
								.github/workflows/build-triton-wheel.yml
									
									
									
									
										vendored
									
									
								
							@ -3,7 +3,11 @@ name: Build Triton wheels
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - main
 | 
			
		||||
      - release/2.1
 | 
			
		||||
    tags:
 | 
			
		||||
      # NOTE: Binary build pipelines should only get triggered on release candidate builds
 | 
			
		||||
      # Release candidate tags look like: v1.11.0-rc1
 | 
			
		||||
      - v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+
 | 
			
		||||
    paths:
 | 
			
		||||
      - .github/workflows/build-triton-wheel.yml
 | 
			
		||||
      - .github/scripts/build_triton_wheel.py
 | 
			
		||||
@ -43,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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          submodules: false
 | 
			
		||||
 | 
			
		||||
@ -56,11 +60,13 @@ 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ env.DOCKER_IMAGE }}
 | 
			
		||||
 | 
			
		||||
      - name: Build Triton wheel
 | 
			
		||||
        env:
 | 
			
		||||
          IS_RELEASE_TAG: ${{ startsWith(github.event.ref, 'refs/tags/v') }}
 | 
			
		||||
        run: |
 | 
			
		||||
          set -x
 | 
			
		||||
          mkdir -p "${RUNNER_TEMP}/artifacts/"
 | 
			
		||||
@ -98,64 +104,75 @@ jobs:
 | 
			
		||||
            BUILD_ROCM="--build-rocm"
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
          RELEASE=""
 | 
			
		||||
          if [[ "${IS_RELEASE_TAG}" == true ]]; then
 | 
			
		||||
            RELEASE="--release"
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
          docker exec -t "${container_name}" yum install -y zlib-devel zip
 | 
			
		||||
          docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}"  -m pip install -U setuptools==67.4.0
 | 
			
		||||
          docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" /pytorch/.github/scripts/build_triton_wheel.py $BUILD_ROCM
 | 
			
		||||
          docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" /pytorch/.github/scripts/build_triton_wheel.py $BUILD_ROCM $RELEASE
 | 
			
		||||
          docker exec -t "${container_name}" chown -R 1000.1000 /artifacts
 | 
			
		||||
 | 
			
		||||
      - uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: "pytorch-triton-wheel-${{ matrix.py_vers }}"
 | 
			
		||||
          # NB: Use the same name here and all wheels can be downloaded by referring to the same artifact
 | 
			
		||||
          name: pytorch-triton-wheel
 | 
			
		||||
          if-no-files-found: error
 | 
			
		||||
          path:
 | 
			
		||||
            ${{ runner.temp }}/artifacts/*
 | 
			
		||||
          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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
  upload-wheel:
 | 
			
		||||
    runs-on: linux.20_04.4x
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    needs: build-wheel
 | 
			
		||||
    container:
 | 
			
		||||
      image: continuumio/miniconda3:4.12.0
 | 
			
		||||
    env:
 | 
			
		||||
      GITHUB_TOKEN: ${{ secrets.github-token }}
 | 
			
		||||
    environment: ${{ (github.event_name == 'push' && (github.event.ref == 'refs/heads/nightly' || startsWith(github.event.ref, 'refs/tags/v'))) && 'conda-aws-upload' || '' }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Download Build Artifacts (3.8)
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
 | 
			
		||||
      - name: Download Build Artifacts
 | 
			
		||||
        uses: actions/download-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: "pytorch-triton-wheel-3.8"
 | 
			
		||||
          path: "${{ runner.temp }}/artifacts/"
 | 
			
		||||
      - name: Download Build Artifacts (3.9)
 | 
			
		||||
        uses: actions/download-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: "pytorch-triton-wheel-3.9"
 | 
			
		||||
          path: "${{ runner.temp }}/artifacts/"
 | 
			
		||||
      - name: Download Build Artifacts (3.10)
 | 
			
		||||
        uses: actions/download-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: "pytorch-triton-wheel-3.10"
 | 
			
		||||
          path: "${{ runner.temp }}/artifacts/"
 | 
			
		||||
      - name: Download Build Artifacts (3.11)
 | 
			
		||||
        uses: actions/download-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: "pytorch-triton-wheel-3.11"
 | 
			
		||||
          path: "${{ runner.temp }}/artifacts/"
 | 
			
		||||
      - name: Upload binaries
 | 
			
		||||
        if: ${{ github.event_name == 'push' && github.event.ref == 'refs/heads/main' }}
 | 
			
		||||
        env:
 | 
			
		||||
          PKG_DIR: "${{ runner.temp }}/artifacts"
 | 
			
		||||
          # When running these on pull_request events these should be blank
 | 
			
		||||
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_S3_UPDATE_ACCESS_KEY_ID }}
 | 
			
		||||
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_UPDATE_SECRET_ACCESS_KEY }}
 | 
			
		||||
          UPLOAD_BUCKET: "s3://pytorch"
 | 
			
		||||
          name: pytorch-triton-wheel
 | 
			
		||||
          path: ${{ runner.temp }}/artifacts/
 | 
			
		||||
 | 
			
		||||
      - name: Set DRY_RUN (only for tagged pushes)
 | 
			
		||||
        if: ${{ github.event_name == 'push' && (github.event.ref == 'refs/heads/nightly' || (startsWith(github.event.ref, 'refs/tags/v'))) }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
            set -ex
 | 
			
		||||
            pip install -q awscli
 | 
			
		||||
            s3_dir="${UPLOAD_BUCKET}/whl/nightly/"
 | 
			
		||||
            for pkg in "${PKG_DIR}/"*.whl; do
 | 
			
		||||
              aws s3 cp --no-progress --acl public-read "${pkg}" "${s3_dir}"
 | 
			
		||||
             done
 | 
			
		||||
          echo "DRY_RUN=disabled" >> "$GITHUB_ENV"
 | 
			
		||||
 | 
			
		||||
      - name: Set UPLOAD_CHANNEL (only for tagged pushes)
 | 
			
		||||
        if: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          set -ex
 | 
			
		||||
 | 
			
		||||
          # reference ends with an RC suffix
 | 
			
		||||
          if [[ "${GITHUB_REF_NAME}" = *-rc[0-9]* ]]; then
 | 
			
		||||
            echo "UPLOAD_CHANNEL=test" >> "$GITHUB_ENV"
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
      # NB: This step is gated by DRY_RUN, which is enabled everywhere except nightly and release branches
 | 
			
		||||
      - name: Upload binaries
 | 
			
		||||
        env:
 | 
			
		||||
          PACKAGE_TYPE: wheel
 | 
			
		||||
          # The UPLOAD_SUBFOLDER needs to be empty here so that triton wheels are uploaded
 | 
			
		||||
          # to nightly or test
 | 
			
		||||
          UPLOAD_SUBFOLDER: ""
 | 
			
		||||
          PKG_DIR: ${{ runner.temp }}/artifacts
 | 
			
		||||
          # When running these on pull_request events these should be blank
 | 
			
		||||
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          set -ex
 | 
			
		||||
          bash .circleci/scripts/binary_upload.sh
 | 
			
		||||
 | 
			
		||||
  build-conda:
 | 
			
		||||
    name: "Build Triton Conda"
 | 
			
		||||
    runs-on: [self-hosted, linux.2xlarge]
 | 
			
		||||
@ -164,19 +181,17 @@ jobs:
 | 
			
		||||
      matrix:
 | 
			
		||||
        py_vers: [ "3.8", "3.9", "3.10", "3.11" ]
 | 
			
		||||
    timeout-minutes: 40
 | 
			
		||||
    environment: ${{ (github.event_name == 'push' && github.event.ref == 'refs/heads/main') && 'conda-aws-upload' || '' }}
 | 
			
		||||
    env:
 | 
			
		||||
      DOCKER_IMAGE: pytorch/conda-builder:cpu
 | 
			
		||||
      PY_VERS: ${{ matrix.py_vers }}
 | 
			
		||||
      ANACONDA_API_TOKEN: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
    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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          submodules: false
 | 
			
		||||
 | 
			
		||||
@ -184,11 +199,13 @@ 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ env.DOCKER_IMAGE }}
 | 
			
		||||
 | 
			
		||||
      - name: Build Triton conda package
 | 
			
		||||
        env:
 | 
			
		||||
          IS_RELEASE_TAG: ${{ startsWith(github.event.ref, 'refs/tags/v') }}
 | 
			
		||||
        run: |
 | 
			
		||||
          set -x
 | 
			
		||||
          mkdir -p "${RUNNER_TEMP}/artifacts/"
 | 
			
		||||
@ -198,31 +215,76 @@ jobs:
 | 
			
		||||
            -v "${GITHUB_WORKSPACE}:/pytorch" \
 | 
			
		||||
            -v "${RUNNER_TEMP}/artifacts:/artifacts" \
 | 
			
		||||
            -w /artifacts/ \
 | 
			
		||||
            -e ANACONDA_API_TOKEN \
 | 
			
		||||
            "${DOCKER_IMAGE}" \
 | 
			
		||||
          )
 | 
			
		||||
 | 
			
		||||
          RELEASE=""
 | 
			
		||||
          if [[ "${IS_RELEASE_TAG}" == true ]]; then
 | 
			
		||||
            RELEASE="--release"
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
          docker exec -t "${container_name}" yum install -y llvm11 llvm11-devel llvm11-static llvm11-libs zlib-devel
 | 
			
		||||
          docker exec -t "${container_name}" python /pytorch/.github/scripts/build_triton_wheel.py --build-conda --py-version="${PY_VERS}"
 | 
			
		||||
 | 
			
		||||
      - name: Upload artifacts to Anaconda
 | 
			
		||||
        if: ${{ github.event_name == 'push' && github.event.ref == 'refs/heads/main' }}
 | 
			
		||||
        run: |
 | 
			
		||||
          container_name=$(docker container ps --format '{{.ID}}')
 | 
			
		||||
          docker exec -t "${container_name}" sh -c "anaconda upload /artifacts/torch*.tar.bz2 -u pytorch-nightly --label main --no-progress --force"
 | 
			
		||||
 | 
			
		||||
      - name: Chown artifacts
 | 
			
		||||
        run: |
 | 
			
		||||
          container_name=$(docker container ps --format '{{.ID}}')
 | 
			
		||||
          docker exec -t "${container_name}" python /pytorch/.github/scripts/build_triton_wheel.py --build-conda --py-version="${PY_VERS}" $RELEASE
 | 
			
		||||
          docker exec -t "${container_name}" chown -R 1000.1000 /artifacts
 | 
			
		||||
 | 
			
		||||
      - uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: "pytorch-triton-conda-${{ matrix.py_vers }}"
 | 
			
		||||
          # NB: Use the same name here and all wheels can be downloaded by referring to the same artifact
 | 
			
		||||
          name: pytorch-triton-conda
 | 
			
		||||
          if-no-files-found: error
 | 
			
		||||
          path:
 | 
			
		||||
            ${{ runner.temp }}/artifacts/*
 | 
			
		||||
          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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
  upload-conda:
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    needs: build-conda
 | 
			
		||||
    container:
 | 
			
		||||
      image: continuumio/miniconda3:4.12.0
 | 
			
		||||
    environment: ${{ (github.event_name == 'push' && (github.event.ref == 'refs/heads/nightly' || startsWith(github.event.ref, 'refs/tags/v'))) && 'conda-aws-upload' || '' }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
 | 
			
		||||
      - name: Download Build Artifacts
 | 
			
		||||
        uses: actions/download-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: pytorch-triton-conda
 | 
			
		||||
          path: ${{ runner.temp }}/artifacts/
 | 
			
		||||
 | 
			
		||||
      - name: Set DRY_RUN (only for tagged pushes)
 | 
			
		||||
        if: ${{ github.event_name == 'push' && (github.event.ref == 'refs/heads/nightly' || (startsWith(github.event.ref, 'refs/tags/v'))) }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "DRY_RUN=disabled" >> "$GITHUB_ENV"
 | 
			
		||||
 | 
			
		||||
      - name: Set UPLOAD_CHANNEL (only for tagged pushes)
 | 
			
		||||
        if: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          set -ex
 | 
			
		||||
 | 
			
		||||
          # reference ends with an RC suffix
 | 
			
		||||
          if [[ "${GITHUB_REF_NAME}" = *-rc[0-9]* ]]; then
 | 
			
		||||
            echo "UPLOAD_CHANNEL=test" >> "$GITHUB_ENV"
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
      # NB: This step is gated by DRY_RUN, which is enabled everywhere except nightly and release branches
 | 
			
		||||
      - name: Upload binaries to Anaconda
 | 
			
		||||
        env:
 | 
			
		||||
          PACKAGE_TYPE: conda
 | 
			
		||||
          PKG_DIR: ${{ runner.temp }}/artifacts
 | 
			
		||||
          # When running these on pull_request events these should be blank
 | 
			
		||||
          CONDA_PYTORCHBOT_TOKEN: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
          CONDA_PYTORCHBOT_TOKEN_TEST: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          set -ex
 | 
			
		||||
 | 
			
		||||
          if [[ "${UPLOAD_CHANNEL}" = "nightly" ]]; then
 | 
			
		||||
            export ANACONDA_API_TOKEN="${CONDA_PYTORCHBOT_TOKEN}"
 | 
			
		||||
          else
 | 
			
		||||
            export ANACONDA_API_TOKEN="${CONDA_PYTORCHBOT_TOKEN_TEST}"
 | 
			
		||||
          fi
 | 
			
		||||
          bash .circleci/scripts/binary_upload.sh
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/check-labels.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-labels.yml
									
									
									
									
										vendored
									
									
								
							@ -29,7 +29,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          submodules: false
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,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.1
 | 
			
		||||
 | 
			
		||||
      - name: Run close_nonexistent_disable_issues.py
 | 
			
		||||
        env:
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								.github/workflows/docker-builds.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/docker-builds.yml
									
									
									
									
										vendored
									
									
								
							@ -61,21 +61,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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: ${{ steps.build-docker-image.outputs.docker-image }}
 | 
			
		||||
 | 
			
		||||
@ -105,5 +105,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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/workflows/docker-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/docker-release.yml
									
									
									
									
										vendored
									
									
								
							@ -47,7 +47,7 @@ jobs:
 | 
			
		||||
      BUILD_PLATFORMS: ${{ matrix.platform }}
 | 
			
		||||
    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.1
 | 
			
		||||
        with:
 | 
			
		||||
          github-secret: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      # [see note: pytorch repo ref]
 | 
			
		||||
@ -109,5 +109,5 @@ jobs:
 | 
			
		||||
                 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.1
 | 
			
		||||
        if: always()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -93,7 +93,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-cpu-aarch64-build:
 | 
			
		||||
@ -153,7 +153,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-cpu-aarch64-build:
 | 
			
		||||
@ -213,7 +213,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-cpu-aarch64-build:
 | 
			
		||||
@ -273,5 +273,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								.github/workflows/generated-linux-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/generated-linux-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -90,7 +90,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_8-cuda11_8-build:
 | 
			
		||||
@ -150,7 +150,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_8-cuda12_1-build:
 | 
			
		||||
@ -210,7 +210,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_9-cpu-build:
 | 
			
		||||
@ -267,7 +267,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_9-cuda11_8-build:
 | 
			
		||||
@ -327,7 +327,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_9-cuda12_1-build:
 | 
			
		||||
@ -387,7 +387,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_10-cpu-build:
 | 
			
		||||
@ -444,7 +444,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_10-cuda11_8-build:
 | 
			
		||||
@ -504,7 +504,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_10-cuda12_1-build:
 | 
			
		||||
@ -564,7 +564,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_11-cpu-build:
 | 
			
		||||
@ -621,7 +621,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_11-cuda11_8-build:
 | 
			
		||||
@ -681,7 +681,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  conda-py3_11-cuda12_1-build:
 | 
			
		||||
@ -741,5 +741,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/generated-linux-binary-libtorch-cxx11-abi-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								.github/workflows/generated-linux-binary-libtorch-cxx11-abi-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -93,7 +93,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cpu-shared-without-deps-cxx11-abi-build:
 | 
			
		||||
@ -153,7 +153,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cpu-static-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -213,7 +213,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cpu-static-without-deps-cxx11-abi-build:
 | 
			
		||||
@ -273,7 +273,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-shared-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -336,7 +336,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-shared-without-deps-cxx11-abi-build:
 | 
			
		||||
@ -399,7 +399,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-static-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -462,7 +462,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-static-without-deps-cxx11-abi-build:
 | 
			
		||||
@ -525,7 +525,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-shared-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -588,7 +588,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-shared-without-deps-cxx11-abi-build:
 | 
			
		||||
@ -651,7 +651,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-static-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -714,7 +714,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-static-without-deps-cxx11-abi-build:
 | 
			
		||||
@ -777,7 +777,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_5-shared-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -828,7 +828,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
 | 
			
		||||
@ -840,7 +839,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -854,7 +853,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/libtorch-cxx11-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -881,7 +880,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_5-static-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -932,7 +931,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
 | 
			
		||||
@ -944,7 +942,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -958,7 +956,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/libtorch-cxx11-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -985,7 +983,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_6-shared-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -1036,7 +1034,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
 | 
			
		||||
@ -1048,7 +1045,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1062,7 +1059,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/libtorch-cxx11-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1089,7 +1086,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_6-static-with-deps-cxx11-abi-build:
 | 
			
		||||
@ -1140,7 +1137,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
 | 
			
		||||
@ -1152,7 +1148,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1166,7 +1162,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/libtorch-cxx11-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1193,5 +1189,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/generated-linux-binary-libtorch-pre-cxx11-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								.github/workflows/generated-linux-binary-libtorch-pre-cxx11-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -93,7 +93,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cpu-shared-without-deps-pre-cxx11-build:
 | 
			
		||||
@ -153,7 +153,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cpu-static-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -213,7 +213,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cpu-static-without-deps-pre-cxx11-build:
 | 
			
		||||
@ -273,7 +273,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-shared-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -336,7 +336,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-shared-without-deps-pre-cxx11-build:
 | 
			
		||||
@ -399,7 +399,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-static-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -462,7 +462,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda11_8-static-without-deps-pre-cxx11-build:
 | 
			
		||||
@ -525,7 +525,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-shared-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -588,7 +588,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-shared-without-deps-pre-cxx11-build:
 | 
			
		||||
@ -651,7 +651,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-static-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -714,7 +714,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-cuda12_1-static-without-deps-pre-cxx11-build:
 | 
			
		||||
@ -777,7 +777,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_5-shared-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -828,7 +828,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
 | 
			
		||||
@ -840,7 +839,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -854,7 +853,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -881,7 +880,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_5-static-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -932,7 +931,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
 | 
			
		||||
@ -944,7 +942,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -958,7 +956,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -985,7 +983,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_6-shared-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -1036,7 +1034,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
 | 
			
		||||
@ -1048,7 +1045,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1062,7 +1059,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1089,7 +1086,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  libtorch-rocm5_6-static-with-deps-pre-cxx11-build:
 | 
			
		||||
@ -1140,7 +1137,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
 | 
			
		||||
@ -1152,7 +1148,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1166,7 +1162,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1193,5 +1189,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/generated-linux-binary-manywheel-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/generated-linux-binary-manywheel-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -86,7 +86,7 @@ jobs:
 | 
			
		||||
      DESIRED_PYTHON: "3.8"
 | 
			
		||||
      build_name: manywheel-py3_8-cuda12_1-with-pypi-cudnn
 | 
			
		||||
      build_environment: linux-binary-manywheel
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | triton==2.1.0; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
    secrets:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
  manywheel-py3_8-cuda12_1-with-pypi-cudnn-test:  # Testing
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										104
									
								
								.github/workflows/generated-linux-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										104
									
								
								.github/workflows/generated-linux-binary-manywheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -90,7 +90,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_8-cpu-cxx11-abi-build:
 | 
			
		||||
@ -150,7 +150,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_8-cuda11_8-build:
 | 
			
		||||
@ -210,7 +210,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_8-cuda12_1-with-pypi-cudnn-build:
 | 
			
		||||
@ -229,7 +229,7 @@ jobs:
 | 
			
		||||
      DESIRED_PYTHON: "3.8"
 | 
			
		||||
      build_name: manywheel-py3_8-cuda12_1-with-pypi-cudnn
 | 
			
		||||
      build_environment: linux-binary-manywheel
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | triton==2.1.0; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
    secrets:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
  manywheel-py3_8-cuda12_1-with-pypi-cudnn-test:  # Testing
 | 
			
		||||
@ -271,7 +271,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_8-cuda12_1-build:
 | 
			
		||||
@ -331,7 +331,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_8-rocm5_5-build:
 | 
			
		||||
@ -380,7 +380,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
 | 
			
		||||
@ -392,7 +391,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -406,7 +405,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -432,7 +431,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_8-rocm5_6-build:
 | 
			
		||||
@ -481,7 +480,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
 | 
			
		||||
@ -493,7 +491,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -507,7 +505,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -533,7 +531,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-cpu-build:
 | 
			
		||||
@ -590,7 +588,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-cpu-cxx11-abi-build:
 | 
			
		||||
@ -650,7 +648,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-cuda11_8-build:
 | 
			
		||||
@ -710,7 +708,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-cuda12_1-with-pypi-cudnn-build:
 | 
			
		||||
@ -729,7 +727,7 @@ jobs:
 | 
			
		||||
      DESIRED_PYTHON: "3.9"
 | 
			
		||||
      build_name: manywheel-py3_9-cuda12_1-with-pypi-cudnn
 | 
			
		||||
      build_environment: linux-binary-manywheel
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | triton==2.1.0; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
    secrets:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
  manywheel-py3_9-cuda12_1-with-pypi-cudnn-test:  # Testing
 | 
			
		||||
@ -771,7 +769,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-cuda12_1-build:
 | 
			
		||||
@ -831,7 +829,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-rocm5_5-build:
 | 
			
		||||
@ -880,7 +878,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
 | 
			
		||||
@ -892,7 +889,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -906,7 +903,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -932,7 +929,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_9-rocm5_6-build:
 | 
			
		||||
@ -981,7 +978,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
 | 
			
		||||
@ -993,7 +989,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1007,7 +1003,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1033,7 +1029,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-cpu-build:
 | 
			
		||||
@ -1090,7 +1086,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-cpu-cxx11-abi-build:
 | 
			
		||||
@ -1150,7 +1146,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-cuda11_8-build:
 | 
			
		||||
@ -1210,7 +1206,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-cuda12_1-with-pypi-cudnn-build:
 | 
			
		||||
@ -1229,7 +1225,7 @@ jobs:
 | 
			
		||||
      DESIRED_PYTHON: "3.10"
 | 
			
		||||
      build_name: manywheel-py3_10-cuda12_1-with-pypi-cudnn
 | 
			
		||||
      build_environment: linux-binary-manywheel
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | triton==2.1.0; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
    secrets:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
  manywheel-py3_10-cuda12_1-with-pypi-cudnn-test:  # Testing
 | 
			
		||||
@ -1271,7 +1267,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-cuda12_1-build:
 | 
			
		||||
@ -1331,7 +1327,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-rocm5_5-build:
 | 
			
		||||
@ -1380,7 +1376,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
 | 
			
		||||
@ -1392,7 +1387,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1406,7 +1401,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1432,7 +1427,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_10-rocm5_6-build:
 | 
			
		||||
@ -1481,7 +1476,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
 | 
			
		||||
@ -1493,7 +1487,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1507,7 +1501,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1533,7 +1527,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-cpu-build:
 | 
			
		||||
@ -1590,7 +1584,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-cpu-cxx11-abi-build:
 | 
			
		||||
@ -1650,7 +1644,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-cuda11_8-build:
 | 
			
		||||
@ -1710,7 +1704,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-cuda12_1-with-pypi-cudnn-build:
 | 
			
		||||
@ -1729,7 +1723,7 @@ jobs:
 | 
			
		||||
      DESIRED_PYTHON: "3.11"
 | 
			
		||||
      build_name: manywheel-py3_11-cuda12_1-with-pypi-cudnn
 | 
			
		||||
      build_environment: linux-binary-manywheel
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==8.9.2.26; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.18.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | triton==2.1.0; platform_system == 'Linux' and platform_machine == 'x86_64'
 | 
			
		||||
    secrets:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
  manywheel-py3_11-cuda12_1-with-pypi-cudnn-test:  # Testing
 | 
			
		||||
@ -1771,7 +1765,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-cuda12_1-build:
 | 
			
		||||
@ -1831,7 +1825,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-rocm5_5-build:
 | 
			
		||||
@ -1880,7 +1874,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
 | 
			
		||||
@ -1892,7 +1885,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1906,7 +1899,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.5
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -1932,7 +1925,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
  manywheel-py3_11-rocm5_6-build:
 | 
			
		||||
@ -1981,7 +1974,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
 | 
			
		||||
@ -1993,7 +1985,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2007,7 +1999,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          docker-image: pytorch/manylinux-builder:rocm5.6
 | 
			
		||||
      - name: Test Pytorch binary
 | 
			
		||||
@ -2033,5 +2025,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/generated-macos-arm64-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -75,7 +75,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
 | 
			
		||||
@ -87,7 +86,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -144,7 +143,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_9-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -187,7 +186,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
 | 
			
		||||
@ -199,7 +197,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -256,7 +254,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_10-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -299,7 +297,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
 | 
			
		||||
@ -311,7 +308,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -368,7 +365,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_11-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -411,7 +408,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
 | 
			
		||||
@ -423,7 +419,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -480,5 +476,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -75,7 +75,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
 | 
			
		||||
@ -87,7 +86,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -144,7 +143,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_9-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -187,7 +186,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
 | 
			
		||||
@ -199,7 +197,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -256,7 +254,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_10-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -299,7 +297,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
 | 
			
		||||
@ -311,7 +308,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -368,7 +365,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_11-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -411,7 +408,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
 | 
			
		||||
@ -423,7 +419,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -480,5 +476,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								.github/workflows/generated-macos-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/generated-macos-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -73,7 +73,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
 | 
			
		||||
@ -85,7 +84,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -142,7 +141,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_9-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -185,7 +184,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
 | 
			
		||||
@ -197,7 +195,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -254,7 +252,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_10-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -297,7 +295,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
 | 
			
		||||
@ -309,7 +306,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -366,7 +363,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_11-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -409,7 +406,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
 | 
			
		||||
@ -421,7 +417,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -478,5 +474,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								.github/workflows/generated-macos-binary-libtorch-cxx11-abi-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/generated-macos-binary-libtorch-cxx11-abi-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.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -147,7 +146,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-shared-without-deps-cxx11-abi-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -194,7 +193,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
 | 
			
		||||
@ -206,7 +204,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -264,7 +262,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-static-with-deps-cxx11-abi-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -311,7 +309,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
 | 
			
		||||
@ -323,7 +320,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -381,7 +378,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-static-without-deps-cxx11-abi-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -428,7 +425,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
 | 
			
		||||
@ -440,7 +436,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -498,5 +494,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								.github/workflows/generated-macos-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/generated-macos-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -73,7 +73,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
 | 
			
		||||
@ -85,7 +84,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -142,7 +141,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_9-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -185,7 +184,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
 | 
			
		||||
@ -197,7 +195,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -254,7 +252,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_10-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -297,7 +295,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
 | 
			
		||||
@ -309,7 +306,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -366,7 +363,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_11-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -409,7 +406,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
 | 
			
		||||
@ -421,7 +417,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -478,5 +474,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										96
									
								
								.github/workflows/generated-windows-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										96
									
								
								.github/workflows/generated-windows-binary-conda-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -92,7 +92,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
 | 
			
		||||
@ -104,7 +103,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -208,7 +207,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
 | 
			
		||||
@ -220,7 +218,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -268,7 +266,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_8-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -331,7 +329,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
 | 
			
		||||
@ -343,7 +340,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -448,7 +445,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
 | 
			
		||||
@ -460,7 +456,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -509,7 +505,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_8-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -572,7 +568,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
 | 
			
		||||
@ -584,7 +579,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -689,7 +684,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
 | 
			
		||||
@ -701,7 +695,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -750,7 +744,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_9-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -812,7 +806,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
 | 
			
		||||
@ -824,7 +817,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -928,7 +921,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
 | 
			
		||||
@ -940,7 +932,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -988,7 +980,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_9-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1051,7 +1043,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
 | 
			
		||||
@ -1063,7 +1054,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1168,7 +1159,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
 | 
			
		||||
@ -1180,7 +1170,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1229,7 +1219,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_9-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1292,7 +1282,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
 | 
			
		||||
@ -1304,7 +1293,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1409,7 +1398,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
 | 
			
		||||
@ -1421,7 +1409,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1470,7 +1458,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_10-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1532,7 +1520,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
 | 
			
		||||
@ -1544,7 +1531,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1648,7 +1635,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
 | 
			
		||||
@ -1660,7 +1646,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1708,7 +1694,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_10-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1771,7 +1757,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
 | 
			
		||||
@ -1783,7 +1768,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1888,7 +1873,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
 | 
			
		||||
@ -1900,7 +1884,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1949,7 +1933,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_10-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2012,7 +1996,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
 | 
			
		||||
@ -2024,7 +2007,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2129,7 +2112,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
 | 
			
		||||
@ -2141,7 +2123,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2190,7 +2172,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_11-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2252,7 +2234,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
 | 
			
		||||
@ -2264,7 +2245,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2368,7 +2349,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
 | 
			
		||||
@ -2380,7 +2360,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2428,7 +2408,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_11-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2491,7 +2471,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
 | 
			
		||||
@ -2503,7 +2482,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2608,7 +2587,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
 | 
			
		||||
@ -2620,7 +2598,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2669,7 +2647,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  conda-py3_11-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2732,7 +2710,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
 | 
			
		||||
@ -2744,7 +2721,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2849,7 +2826,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
 | 
			
		||||
@ -2861,7 +2837,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2910,5 +2886,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -89,7 +89,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
 | 
			
		||||
@ -101,7 +100,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -209,7 +208,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
 | 
			
		||||
@ -221,7 +219,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										96
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										96
									
								
								.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -96,7 +96,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
 | 
			
		||||
@ -108,7 +107,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -216,7 +215,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
 | 
			
		||||
@ -228,7 +226,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -280,7 +278,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-shared-without-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -346,7 +344,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
 | 
			
		||||
@ -358,7 +355,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -466,7 +463,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
 | 
			
		||||
@ -478,7 +474,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -530,7 +526,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-static-with-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -596,7 +592,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
 | 
			
		||||
@ -608,7 +603,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -716,7 +711,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
 | 
			
		||||
@ -728,7 +722,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -780,7 +774,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-static-without-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -846,7 +840,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
 | 
			
		||||
@ -858,7 +851,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -966,7 +959,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
 | 
			
		||||
@ -978,7 +970,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1030,7 +1022,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-shared-with-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1097,7 +1089,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
 | 
			
		||||
@ -1109,7 +1100,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1218,7 +1209,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
 | 
			
		||||
@ -1230,7 +1220,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1283,7 +1273,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-shared-without-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1350,7 +1340,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
 | 
			
		||||
@ -1362,7 +1351,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1471,7 +1460,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
 | 
			
		||||
@ -1483,7 +1471,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1536,7 +1524,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-static-with-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1603,7 +1591,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
 | 
			
		||||
@ -1615,7 +1602,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1724,7 +1711,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
 | 
			
		||||
@ -1736,7 +1722,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1789,7 +1775,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-static-without-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1856,7 +1842,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
 | 
			
		||||
@ -1868,7 +1853,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1977,7 +1962,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
 | 
			
		||||
@ -1989,7 +1973,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2042,7 +2026,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-shared-with-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2109,7 +2093,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
 | 
			
		||||
@ -2121,7 +2104,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2230,7 +2213,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
 | 
			
		||||
@ -2242,7 +2224,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2295,7 +2277,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-shared-without-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2362,7 +2344,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
 | 
			
		||||
@ -2374,7 +2355,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2483,7 +2464,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
 | 
			
		||||
@ -2495,7 +2475,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2548,7 +2528,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-static-with-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2615,7 +2595,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
 | 
			
		||||
@ -2627,7 +2606,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2736,7 +2715,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
 | 
			
		||||
@ -2748,7 +2726,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2801,7 +2779,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-static-without-deps-debug-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2868,7 +2846,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
 | 
			
		||||
@ -2880,7 +2857,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2989,7 +2966,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
 | 
			
		||||
@ -3001,7 +2977,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -3054,5 +3030,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/generated-windows-binary-libtorch-release-main.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -89,7 +89,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
 | 
			
		||||
@ -101,7 +100,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -209,7 +208,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
 | 
			
		||||
@ -221,7 +219,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										96
									
								
								.github/workflows/generated-windows-binary-libtorch-release-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										96
									
								
								.github/workflows/generated-windows-binary-libtorch-release-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -96,7 +96,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
 | 
			
		||||
@ -108,7 +107,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -216,7 +215,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
 | 
			
		||||
@ -228,7 +226,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -280,7 +278,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-shared-without-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -346,7 +344,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
 | 
			
		||||
@ -358,7 +355,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -466,7 +463,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
 | 
			
		||||
@ -478,7 +474,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -530,7 +526,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-static-with-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -596,7 +592,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
 | 
			
		||||
@ -608,7 +603,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -716,7 +711,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
 | 
			
		||||
@ -728,7 +722,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -780,7 +774,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cpu-static-without-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -846,7 +840,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
 | 
			
		||||
@ -858,7 +851,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -966,7 +959,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
 | 
			
		||||
@ -978,7 +970,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1030,7 +1022,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-shared-with-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1097,7 +1089,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
 | 
			
		||||
@ -1109,7 +1100,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1218,7 +1209,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
 | 
			
		||||
@ -1230,7 +1220,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1283,7 +1273,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-shared-without-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1350,7 +1340,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
 | 
			
		||||
@ -1362,7 +1351,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1471,7 +1460,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
 | 
			
		||||
@ -1483,7 +1471,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1536,7 +1524,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-static-with-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1603,7 +1591,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
 | 
			
		||||
@ -1615,7 +1602,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1724,7 +1711,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
 | 
			
		||||
@ -1736,7 +1722,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1789,7 +1775,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda11_8-static-without-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1856,7 +1842,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
 | 
			
		||||
@ -1868,7 +1853,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1977,7 +1962,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
 | 
			
		||||
@ -1989,7 +1973,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2042,7 +2026,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-shared-with-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2109,7 +2093,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
 | 
			
		||||
@ -2121,7 +2104,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2230,7 +2213,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
 | 
			
		||||
@ -2242,7 +2224,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2295,7 +2277,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-shared-without-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2362,7 +2344,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
 | 
			
		||||
@ -2374,7 +2355,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2483,7 +2464,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
 | 
			
		||||
@ -2495,7 +2475,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2548,7 +2528,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-static-with-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2615,7 +2595,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
 | 
			
		||||
@ -2627,7 +2606,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2736,7 +2715,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
 | 
			
		||||
@ -2748,7 +2726,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2801,7 +2779,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  libtorch-cuda12_1-static-without-deps-release-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2868,7 +2846,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
 | 
			
		||||
@ -2880,7 +2857,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2989,7 +2966,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
 | 
			
		||||
@ -3001,7 +2977,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -3054,5 +3030,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										96
									
								
								.github/workflows/generated-windows-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										96
									
								
								.github/workflows/generated-windows-binary-wheel-nightly.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -92,7 +92,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
 | 
			
		||||
@ -104,7 +103,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -208,7 +207,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
 | 
			
		||||
@ -220,7 +218,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -268,7 +266,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_8-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -331,7 +329,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
 | 
			
		||||
@ -343,7 +340,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -448,7 +445,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
 | 
			
		||||
@ -460,7 +456,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -509,7 +505,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_8-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -572,7 +568,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
 | 
			
		||||
@ -584,7 +579,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -689,7 +684,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
 | 
			
		||||
@ -701,7 +695,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -750,7 +744,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_9-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -812,7 +806,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
 | 
			
		||||
@ -824,7 +817,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -928,7 +921,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
 | 
			
		||||
@ -940,7 +932,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -988,7 +980,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_9-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1051,7 +1043,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
 | 
			
		||||
@ -1063,7 +1054,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1168,7 +1159,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
 | 
			
		||||
@ -1180,7 +1170,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1229,7 +1219,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_9-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1292,7 +1282,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
 | 
			
		||||
@ -1304,7 +1293,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1409,7 +1398,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
 | 
			
		||||
@ -1421,7 +1409,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1470,7 +1458,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_10-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1532,7 +1520,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
 | 
			
		||||
@ -1544,7 +1531,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1648,7 +1635,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
 | 
			
		||||
@ -1660,7 +1646,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1708,7 +1694,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_10-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -1771,7 +1757,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
 | 
			
		||||
@ -1783,7 +1768,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1888,7 +1873,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
 | 
			
		||||
@ -1900,7 +1884,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -1949,7 +1933,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_10-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2012,7 +1996,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
 | 
			
		||||
@ -2024,7 +2007,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2129,7 +2112,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
 | 
			
		||||
@ -2141,7 +2123,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2190,7 +2172,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_11-cpu-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2252,7 +2234,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
 | 
			
		||||
@ -2264,7 +2245,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2368,7 +2349,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
 | 
			
		||||
@ -2380,7 +2360,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2428,7 +2408,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_11-cuda11_8-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2491,7 +2471,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
 | 
			
		||||
@ -2503,7 +2482,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2608,7 +2587,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
 | 
			
		||||
@ -2620,7 +2598,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2669,7 +2647,7 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
  wheel-py3_11-cuda12_1-build:
 | 
			
		||||
    if: ${{ github.repository_owner == 'pytorch' }}
 | 
			
		||||
@ -2732,7 +2710,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
 | 
			
		||||
@ -2744,7 +2721,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2849,7 +2826,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
 | 
			
		||||
@ -2861,7 +2837,7 @@ jobs:
 | 
			
		||||
      - name: Checkout pytorch/builder
 | 
			
		||||
        uses: malfet/checkout@silent-checkout
 | 
			
		||||
        with:
 | 
			
		||||
          ref: main
 | 
			
		||||
          ref: release/2.1
 | 
			
		||||
          submodules: recursive
 | 
			
		||||
          repository: pytorch/builder
 | 
			
		||||
          path: builder
 | 
			
		||||
@ -2910,5 +2886,5 @@ jobs:
 | 
			
		||||
      github-token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      aws-pytorch-uploader-access-key-id: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }}
 | 
			
		||||
      aws-pytorch-uploader-secret-access-key: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
 | 
			
		||||
      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
 | 
			
		||||
    uses: ./.github/workflows/_binary-upload.yml
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/lint-bc.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/lint-bc.yml
									
									
									
									
										vendored
									
									
								
							@ -26,7 +26,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          repo: ${{ github.event.pull_request.head.repo.full_name }}
 | 
			
		||||
          base_sha: ${{ github.event.pull_request.base.sha }}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										16
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							@ -15,7 +15,7 @@ on:
 | 
			
		||||
# When any other step fails, it's job will be retried once by retryBot.
 | 
			
		||||
jobs:
 | 
			
		||||
  lintrunner:
 | 
			
		||||
    uses: pytorch/test-infra/.github/workflows/linux_job.yml@main
 | 
			
		||||
    uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.1
 | 
			
		||||
    with:
 | 
			
		||||
      runner: linux.2xlarge
 | 
			
		||||
      docker-image: pytorch-linux-focal-linter
 | 
			
		||||
@ -62,7 +62,7 @@ jobs:
 | 
			
		||||
        exit $RC
 | 
			
		||||
 | 
			
		||||
  quick-checks:
 | 
			
		||||
    uses: pytorch/test-infra/.github/workflows/linux_job.yml@main
 | 
			
		||||
    uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.1
 | 
			
		||||
    with:
 | 
			
		||||
      runner: linux.2xlarge
 | 
			
		||||
      docker-image: pytorch-linux-focal-linter
 | 
			
		||||
@ -103,7 +103,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          submodules: false
 | 
			
		||||
          fetch-depth: -1
 | 
			
		||||
@ -116,7 +116,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.1
 | 
			
		||||
    with:
 | 
			
		||||
      runner: linux.2xlarge
 | 
			
		||||
      docker-image: pytorch-linux-focal-linter
 | 
			
		||||
@ -151,7 +151,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.1
 | 
			
		||||
    with:
 | 
			
		||||
      runner: linux.2xlarge
 | 
			
		||||
      docker-image: pytorch-linux-focal-linter
 | 
			
		||||
@ -189,7 +189,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.1
 | 
			
		||||
    with:
 | 
			
		||||
      runner: linux.2xlarge
 | 
			
		||||
      docker-image: pytorch-linux-focal-linter
 | 
			
		||||
@ -210,7 +210,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.1
 | 
			
		||||
        with:
 | 
			
		||||
          submodules: false
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
@ -240,7 +240,7 @@ 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          submodules: false
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
 | 
			
		||||
@ -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.1
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
          submodules: false
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/update_pytorch_labels.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/update_pytorch_labels.yml
									
									
									
									
										vendored
									
									
								
							@ -14,7 +14,7 @@ jobs:
 | 
			
		||||
    if: ${{ github.repository == 'pytorch/pytorch' }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout PyTorch
 | 
			
		||||
        uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
 | 
			
		||||
        uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.1
 | 
			
		||||
        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.1
 | 
			
		||||
        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
									
									
								
							@ -37,7 +37,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.1
 | 
			
		||||
 | 
			
		||||
      - 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.1
 | 
			
		||||
        with:
 | 
			
		||||
          submodules: false
 | 
			
		||||
          fetch-depth: 1
 | 
			
		||||
 | 
			
		||||
@ -389,8 +389,9 @@ static inline bool mkldnn_conv_use_channels_last(const at::Tensor& input, const
 | 
			
		||||
      (input_memory_format  == at::MemoryFormat::ChannelsLast) ||
 | 
			
		||||
      (weight_memory_format == at::MemoryFormat::ChannelsLast);
 | 
			
		||||
 | 
			
		||||
  // TODO: add channels last 3d support
 | 
			
		||||
  bool can_use_mkldnn_channels_last_3d = false;
 | 
			
		||||
  bool can_use_mkldnn_channels_last_3d =
 | 
			
		||||
      (input_memory_format  == at::MemoryFormat::ChannelsLast3d) ||
 | 
			
		||||
      (weight_memory_format == at::MemoryFormat::ChannelsLast3d);
 | 
			
		||||
 | 
			
		||||
  return can_use_mkldnn_channels_last_2d || can_use_mkldnn_channels_last_3d;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -508,9 +508,6 @@ struct ConvParams {
 | 
			
		||||
    if (transposed && is_output_padding_big()) {
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (transposed && groups > 1 && at::symint::size<T>(input, 1) == groups) {
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (input.device().is_cpu() && input.scalar_type() == kBFloat16 && mkldnn_bf16_device_check()) {
 | 
			
		||||
      return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -727,7 +727,7 @@ Tensor _mkldnn_convolution_transpose(
 | 
			
		||||
 | 
			
		||||
  if (bias.defined()) {
 | 
			
		||||
    const ideep::tensor b = itensor_from_tensor(bias);
 | 
			
		||||
    ideep::convolution_transpose_forward::compute(
 | 
			
		||||
    ideep::convolution_transpose_forward::compute_v3(
 | 
			
		||||
        x,
 | 
			
		||||
        w,
 | 
			
		||||
        b,
 | 
			
		||||
@ -738,9 +738,10 @@ Tensor _mkldnn_convolution_transpose(
 | 
			
		||||
        padding_r(padding_expanded, output_padding_expanded),
 | 
			
		||||
        dilation.vec(),
 | 
			
		||||
        groups,
 | 
			
		||||
        use_channels_last,
 | 
			
		||||
        op_attr);
 | 
			
		||||
  } else {
 | 
			
		||||
    ideep::convolution_transpose_forward::compute(
 | 
			
		||||
    ideep::convolution_transpose_forward::compute_v3(
 | 
			
		||||
        x,
 | 
			
		||||
        w,
 | 
			
		||||
        output_sizes,
 | 
			
		||||
@ -750,6 +751,7 @@ Tensor _mkldnn_convolution_transpose(
 | 
			
		||||
        padding_r(padding_expanded, output_padding_expanded),
 | 
			
		||||
        dilation.vec(),
 | 
			
		||||
        groups,
 | 
			
		||||
        use_channels_last,
 | 
			
		||||
        op_attr);
 | 
			
		||||
  }
 | 
			
		||||
  if (input.is_mkldnn()) {
 | 
			
		||||
@ -988,7 +990,7 @@ Tensor mkldnn_convolution_transpose_backward_input(
 | 
			
		||||
    grad_input.resize_(input_size, memory_format);
 | 
			
		||||
    grad_x = itensor_from_tensor(grad_input);
 | 
			
		||||
  }
 | 
			
		||||
  ideep::convolution_transpose_backward_data::compute(
 | 
			
		||||
  ideep::convolution_transpose_backward_data::compute_v3(
 | 
			
		||||
      grad_y,
 | 
			
		||||
      w,
 | 
			
		||||
      input_size.vec(),
 | 
			
		||||
@ -997,7 +999,8 @@ Tensor mkldnn_convolution_transpose_backward_input(
 | 
			
		||||
      padding.vec(),
 | 
			
		||||
      padding_r(padding, output_padding),
 | 
			
		||||
      dilation.vec(),
 | 
			
		||||
      groups);
 | 
			
		||||
      groups,
 | 
			
		||||
      is_channels_last);
 | 
			
		||||
 | 
			
		||||
  if (grad_output.is_mkldnn()) {
 | 
			
		||||
    return MKLDNNTensor(grad_x, grad_output.options());
 | 
			
		||||
@ -1024,7 +1027,7 @@ std::tuple<Tensor,Tensor> mkldnn_convolution_transpose_backward_weights(
 | 
			
		||||
 | 
			
		||||
  ideep::tensor grad_w, grad_b;
 | 
			
		||||
  if (bias_defined) {
 | 
			
		||||
    ideep::convolution_transpose_backward_weights::compute(
 | 
			
		||||
    ideep::convolution_transpose_backward_weights::compute_v3(
 | 
			
		||||
        x,
 | 
			
		||||
        grad_y,
 | 
			
		||||
        weight_size.vec(),
 | 
			
		||||
@ -1034,9 +1037,10 @@ std::tuple<Tensor,Tensor> mkldnn_convolution_transpose_backward_weights(
 | 
			
		||||
        padding.vec(),
 | 
			
		||||
        padding_r(padding, output_padding),
 | 
			
		||||
        dilation.vec(),
 | 
			
		||||
        groups);
 | 
			
		||||
        groups,
 | 
			
		||||
        is_channels_last);
 | 
			
		||||
  } else {
 | 
			
		||||
    ideep::convolution_transpose_backward_weights::compute(
 | 
			
		||||
    ideep::convolution_transpose_backward_weights::compute_v3(
 | 
			
		||||
        x,
 | 
			
		||||
        grad_y,
 | 
			
		||||
        weight_size.vec(),
 | 
			
		||||
@ -1045,7 +1049,8 @@ std::tuple<Tensor,Tensor> mkldnn_convolution_transpose_backward_weights(
 | 
			
		||||
        padding.vec(),
 | 
			
		||||
        padding_r(padding, output_padding),
 | 
			
		||||
        dilation.vec(),
 | 
			
		||||
        groups);
 | 
			
		||||
        groups,
 | 
			
		||||
        is_channels_last);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!is_channels_last) {
 | 
			
		||||
@ -1061,18 +1066,21 @@ std::tuple<Tensor,Tensor> mkldnn_convolution_transpose_backward_weights(
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
std::tuple<Tensor, Tensor, Tensor> mkldnn_convolution_transpose_backward(
 | 
			
		||||
    const Tensor& input, const Tensor& grad_output_t, const Tensor& weight,
 | 
			
		||||
    const Tensor& input_t, const Tensor& grad_output_t, const Tensor& weight_t,
 | 
			
		||||
    IntArrayRef padding, IntArrayRef output_padding, IntArrayRef stride, IntArrayRef dilation, int64_t groups,
 | 
			
		||||
    std::array<bool,3> output_mask)
 | 
			
		||||
{
 | 
			
		||||
  bool is_channels_last = mkldnn_conv_use_channels_last(input, weight);
 | 
			
		||||
  auto memory_format = mkldnn_convolution_memory_format(input.ndimension(), is_channels_last);
 | 
			
		||||
  bool is_channels_last = mkldnn_conv_use_channels_last(input_t, weight_t);
 | 
			
		||||
  auto memory_format = mkldnn_convolution_memory_format(input_t.ndimension(), is_channels_last);
 | 
			
		||||
  Tensor grad_output = grad_output_t.is_mkldnn() ? grad_output_t : grad_output_t.contiguous(memory_format);
 | 
			
		||||
  auto input = input_t.is_mkldnn() ? input_t : input_t.contiguous(memory_format);
 | 
			
		||||
  auto weight = weight_t.is_mkldnn() ? weight_t : weight_t.contiguous(memory_format);
 | 
			
		||||
  int64_t dim = input.ndimension() - 2;
 | 
			
		||||
  const auto padding_expanded = expand_param_if_needed(padding, "padding", dim);
 | 
			
		||||
  const auto stride_expanded = expand_param_if_needed(stride, "stride", dim);
 | 
			
		||||
  const auto dilation_expanded = expand_param_if_needed(dilation, "dilation", dim);
 | 
			
		||||
  const auto output_padding_expanded = expand_param_if_needed(output_padding, "output_padding", dim);
 | 
			
		||||
 | 
			
		||||
  Tensor grad_input, grad_weight, grad_bias;
 | 
			
		||||
  if (output_mask[0]) {
 | 
			
		||||
    grad_input = mkldnn_convolution_transpose_backward_input(
 | 
			
		||||
 | 
			
		||||
@ -293,7 +293,8 @@ at::Tensor& mps_copy_(at::Tensor& dst, const at::Tensor& src, bool non_blocking)
 | 
			
		||||
    dst.resize_as_(src);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  TORCH_CHECK(dst.dim() >= src.dim());
 | 
			
		||||
  TORCH_CHECK(
 | 
			
		||||
      dst.dim() >= src.dim(), "Destination ", dst.sym_sizes(), " doesn't match the broadcast shape ", src.sym_sizes());
 | 
			
		||||
  if (dst.dim() > src.dim()) {
 | 
			
		||||
    needs_broadcasting = true;
 | 
			
		||||
  } else {
 | 
			
		||||
 | 
			
		||||
@ -16,15 +16,14 @@ namespace at::native {
 | 
			
		||||
Scalar _local_scalar_dense_mps(const Tensor& self) {
 | 
			
		||||
  Scalar r;
 | 
			
		||||
 | 
			
		||||
  auto output = at::empty_like(self, TensorOptions(kCPU));
 | 
			
		||||
  mps::mps_copy_(output, self, false);
 | 
			
		||||
  AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND3(at::ScalarType::Half,
 | 
			
		||||
                                         at::ScalarType::Bool,
 | 
			
		||||
                                         at::ScalarType::BFloat16,
 | 
			
		||||
                                         self.scalar_type(),
 | 
			
		||||
                                         "_local_scalar_dense_mps",
 | 
			
		||||
                                         [&] {
 | 
			
		||||
                                           Tensor output = at::empty({1}, TensorOptions(at::CPU(self.scalar_type())));
 | 
			
		||||
 | 
			
		||||
                                           mps::mps_copy_(output, self, false);
 | 
			
		||||
                                           scalar_t value = *output.data_ptr<scalar_t>();
 | 
			
		||||
                                           r = Scalar(value);
 | 
			
		||||
                                         });
 | 
			
		||||
 | 
			
		||||
@ -317,47 +317,12 @@ them by default: ``env TORCHDYNAMO_DYNAMIC_SHAPES=0 python model.py`` 2.
 | 
			
		||||
CUDA graphs with Triton are enabled by default in inductor but removing
 | 
			
		||||
them may alleviate some OOM issues: ``torch._inductor.config.triton.cudagraphs = False``.
 | 
			
		||||
 | 
			
		||||
``torch.func`` does not work with ``torch.compile``
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
``torch.func`` works with ``torch.compile`` (for `grad` and `vmap` transforms)
 | 
			
		||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
Applying a ``torch.func`` transform to a function that uses ``torch.compile``
 | 
			
		||||
does not work:
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    @torch.compile
 | 
			
		||||
    def f(x):
 | 
			
		||||
        return torch.sin(x)
 | 
			
		||||
 | 
			
		||||
    def g(x):
 | 
			
		||||
        return torch.grad(f)(x)
 | 
			
		||||
 | 
			
		||||
    x = torch.randn(2, 3)
 | 
			
		||||
    g(x)
 | 
			
		||||
 | 
			
		||||
As a workaround, use ``torch.compile`` outside of the ``torch.func`` function:
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    def f(x):
 | 
			
		||||
        return torch.sin(x)
 | 
			
		||||
 | 
			
		||||
    @torch.compile
 | 
			
		||||
    def g(x):
 | 
			
		||||
        return torch.vmap(f)(x)
 | 
			
		||||
 | 
			
		||||
    x = torch.randn(2, 3)
 | 
			
		||||
    g(x)
 | 
			
		||||
 | 
			
		||||
Applying a ``torch.func`` transform to a function handled with ``torch.compile``
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
For example, you have the following code:
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
@ -374,12 +339,18 @@ For example, you have the following code:
 | 
			
		||||
 | 
			
		||||
This code will not work. There is an `issue <https://github.com/pytorch/pytorch/issues/100320>`__
 | 
			
		||||
that you can track for this.
 | 
			
		||||
As a workaround, please put the ``torch.compile`` outside of ``torch.func`` transform:
 | 
			
		||||
 | 
			
		||||
As a workaround, use ``torch.compile`` outside of the ``torch.func`` function:
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
    This is an experimental feature and can be used by setting `torch._dynamo.config.capture_func_transforms=True`
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    torch._dynamo.config.capture_func_transforms=True
 | 
			
		||||
 | 
			
		||||
    def f(x):
 | 
			
		||||
        return torch.sin(x)
 | 
			
		||||
 | 
			
		||||
@ -393,18 +364,137 @@ As a workaround, please put the ``torch.compile`` outside of ``torch.func`` tran
 | 
			
		||||
Calling ``torch.func`` transform inside of a function handled with ``torch.compile``
 | 
			
		||||
------------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Compiling ``torch.func.grad`` with ``torch.compile``
 | 
			
		||||
----------------------------------------------------
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    @torch.compile
 | 
			
		||||
    def f(x):
 | 
			
		||||
        return torch.vmap(torch.sum)(x)
 | 
			
		||||
    torch._dynamo.config.capture_func_transforms=True
 | 
			
		||||
 | 
			
		||||
    x = torch.randn(2, 3)
 | 
			
		||||
    f(x)
 | 
			
		||||
    def wrapper_fn(x):
 | 
			
		||||
        return torch.func.grad(lambda x: x.sin().sum())(x)
 | 
			
		||||
 | 
			
		||||
This doesn't work yet. As a workaround, use ``torch._dynamo.allow_in_graph``
 | 
			
		||||
    x = torch.randn(3, 3, 3)
 | 
			
		||||
    grad_x = torch.compile(wrapper_fn)(x)
 | 
			
		||||
 | 
			
		||||
Compiling ``torch.vmap`` with ``torch.compile``
 | 
			
		||||
-----------------------------------------------
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    torch._dynamo.config.capture_func_transforms=True
 | 
			
		||||
 | 
			
		||||
    def my_fn(x):
 | 
			
		||||
        return torch.vmap(lambda x: x.sum(1))(x)
 | 
			
		||||
 | 
			
		||||
    x = torch.randn(3, 3, 3)
 | 
			
		||||
    output = torch.compile(my_fn)(x)
 | 
			
		||||
 | 
			
		||||
Limitations
 | 
			
		||||
-----------
 | 
			
		||||
 | 
			
		||||
There are currently a few cases which are not supported and lead to graph breaks
 | 
			
		||||
(that is, torch.compile falls back to eager-mode PyTorch on these). We are working
 | 
			
		||||
on improving the situation for the next release (PyTorch 2.2)
 | 
			
		||||
 | 
			
		||||
1. The inputs and outputs of the function being transformed over must be tensors.
 | 
			
		||||
We do not yet support things like tuple of Tensors.
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    torch._dynamo.config.capture_func_transforms=True
 | 
			
		||||
 | 
			
		||||
    def fn(x):
 | 
			
		||||
        x1, x2 = x
 | 
			
		||||
        return x1 + x2
 | 
			
		||||
 | 
			
		||||
    def my_fn(x):
 | 
			
		||||
        return torch.func.vmap(fn)(x)
 | 
			
		||||
 | 
			
		||||
    x1 = torch.randn(3, 3, 3)
 | 
			
		||||
    x2 = torch.randn(3, 3, 3)
 | 
			
		||||
    # Unsupported, falls back to eager-mode PyTorch
 | 
			
		||||
    output = torch.compile(my_fn)((x1, x2))
 | 
			
		||||
 | 
			
		||||
2. Keyword arguments are not supported.
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    torch._dynamo.config.capture_func_transforms=True
 | 
			
		||||
 | 
			
		||||
    def fn(x, y):
 | 
			
		||||
        return (x + y).sum()
 | 
			
		||||
 | 
			
		||||
    def my_fn(x, y):
 | 
			
		||||
        return torch.func.grad(fn)(x, y=y)
 | 
			
		||||
 | 
			
		||||
    x = torch.randn(3, 3)
 | 
			
		||||
    y = torch.randn(3, 3)
 | 
			
		||||
    # Unsupported, falls back to eager-mode PyTorch
 | 
			
		||||
    output = torch.compile(my_fn)(x, y)
 | 
			
		||||
 | 
			
		||||
3. Functions with observable side effects. For example, it is OK to mutate a list created in the function,
 | 
			
		||||
but not OK to mutate a list created outside of the function.
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    torch._dynamo.config.capture_func_transforms=True
 | 
			
		||||
 | 
			
		||||
    some_list = []
 | 
			
		||||
 | 
			
		||||
    def f(x, y):
 | 
			
		||||
        some_list.append(1)
 | 
			
		||||
        return x + y
 | 
			
		||||
 | 
			
		||||
    def my_fn(x, y):
 | 
			
		||||
        return torch.func.vmap(f)(x, y)
 | 
			
		||||
 | 
			
		||||
    x = torch.ones(2, 3)
 | 
			
		||||
    y = torch.randn(2, 3)
 | 
			
		||||
    # Unsupported, falls back to eager-mode PyTorch
 | 
			
		||||
    output = torch.compile(my_fn)(x, y)
 | 
			
		||||
 | 
			
		||||
4. ``torch.vmap`` over a function that calls one or more operators in the following list.
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
    'stride', 'requires_grad', 'storage_offset', 'layout', 'data', 'is_coalesced', 'is_complex',
 | 
			
		||||
    'is_conj', 'is_contiguous', 'is_cpu', 'is_cuda', 'is_distributed', 'is_floating_point',
 | 
			
		||||
    'is_inference', 'is_ipu', 'is_leaf', 'is_meta', 'is_mkldnn', 'is_mps', 'is_neg', 'is_nested',
 | 
			
		||||
    'is_nonzero', 'is_ort', 'is_pinned', 'is_quantized', 'is_same_size', 'is_set_to', 'is_shared',
 | 
			
		||||
    'is_signed', 'is_sparse', 'is_sparse_csr', 'is_vulkan', 'is_xla', 'is_xpu'
 | 
			
		||||
 | 
			
		||||
.. code-block:: python
 | 
			
		||||
 | 
			
		||||
    import torch
 | 
			
		||||
 | 
			
		||||
    torch._dynamo.config.capture_func_transforms=True
 | 
			
		||||
 | 
			
		||||
    def bad_fn(x):
 | 
			
		||||
        x.stride()
 | 
			
		||||
        return x
 | 
			
		||||
 | 
			
		||||
    def my_fn(x):
 | 
			
		||||
        return torch.func.vmap(bad_fn)(x)
 | 
			
		||||
 | 
			
		||||
    x = torch.randn(3, 3, 3)
 | 
			
		||||
    # Unsupported, falls back to eager-mode PyTorch
 | 
			
		||||
    output = torch.compile(my_fn)(x)
 | 
			
		||||
 | 
			
		||||
Compiling functions besides the ones which are supported (escape hatch)
 | 
			
		||||
-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
For other transforms, as a workaround, use ``torch._dynamo.allow_in_graph``
 | 
			
		||||
 | 
			
		||||
``allow_in_graph`` is an escape hatch. If your code does not work with
 | 
			
		||||
``torch.compile``, which introspects Python bytecode, but you believe it
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										75
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								setup.py
									
									
									
									
									
								
							@ -1069,6 +1069,50 @@ def configure_extension_build():
 | 
			
		||||
    return extensions, cmdclass, packages, entry_points, extra_install_requires
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def add_triton(install_requires, extras_require) -> None:
 | 
			
		||||
    """
 | 
			
		||||
    Add triton package as a dependency when it's needed
 | 
			
		||||
    """
 | 
			
		||||
    # NB: If the installation requirments list already includes triton dependency,
 | 
			
		||||
    # there is no need to add it one more time as an extra dependency. In nightly
 | 
			
		||||
    # or when release PyTorch, that is done by setting PYTORCH_EXTRA_INSTALL_REQUIREMENTS
 | 
			
		||||
    # environment variable on pytorch/builder
 | 
			
		||||
    has_triton = any("triton" in pkg for pkg in install_requires)
 | 
			
		||||
    if has_triton:
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    cmake_cache_vars = get_cmake_cache_vars()
 | 
			
		||||
    use_rocm = cmake_cache_vars["USE_ROCM"]
 | 
			
		||||
    use_cuda = cmake_cache_vars["USE_CUDA"]
 | 
			
		||||
 | 
			
		||||
    # Triton is only needed for CUDA or ROCm
 | 
			
		||||
    if not use_rocm and not use_cuda:
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    if use_rocm:
 | 
			
		||||
        triton_text_file = "triton-rocm.txt"
 | 
			
		||||
        triton_package_name = "pytorch-triton-rocm"
 | 
			
		||||
    else:
 | 
			
		||||
        triton_text_file = "triton.txt"
 | 
			
		||||
        triton_package_name = "pytorch-triton"
 | 
			
		||||
    triton_pin_file = os.path.join(
 | 
			
		||||
        cwd, ".ci", "docker", "ci_commit_pins", triton_text_file
 | 
			
		||||
    )
 | 
			
		||||
    triton_version_file = os.path.join(cwd, ".ci", "docker", "triton_version.txt")
 | 
			
		||||
 | 
			
		||||
    if os.path.exists(triton_pin_file) and os.path.exists(triton_version_file):
 | 
			
		||||
        with open(triton_pin_file) as f:
 | 
			
		||||
            triton_pin = f.read().strip()
 | 
			
		||||
        with open(triton_version_file) as f:
 | 
			
		||||
            triton_version = f.read().strip()
 | 
			
		||||
 | 
			
		||||
        if "dynamo" not in extras_require:
 | 
			
		||||
            extras_require["dynamo"] = []
 | 
			
		||||
        extras_require["dynamo"].append(
 | 
			
		||||
            triton_package_name + "==" + triton_version + "+" + triton_pin[:10]
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# post run, warnings, printed at the end to make them more visible
 | 
			
		||||
build_update_message = """
 | 
			
		||||
    It is no longer necessary to use the 'build' or 'rebuild' targets
 | 
			
		||||
@ -1102,29 +1146,6 @@ def main():
 | 
			
		||||
        "fsspec",
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    extras_require = {"opt-einsum": ["opt-einsum>=3.3"]}
 | 
			
		||||
    if platform.system() == "Linux":
 | 
			
		||||
        cmake_cache_vars = get_cmake_cache_vars()
 | 
			
		||||
        if cmake_cache_vars["USE_ROCM"]:
 | 
			
		||||
            triton_text_file = "triton-rocm.txt"
 | 
			
		||||
            triton_package_name = "pytorch-triton-rocm"
 | 
			
		||||
        else:
 | 
			
		||||
            triton_text_file = "triton.txt"
 | 
			
		||||
            triton_package_name = "pytorch-triton"
 | 
			
		||||
        triton_pin_file = os.path.join(
 | 
			
		||||
            cwd, ".ci", "docker", "ci_commit_pins", triton_text_file
 | 
			
		||||
        )
 | 
			
		||||
        triton_version_file = os.path.join(cwd, ".ci", "docker", "triton_version.txt")
 | 
			
		||||
        if os.path.exists(triton_pin_file) and os.path.exists(triton_version_file):
 | 
			
		||||
            with open(triton_pin_file) as f:
 | 
			
		||||
                triton_pin = f.read().strip()
 | 
			
		||||
            with open(triton_version_file) as f:
 | 
			
		||||
                triton_version = f.read().strip()
 | 
			
		||||
            extras_require["dynamo"] = [
 | 
			
		||||
                triton_package_name + "==" + triton_version + "+" + triton_pin[:10],
 | 
			
		||||
                "jinja2",
 | 
			
		||||
            ]
 | 
			
		||||
 | 
			
		||||
    # Parse the command line and check the arguments before we proceed with
 | 
			
		||||
    # building deps and setup. We need to set values so `--help` works.
 | 
			
		||||
    dist = Distribution()
 | 
			
		||||
@ -1150,6 +1171,14 @@ def main():
 | 
			
		||||
 | 
			
		||||
    install_requires += extra_install_requires
 | 
			
		||||
 | 
			
		||||
    extras_require = {
 | 
			
		||||
        "opt-einsum": ["opt-einsum>=3.3"],
 | 
			
		||||
    }
 | 
			
		||||
    # Triton is only available on Linux atm
 | 
			
		||||
    if platform.system() == "Linux":
 | 
			
		||||
        extras_require["dynamo"] = ["jinja2"]
 | 
			
		||||
        add_triton(install_requires=install_requires, extras_require=extras_require)
 | 
			
		||||
 | 
			
		||||
    # Read in README.md for our long_description
 | 
			
		||||
    with open(os.path.join(cwd, "README.md"), encoding="utf-8") as f:
 | 
			
		||||
        long_description = f.read()
 | 
			
		||||
 | 
			
		||||
@ -245,6 +245,29 @@ class DTensorTest(DTensorTestBase):
 | 
			
		||||
        except RuntimeError:
 | 
			
		||||
            self.assertEqual(sharded_tensor.grad.stride(), [1, 3 * self.world_size])
 | 
			
		||||
 | 
			
		||||
    @with_comms
 | 
			
		||||
    def test_dtensor_new_empty_strided(self):
 | 
			
		||||
        device_mesh = DeviceMesh(self.device_type, torch.arange(self.world_size))
 | 
			
		||||
        local_tensor = torch.randn(8, 8, requires_grad=True, device=self.device_type)
 | 
			
		||||
        my_dtensor = distribute_tensor(local_tensor, device_mesh, [Shard(0)])
 | 
			
		||||
        new_strided_dtensor = my_dtensor.new_empty_strided(
 | 
			
		||||
            (8, 8), (8, 1), requires_grad=True
 | 
			
		||||
        )
 | 
			
		||||
        # test the op produces new dtensor and autograd works
 | 
			
		||||
        self.assertEqual(new_strided_dtensor.shape, my_dtensor.shape)
 | 
			
		||||
        new_strided_dtensor.sum().backward()
 | 
			
		||||
        self.assertIsNotNone(new_strided_dtensor.grad)
 | 
			
		||||
        self.assertIsInstance(new_strided_dtensor.grad, DTensor)
 | 
			
		||||
 | 
			
		||||
        # test backward new_empty_strided with sharding works correctly
 | 
			
		||||
        my_dtensor.to_local().sum().backward()
 | 
			
		||||
        local_tensor.sum().backward()
 | 
			
		||||
        self.assertEqual(my_dtensor.grad, new_strided_dtensor.grad)
 | 
			
		||||
        self.assertEqual(
 | 
			
		||||
            my_dtensor.grad.redistribute(placements=[Replicate()]).to_local(),
 | 
			
		||||
            local_tensor.grad,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    @with_comms
 | 
			
		||||
    def test_dtensor_async_output(self):
 | 
			
		||||
        # Tests that if the output of some dtensor operations  isn't used in any compute,
 | 
			
		||||
 | 
			
		||||
@ -2036,6 +2036,16 @@ class OptimizedModuleTest(torch._dynamo.test_case.TestCase):
 | 
			
		||||
        self.assertEqual(eager_res, optim_res)
 | 
			
		||||
        self.assertEqual(cnt.frame_count, 1)
 | 
			
		||||
 | 
			
		||||
    def test_assign_does_not_exist(self):
 | 
			
		||||
        class MyModule(torch.nn.Module):
 | 
			
		||||
            def forward(self, x):
 | 
			
		||||
                self.text_encoding = x + 1
 | 
			
		||||
                return self.text_encoding
 | 
			
		||||
 | 
			
		||||
        mod = MyModule()
 | 
			
		||||
        out = torch.compile(mod, fullgraph=True)(torch.randn(10))
 | 
			
		||||
        assert mod.text_encoding is out
 | 
			
		||||
 | 
			
		||||
    def test_module_dict_iter_values(self):
 | 
			
		||||
        class MyModule(torch.nn.Module):
 | 
			
		||||
            def __init__(self):
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ import torch._dynamo as torchdynamo
 | 
			
		||||
from functorch.experimental.control_flow import map
 | 
			
		||||
from torch import Tensor
 | 
			
		||||
from torch.export import Constraint
 | 
			
		||||
from torch._export import DEFAULT_EXPORT_DYNAMO_CONFIG, dynamic_dim, export
 | 
			
		||||
from torch._export import DEFAULT_EXPORT_DYNAMO_CONFIG, dynamic_dim, export, capture_pre_autograd_graph
 | 
			
		||||
from torch._export.constraints import constrain_as_size, constrain_as_value
 | 
			
		||||
from torch._export.utils import (
 | 
			
		||||
    get_buffer,
 | 
			
		||||
@ -1023,6 +1023,23 @@ class TestExport(TestCase):
 | 
			
		||||
        ):
 | 
			
		||||
            _ = Constraint()
 | 
			
		||||
 | 
			
		||||
    def test_train_eval_on_exported_preautograd_module(self):
 | 
			
		||||
        class Foo(torch.nn.Module):
 | 
			
		||||
            def __init__(self):
 | 
			
		||||
                super().__init__()
 | 
			
		||||
 | 
			
		||||
            def forward(self, x):
 | 
			
		||||
                if x.shape[0] > 4:
 | 
			
		||||
                    return x.cos()
 | 
			
		||||
                return x.sin()
 | 
			
		||||
 | 
			
		||||
        graph_module = capture_pre_autograd_graph(Foo(), (torch.ones(7, 5),))
 | 
			
		||||
        with self.assertRaisesRegex(NotImplementedError, r"Calling train\(\) is not supported yet."):
 | 
			
		||||
            graph_module.train()
 | 
			
		||||
 | 
			
		||||
        with self.assertRaisesRegex(NotImplementedError, r"Calling eval\(\) is not supported yet."):
 | 
			
		||||
            graph_module.eval()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    run_tests()
 | 
			
		||||
 | 
			
		||||
@ -172,6 +172,7 @@ if RUN_CPU:
 | 
			
		||||
        BaseTest("test_dtype_sympy_expr"),
 | 
			
		||||
        BaseTest("test_embedding_bag"),  # test default FallbackKernel
 | 
			
		||||
        BaseTest("test_index_put_deterministic_fallback"),
 | 
			
		||||
        BaseTest("test_adding_tensor_offsets"),
 | 
			
		||||
        BaseTest("test_int_div", "", test_cpu_repro.CPUReproTests()),
 | 
			
		||||
        BaseTest("test_linear1"),
 | 
			
		||||
        BaseTest("test_linear2"),
 | 
			
		||||
@ -253,6 +254,7 @@ if RUN_CUDA:
 | 
			
		||||
        BaseTest("test_custom_op"),
 | 
			
		||||
        BaseTest("test_embedding_bag"),  # test default FallbackKernel
 | 
			
		||||
        BaseTest("test_index_put_deterministic_fallback"),
 | 
			
		||||
        BaseTest("test_adding_tensor_offsets"),
 | 
			
		||||
        BaseTest("test_index_tensor"),
 | 
			
		||||
        BaseTest("test_linear1"),
 | 
			
		||||
        BaseTest("test_linear2"),
 | 
			
		||||
 | 
			
		||||
@ -347,6 +347,23 @@ class CudaReproTests(TestCase):
 | 
			
		||||
        actual = torch.compile(forward, fullgraph=True)(x)
 | 
			
		||||
        self.assertEqual(actual, correct)
 | 
			
		||||
 | 
			
		||||
    def test_full_copy(self):
 | 
			
		||||
        def forward(x):
 | 
			
		||||
            full_10 = torch.ops.aten.full.default(
 | 
			
		||||
                [204, 204, 28],
 | 
			
		||||
                0,
 | 
			
		||||
                dtype=torch.float64,
 | 
			
		||||
                layout=torch.strided,
 | 
			
		||||
                device="cuda",
 | 
			
		||||
                pin_memory=False,
 | 
			
		||||
            )
 | 
			
		||||
            return x + full_10.to("cpu")
 | 
			
		||||
 | 
			
		||||
        o = torch.randn([204, 204, 28], dtype=torch.float64)
 | 
			
		||||
        correct = forward(o)
 | 
			
		||||
        actual = torch.compile(forward, fullgraph=True)(o)
 | 
			
		||||
        self.assertEqual(actual, correct)
 | 
			
		||||
 | 
			
		||||
    def test_autotune_inplace_kernel(self):
 | 
			
		||||
        """
 | 
			
		||||
        This UT tests autotune on an inplace kernel. The autotune should not contaminate
 | 
			
		||||
 | 
			
		||||
@ -443,6 +443,58 @@ class TestSDPAPatternRewriterTemplate(TestCase):
 | 
			
		||||
 | 
			
		||||
        self._check_common(dot_prod_attention, contains=False, has_dropout=True)
 | 
			
		||||
 | 
			
		||||
    @skipIfRocm
 | 
			
		||||
    def _test_sdpa_rewriter_13(self):
 | 
			
		||||
        def dot_prod_attention(
 | 
			
		||||
            query: torch.Tensor, key: torch.Tensor, value: torch.Tensor
 | 
			
		||||
        ) -> torch.Tensor:
 | 
			
		||||
            """Input tensors assumed to have shape (batch_size, n_head, seq_len, embed_dim)"""
 | 
			
		||||
            return (
 | 
			
		||||
                torch.matmul(query, key.transpose(-2, -1))
 | 
			
		||||
                .div(math.sqrt(key.shape[-1]))
 | 
			
		||||
                .softmax(dim=-1)
 | 
			
		||||
                .clone()
 | 
			
		||||
                .matmul(value)
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        self._check_common(dot_prod_attention)
 | 
			
		||||
        self._check_common(checkpoint_wrapper(dot_prod_attention))
 | 
			
		||||
 | 
			
		||||
    @skipIfRocm
 | 
			
		||||
    def _test_sdpa_rewriter_14(self):
 | 
			
		||||
        def dot_prod_attention(
 | 
			
		||||
            query: torch.Tensor, key: torch.Tensor, value: torch.Tensor
 | 
			
		||||
        ) -> torch.Tensor:
 | 
			
		||||
            return (
 | 
			
		||||
                torch.matmul(query, key.transpose(-2, -1))
 | 
			
		||||
                .mul(1.0 / math.sqrt(key.shape[-1]))
 | 
			
		||||
                .softmax(dim=-1)
 | 
			
		||||
                .clone()
 | 
			
		||||
                .matmul(value)
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        self._check_common(dot_prod_attention)
 | 
			
		||||
        self._check_common(checkpoint_wrapper(dot_prod_attention))
 | 
			
		||||
 | 
			
		||||
    @skipIfRocm
 | 
			
		||||
    def _test_sdpa_rewriter_15(self):
 | 
			
		||||
        def dot_prod_attention(
 | 
			
		||||
            query: torch.Tensor, key: torch.Tensor, value: torch.Tensor
 | 
			
		||||
        ) -> torch.Tensor:
 | 
			
		||||
            """Input tensors assumed to have shape (batch_size, seq_len, n_head, embed_dim)"""
 | 
			
		||||
            q = query.transpose(1, 2)
 | 
			
		||||
            k = key.transpose(1, 2)
 | 
			
		||||
            v = value.transpose(1, 2)
 | 
			
		||||
            return (
 | 
			
		||||
                torch.matmul(q, k.transpose(-2, -1))
 | 
			
		||||
                .div(math.sqrt(key.shape[-1]))
 | 
			
		||||
                .softmax(dim=-1)
 | 
			
		||||
                .clone()
 | 
			
		||||
                .matmul(v)
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        self._check_common(dot_prod_attention)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if HAS_CUDA and PLATFORM_SUPPORTS_FUSED_SDPA:
 | 
			
		||||
 | 
			
		||||
@ -493,6 +545,15 @@ if HAS_CUDA and PLATFORM_SUPPORTS_FUSED_SDPA:
 | 
			
		||||
        test_sdpa_rewriter_12_cuda = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_12
 | 
			
		||||
        )
 | 
			
		||||
        test_sdpa_rewriter_13_cuda = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_13
 | 
			
		||||
        )
 | 
			
		||||
        test_sdpa_rewriter_14_cuda = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_14
 | 
			
		||||
        )
 | 
			
		||||
        test_sdpa_rewriter_15_cuda = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_15
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if HAS_CPU:
 | 
			
		||||
@ -517,6 +578,15 @@ if HAS_CPU:
 | 
			
		||||
        test_sdpa_rewriter_12_cpu = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_12
 | 
			
		||||
        )
 | 
			
		||||
        test_sdpa_rewriter_13_cpu = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_13
 | 
			
		||||
        )
 | 
			
		||||
        test_sdpa_rewriter_14_cpu = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_14
 | 
			
		||||
        )
 | 
			
		||||
        test_sdpa_rewriter_15_cpu = (
 | 
			
		||||
            TestSDPAPatternRewriterTemplate._test_sdpa_rewriter_15
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
 | 
			
		||||
@ -1857,11 +1857,13 @@ class CommonTemplate:
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
    @slowTest
 | 
			
		||||
    @expectedFailureCodegenDynamic
 | 
			
		||||
    def test_conv_bn_fuse(self):
 | 
			
		||||
        # For gpu path, there is an accuracy issue
 | 
			
		||||
        if self.device == "cuda":
 | 
			
		||||
            raise unittest.SkipTest("only support cpu conv bn test")
 | 
			
		||||
 | 
			
		||||
        # fails dynamic check which bn is fused, and there will not have loops vars.
 | 
			
		||||
        input_shapes = {1: (112,), 2: (112, 112), 3: (55, 55, 55)}
 | 
			
		||||
        conv_modules = {1: torch.nn.Conv1d, 2: torch.nn.Conv2d, 3: torch.nn.Conv3d}
 | 
			
		||||
        bn_modules = {
 | 
			
		||||
@ -4669,6 +4671,16 @@ class CommonTemplate:
 | 
			
		||||
        args = [torch.tensor([1], dtype=torch.int64), torch.randn(8, 4), torch.randn(4)]
 | 
			
		||||
        self.common(fn, args)
 | 
			
		||||
 | 
			
		||||
    def test_adding_tensor_offsets(self):
 | 
			
		||||
        @torch.compile(fullgraph=True)
 | 
			
		||||
        def fn(x):
 | 
			
		||||
            return x[16:32]
 | 
			
		||||
 | 
			
		||||
        with torch.no_grad():
 | 
			
		||||
            x = torch.randn(1024, device=self.device)
 | 
			
		||||
            self.assertEqual(fn(x[0:]), x[16:][:16])
 | 
			
		||||
            self.assertEqual(fn(x[128:]), x[128 + 16 :][:16])
 | 
			
		||||
 | 
			
		||||
    # from GPT2ForSequenceClassification
 | 
			
		||||
    def test_index_tensor(self):
 | 
			
		||||
        def fn(x, y):
 | 
			
		||||
 | 
			
		||||
@ -361,7 +361,7 @@ class PT2EQuantizationTestCase(QuantizationTestCase):
 | 
			
		||||
        self.assertEqual(after_prepare_result_pt2e, after_prepare_result_fx)
 | 
			
		||||
 | 
			
		||||
        if verify_convert:
 | 
			
		||||
            model_pt2e.eval()
 | 
			
		||||
            torch.ao.quantization.move_model_to_eval(model_pt2e)
 | 
			
		||||
            model_pt2e = convert_pt2e(model_pt2e)
 | 
			
		||||
            quant_result_pt2e = model_pt2e(*example_inputs)
 | 
			
		||||
            model_fx.eval()
 | 
			
		||||
@ -2392,6 +2392,39 @@ class TestQuantizePT2E(PT2EQuantizationTestCase):
 | 
			
		||||
            non_ref_node_occurrence
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def test_move_model_to_eval(self):
 | 
			
		||||
        class M(torch.nn.Module):
 | 
			
		||||
            def __init__(self):
 | 
			
		||||
                super().__init__()
 | 
			
		||||
                self.dropout = torch.nn.Dropout(0.5)
 | 
			
		||||
 | 
			
		||||
            def forward(self, x):
 | 
			
		||||
                return self.dropout(x)
 | 
			
		||||
 | 
			
		||||
        example_inputs = (torch.randn(1),)
 | 
			
		||||
        m = M().train()
 | 
			
		||||
        m = capture_pre_autograd_graph(m, example_inputs)
 | 
			
		||||
        m.graph.eliminate_dead_code()
 | 
			
		||||
        m.recompile()
 | 
			
		||||
 | 
			
		||||
        # Assert that dropout op exists and is in train mode
 | 
			
		||||
        dropout_node = None
 | 
			
		||||
        for n in m.graph.nodes:
 | 
			
		||||
            if n.target == torch.ops.aten.native_dropout.default:
 | 
			
		||||
                dropout_node = n
 | 
			
		||||
                break
 | 
			
		||||
        self.assertTrue(dropout_node is not None)
 | 
			
		||||
        self.assertTrue(dropout_node.args[2])
 | 
			
		||||
 | 
			
		||||
        # Do the subgraph rewriting
 | 
			
		||||
        torch.ao.quantization.move_model_to_eval(m)
 | 
			
		||||
 | 
			
		||||
        # Assert that dropout op is now replaced with a clone op
 | 
			
		||||
        targets = [n.target for n in m.graph.nodes]
 | 
			
		||||
        self.assertTrue(torch.ops.aten.clone.default in targets)
 | 
			
		||||
        self.assertTrue(torch.ops.aten.native_dropout.default not in targets)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@skipIfNoQNNPACK
 | 
			
		||||
class TestQuantizePT2EOps(QuantizationTestCase):
 | 
			
		||||
    def test_gru(self):
 | 
			
		||||
 | 
			
		||||
@ -321,22 +321,25 @@ class TestMkldnn(TestCase):
 | 
			
		||||
    def test_conv3d_bf16(self):
 | 
			
		||||
        self._test_conv_bf16_base(dim=3)
 | 
			
		||||
 | 
			
		||||
    def _test_conv2d_nhwc_base(self, conv_module, weight_memory_format, dtype):
 | 
			
		||||
        input_shapes = (55, 55)
 | 
			
		||||
    def _test_conv_deconv_nhwc_base(self, conv_module, weight_memory_format, dtype, prec=None):
 | 
			
		||||
        input_shapes = {2: (55, 55), 3: (14, 14, 14)}
 | 
			
		||||
        options = itertools.product([True, False], [True, False], [1, 2], [1, 4])
 | 
			
		||||
        if conv_module in [torch.nn.Conv2d, torch.nn.ConvTranspose2d]:
 | 
			
		||||
            cl_format = torch.channels_last
 | 
			
		||||
            input_shape = input_shapes[2]
 | 
			
		||||
        elif conv_module in [torch.nn.Conv3d, torch.nn.ConvTranspose3d]:
 | 
			
		||||
            cl_format = torch.channels_last_3d
 | 
			
		||||
            input_shape = input_shapes[3]
 | 
			
		||||
 | 
			
		||||
        for train, bias, dilation, groups in options:
 | 
			
		||||
            N = torch.randint(3, 10, (1,)).item()
 | 
			
		||||
            M = torch.randint(1, 3, (1,)).item() * groups
 | 
			
		||||
            C = torch.randint(1, 3, (1,)).item() * groups
 | 
			
		||||
            x_shape = (N, C) + input_shapes
 | 
			
		||||
            x_shape = (N, C) + input_shape
 | 
			
		||||
            x = torch.randn(x_shape, dtype=dtype)
 | 
			
		||||
 | 
			
		||||
            # TODO: remove this when group depthwise is supported:
 | 
			
		||||
            if conv_module is torch.nn.ConvTranspose2d and groups > 1 and C == groups:
 | 
			
		||||
                continue
 | 
			
		||||
 | 
			
		||||
            # conv1: mkldnn conv in contiguous memory format (nchw)
 | 
			
		||||
            # conv2: mkldnn conv in channels last memory format (nhwc)
 | 
			
		||||
            # conv1: mkldnn conv/deconv in contiguous memory format (nchw)
 | 
			
		||||
            # conv2: mkldnn conv/deconv in channels last memory format (nhwc)
 | 
			
		||||
            conv1 = conv_module(in_channels=C,
 | 
			
		||||
                                out_channels=M,
 | 
			
		||||
                                kernel_size=3,
 | 
			
		||||
@ -347,46 +350,67 @@ class TestMkldnn(TestCase):
 | 
			
		||||
                                groups=groups).to(dtype=dtype)
 | 
			
		||||
            conv2 = copy.deepcopy(conv1).to(memory_format=weight_memory_format)
 | 
			
		||||
            x1 = x.clone()
 | 
			
		||||
            x2 = x.clone().to(memory_format=torch.channels_last)
 | 
			
		||||
            x2 = x.clone().to(memory_format=cl_format)
 | 
			
		||||
            if train:
 | 
			
		||||
                x1.requires_grad_()
 | 
			
		||||
                x2.requires_grad_()
 | 
			
		||||
            y1 = conv1(x1)
 | 
			
		||||
            y2 = conv2(x2)
 | 
			
		||||
            self.assertEqual(y1, y2)
 | 
			
		||||
            self.assertEqual(y1, y2, atol=prec, rtol=prec)
 | 
			
		||||
 | 
			
		||||
            if train:
 | 
			
		||||
                y1.sum().backward()
 | 
			
		||||
                y2.sum().backward()
 | 
			
		||||
                self.assertTrue(x2.grad.is_contiguous(memory_format=torch.channels_last))
 | 
			
		||||
                self.assertTrue(x2.grad.is_contiguous(memory_format=cl_format))
 | 
			
		||||
                self.assertEqual(conv1.weight.grad,
 | 
			
		||||
                                 conv2.weight.grad,
 | 
			
		||||
                                 atol=1e-3,
 | 
			
		||||
                                 rtol=1e-3)
 | 
			
		||||
                if bias:
 | 
			
		||||
                    self.assertEqual(conv1.bias.grad, conv2.bias.grad)
 | 
			
		||||
                self.assertEqual(x1.grad, x2.grad)
 | 
			
		||||
                    self.assertEqual(conv1.bias.grad, conv2.bias.grad, atol=prec, rtol=prec)
 | 
			
		||||
                self.assertEqual(x1.grad, x2.grad, atol=prec, rtol=prec)
 | 
			
		||||
 | 
			
		||||
    def test_conv2d_nhwc(self):
 | 
			
		||||
        self._test_conv2d_nhwc_base(torch.nn.Conv2d, torch.contiguous_format, dtype=torch.float32)
 | 
			
		||||
        self._test_conv2d_nhwc_base(torch.nn.Conv2d, torch.channels_last, dtype=torch.float32)
 | 
			
		||||
    def test_conv_nhwc_fp32(self):
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.Conv2d, torch.contiguous_format, dtype=torch.float32)
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.Conv2d, torch.channels_last, dtype=torch.float32)
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.Conv3d, torch.contiguous_format, dtype=torch.float32)
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.Conv3d, torch.channels_last_3d, dtype=torch.float32)
 | 
			
		||||
 | 
			
		||||
    @unittest.skipIf(IS_WINDOWS, "Limit support for bf16 path")
 | 
			
		||||
    def test_conv2d_nhwc_bf16(self):
 | 
			
		||||
    def test_conv_nhwc_bf16(self):
 | 
			
		||||
        # when torch.ops.mkldnn._is_mkldnn_bf16_supported() returns false, bf16 CPU conv will fall back to thnn impl
 | 
			
		||||
        if torch.ops.mkldnn._is_mkldnn_bf16_supported():
 | 
			
		||||
            self._test_conv2d_nhwc_base(torch.nn.Conv2d, torch.contiguous_format, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv2d_nhwc_base(torch.nn.Conv2d, torch.channels_last, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv2d, torch.contiguous_format, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv2d, torch.channels_last, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv3d, torch.contiguous_format, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv3d, torch.channels_last_3d, dtype=torch.bfloat16)
 | 
			
		||||
        # test fall back to thnn impl
 | 
			
		||||
        with torch.backends.mkldnn.flags(enabled=False):
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv2d, torch.contiguous_format, dtype=torch.bfloat16, prec=1e-2)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv2d, torch.channels_last, dtype=torch.bfloat16, prec=1e-2)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv3d, torch.contiguous_format, dtype=torch.bfloat16, prec=1e-3)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.Conv3d, torch.channels_last_3d, dtype=torch.bfloat16, prec=1e-3)
 | 
			
		||||
 | 
			
		||||
    def test_conv_transpose2d_nhwc(self):
 | 
			
		||||
        self._test_conv2d_nhwc_base(torch.nn.ConvTranspose2d, torch.contiguous_format, dtype=torch.float32)
 | 
			
		||||
        self._test_conv2d_nhwc_base(torch.nn.ConvTranspose2d, torch.channels_last, dtype=torch.float32)
 | 
			
		||||
    def test_conv_transpose_nhwc_fp32(self):
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose2d, torch.contiguous_format, dtype=torch.float32)
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose2d, torch.channels_last, dtype=torch.float32)
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose3d, torch.contiguous_format, dtype=torch.float32)
 | 
			
		||||
        self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose3d, torch.channels_last_3d, dtype=torch.float32)
 | 
			
		||||
 | 
			
		||||
    @unittest.skipIf(IS_WINDOWS, "Limit support for bf16 path")
 | 
			
		||||
    def test_conv_transpose2d_nhwc_bf16(self):
 | 
			
		||||
    def test_conv_transpose_nhwc_bf16(self):
 | 
			
		||||
        # when torch.ops.mkldnn._is_mkldnn_bf16_supported() returns false, bf16 CPU conv will fall back to thnn impl
 | 
			
		||||
        if torch.ops.mkldnn._is_mkldnn_bf16_supported():
 | 
			
		||||
            self._test_conv2d_nhwc_base(torch.nn.ConvTranspose2d, torch.contiguous_format, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv2d_nhwc_base(torch.nn.ConvTranspose2d, torch.channels_last, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose2d, torch.contiguous_format, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose2d, torch.channels_last, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose3d, torch.contiguous_format, dtype=torch.bfloat16)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose3d, torch.channels_last_3d, dtype=torch.bfloat16)
 | 
			
		||||
        # test fall back to thnn impl
 | 
			
		||||
        with torch.backends.mkldnn.flags(enabled=False):
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose2d, torch.contiguous_format, dtype=torch.bfloat16, prec=2e-2)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose2d, torch.channels_last, dtype=torch.bfloat16, prec=2e-2)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose3d, torch.contiguous_format, dtype=torch.bfloat16, prec=1e-3)
 | 
			
		||||
            self._test_conv_deconv_nhwc_base(torch.nn.ConvTranspose3d, torch.channels_last_3d, dtype=torch.bfloat16, prec=1e-3)
 | 
			
		||||
 | 
			
		||||
    def _test_conv_transpose_base(self, dim):
 | 
			
		||||
        conv_module = {
 | 
			
		||||
 | 
			
		||||
@ -268,7 +268,7 @@ class TestMkldnnFusion(JitTestCase):
 | 
			
		||||
                x = self.binary(x, other)
 | 
			
		||||
                return x
 | 
			
		||||
 | 
			
		||||
        input_shapes = {2: (112, 112), 3: (55, 55, 55)}
 | 
			
		||||
        input_shapes = {2: (112, 112), 3: (22, 22, 22)}
 | 
			
		||||
        for pointwise_name, pointwise_fn in self._binary_list().items():
 | 
			
		||||
            for dim in [2, 3]:
 | 
			
		||||
                channels_last = torch.channels_last if dim == 2 else torch.channels_last_3d
 | 
			
		||||
@ -301,7 +301,7 @@ class TestMkldnnFusion(JitTestCase):
 | 
			
		||||
                            self.assertEqual(ref, other)
 | 
			
		||||
                            self.assertEqual(ref, fused_inplace)
 | 
			
		||||
 | 
			
		||||
                        self.assertEqual(ref, fused)
 | 
			
		||||
                        self.assertEqual(ref, fused, atol=5e-4, rtol=5e-4)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def test_linear_binary_fusion_ops(self):
 | 
			
		||||
 | 
			
		||||
@ -3565,6 +3565,8 @@ class TestMPS(TestCaseMPS):
 | 
			
		||||
            helper((1, 5), (4, 0, 5), src_dtype, dst_dtype)
 | 
			
		||||
            helper((3, 1, 0), (3, 5, 0), src_dtype, dst_dtype)
 | 
			
		||||
            helper((0, 1, 0), (0, 5, 0), src_dtype, dst_dtype)
 | 
			
		||||
        # Regression test for https://github.com/pytorch/pytorch/issues/107867
 | 
			
		||||
        self.assertEqual(torch.tensor([[1]], device='mps').item(), 1.0)
 | 
			
		||||
 | 
			
		||||
    # See https://github.com/pytorch/pytorch/pull/84742
 | 
			
		||||
    # and https://github.com/pytorch/pytorch/pull/78319
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,7 @@ import copy
 | 
			
		||||
import pickle
 | 
			
		||||
import shutil
 | 
			
		||||
import pathlib
 | 
			
		||||
import platform
 | 
			
		||||
from copy import deepcopy
 | 
			
		||||
from itertools import product
 | 
			
		||||
 | 
			
		||||
@ -3859,6 +3860,47 @@ class TestSerialization(TestCase, SerializationMixin):
 | 
			
		||||
            self.assertTrue(torch.equal(tensor_be_no_bom, tensor_le_bom))
 | 
			
		||||
            self.assertTrue(torch.equal(tensor_be_no_bom, tensor_be_bom))
 | 
			
		||||
 | 
			
		||||
    @unittest.skipIf(platform.machine() != 's390x', "s390x-specific test")
 | 
			
		||||
    def test_serialization_warning_s390x(self):
 | 
			
		||||
        data_be_no_bom = (b'PK\x03\x04\x00\x00\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
 | 
			
		||||
                          b'\x00\x00\x00\x00\x00\x19\x00\t\x00tensor.double.BE/data.pklFB\x05\x00ZZZZZ\x80\x02'
 | 
			
		||||
                          b'ctorch._utils\n_rebuild_tensor_v2\nq\x00((X\x07\x00\x00\x00storageq\x01ctorch\n'
 | 
			
		||||
                          b'DoubleStorage\nq\x02X\x01\x00\x00\x000q\x03X\x03\x00\x00\x00cpuq\x04K\x04tq\x05'
 | 
			
		||||
                          b'QK\x00K\x02K\x02\x86q\x06K\x02K\x01\x86q\x07\x89ccollections\nOrderedDict\nq\x08'
 | 
			
		||||
                          b')Rq\ttq\nRq\x0b.PK\x07\x08S\xd3\xba&\x9b\x00\x00\x00\x9b\x00\x00\x00PK\x03\x04\x00'
 | 
			
		||||
                          b'\x00\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
 | 
			
		||||
                          b'\x00\x17\x00 \x00tensor.double.BE/data/0FB\x1c\x00ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ'
 | 
			
		||||
                          b'?\xc9^|\xff\xa4v\x97\xbf\xe9\xb0\x8dP\x8c\xbc\xce\xbf\xd3\xdb\xb7[\xef\x0e\xdc?\xde'
 | 
			
		||||
                          b'\x00\xf9Q\x08\xb14PK\x07\x083@\x82/ \x00\x00\x00 \x00\x00\x00PK\x03\x04\x00\x00'
 | 
			
		||||
                          b'\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
 | 
			
		||||
                          b'\x18\x00\x1a\x00tensor.double.BE/versionFB\x16\x00ZZZZZZZZZZZZZZZZZZZZZZ3\nPK\x07'
 | 
			
		||||
                          b'\x08\xd1\x9egU\x02\x00\x00\x00\x02\x00\x00\x00PK\x01\x02\x00\x00\x00\x00\x08\x08'
 | 
			
		||||
                          b'\x00\x00\x00\x00\x00\x00S\xd3\xba&\x9b\x00\x00\x00\x9b\x00\x00\x00\x19\x00\x00'
 | 
			
		||||
                          b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00tensor.double.BE/da'
 | 
			
		||||
                          b'ta.pklPK\x01\x02\x00\x00\x00\x00\x08\x08\x00\x00\x00\x00\x00\x003@\x82/ '
 | 
			
		||||
                          b'\x00\x00\x00 \x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
 | 
			
		||||
                          b'\xeb\x00\x00\x00tensor.double.BE/data/0PK\x01\x02\x00\x00\x00\x00\x08\x08\x00\x00'
 | 
			
		||||
                          b'\x00\x00\x00\x00\xd1\x9egU\x02\x00\x00\x00\x02\x00\x00\x00\x18\x00\x00\x00\x00'
 | 
			
		||||
                          b'\x00\x00\x00\x00\x00\x00\x00\x00\x00p\x01\x00\x00tensor.double.BE/versionPK\x06\x06'
 | 
			
		||||
                          b',\x00\x00\x00\x00\x00\x00\x00\x1e\x03-\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03'
 | 
			
		||||
                          b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00'
 | 
			
		||||
                          b'\x00\x00\x00\xd2\x01\x00\x00\x00\x00\x00\x00PK\x06\x07\x00\x00\x00\x00\xa4\x02\x00'
 | 
			
		||||
                          b'\x00\x00\x00\x00\x00\x01\x00\x00\x00PK\x05\x06\x00\x00\x00\x00\x03\x00\x03\x00'
 | 
			
		||||
                          b'\xd2\x00\x00\x00\xd2\x01\x00\x00\x00\x00')
 | 
			
		||||
 | 
			
		||||
        current_load_endian = get_default_load_endianness()
 | 
			
		||||
 | 
			
		||||
        buf_be_no_bom = io.BytesIO(data_be_no_bom)
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            set_default_load_endianness(None)
 | 
			
		||||
            with self.assertWarnsRegex(UserWarning, "The default load endianness for checkpoints "
 | 
			
		||||
                                       "without a byteorder mark on big endian machines "
 | 
			
		||||
                                       "was changed from 'native' to 'little' endian"):
 | 
			
		||||
                tensor_be_no_bom = torch.load(buf_be_no_bom)
 | 
			
		||||
        finally:
 | 
			
		||||
            set_default_load_endianness(current_load_endian)
 | 
			
		||||
 | 
			
		||||
    @parametrize('weights_only', (True, False))
 | 
			
		||||
    @unittest.skipIf(IS_WINDOWS, "NamedTemporaryFile on windows")
 | 
			
		||||
    def test_serialization_mmap_loading(self, weights_only):
 | 
			
		||||
 | 
			
		||||
@ -3585,6 +3585,7 @@ class TestSparseCompressedTritonKernels(TestCase):
 | 
			
		||||
    @dtypesIfCUDA(torch.half, *[torch.bfloat16] if SM80OrLater else [], torch.float)
 | 
			
		||||
    @unittest.skipIf(IS_FBCODE and IS_REMOTE_GPU, "Test requires Triton")
 | 
			
		||||
    @precisionOverride({torch.float16: 1e-3})
 | 
			
		||||
    @unittest.skip("Disable to unblock triton pin upgrade. Details in https://github.com/pytorch/pytorch/issues/108102")
 | 
			
		||||
    def test_triton_scaled_dot_product_attention(self, device, dtype, block_size):
 | 
			
		||||
        from functools import partial
 | 
			
		||||
        from torch.sparse._triton_ops import _scaled_dot_product_attention
 | 
			
		||||
 | 
			
		||||
@ -287,7 +287,7 @@ _save_config_ignore = {
 | 
			
		||||
capture_autograd_function = True
 | 
			
		||||
 | 
			
		||||
# enable/disable dynamo tracing for `torch.func` transforms
 | 
			
		||||
capture_func_transforms = True
 | 
			
		||||
capture_func_transforms = False
 | 
			
		||||
 | 
			
		||||
# simulates what would happen if we didn't have support for BUILD_SET opcode,
 | 
			
		||||
# used for testing
 | 
			
		||||
 | 
			
		||||
@ -1174,7 +1174,10 @@ class BuiltinVariable(VariableTracker):
 | 
			
		||||
            ):
 | 
			
		||||
                assigning_fake_val = get_fake_value(val.as_proxy().node, tx)
 | 
			
		||||
 | 
			
		||||
                getattr_var = obj.var_getattr(tx, name_var.as_python_constant())
 | 
			
		||||
                try:
 | 
			
		||||
                    getattr_var = obj.var_getattr(tx, name_var.as_python_constant())
 | 
			
		||||
                except AttributeError:
 | 
			
		||||
                    getattr_var = None
 | 
			
		||||
 | 
			
		||||
                if isinstance(getattr_var, variables.TensorVariable):
 | 
			
		||||
                    # get_fake_val will return a real tensor here because it's an attribute on the module (get_attr node)
 | 
			
		||||
 | 
			
		||||
@ -655,6 +655,8 @@ class TorchVariable(VariableTracker):
 | 
			
		||||
                    return v
 | 
			
		||||
 | 
			
		||||
            return torch.utils._pytree.tree_map(map_fn, tree)
 | 
			
		||||
        elif self.value is torch.nn.utils.rnn.pack_padded_sequence:
 | 
			
		||||
            unimplemented("workaround https://github.com/pytorch/pytorch/issues/93501")
 | 
			
		||||
        elif isinstance(self.value, types.ModuleType):
 | 
			
		||||
            unimplemented("TypeError(\"'module' object is not callable\")")
 | 
			
		||||
        else:
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ import dataclasses
 | 
			
		||||
import io
 | 
			
		||||
import re
 | 
			
		||||
import pathlib
 | 
			
		||||
import types
 | 
			
		||||
import weakref
 | 
			
		||||
import zipfile
 | 
			
		||||
from collections import OrderedDict
 | 
			
		||||
@ -102,7 +103,6 @@ DEFAULT_EXPORT_DYNAMO_CONFIG = ExportDynamoConfig()
 | 
			
		||||
DECOMP_TABLE = core_aten_decompositions()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# FIXME: actually migrate it to pre_autograd tracing
 | 
			
		||||
@compatibility(is_backward_compatible=False)
 | 
			
		||||
def capture_pre_autograd_graph(
 | 
			
		||||
    f: Callable,
 | 
			
		||||
@ -157,6 +157,15 @@ def capture_pre_autograd_graph(
 | 
			
		||||
 | 
			
		||||
        for n in m.graph.nodes:
 | 
			
		||||
            n.meta["is_torch_exported"] = True
 | 
			
		||||
 | 
			
		||||
        def _train(self, mode: bool = True):
 | 
			
		||||
            raise NotImplementedError("Calling train() is not supported yet.")
 | 
			
		||||
 | 
			
		||||
        def _eval(self, mode: bool = True):
 | 
			
		||||
            raise NotImplementedError("Calling eval() is not supported yet.")
 | 
			
		||||
 | 
			
		||||
        m.train = types.MethodType(_train, m)  # type: ignore[method-assign]
 | 
			
		||||
        m.eval = types.MethodType(_eval, m)  # type: ignore[method-assign]
 | 
			
		||||
        return m
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -49,8 +49,25 @@ def config_of(args):
 | 
			
		||||
                return V.graph.sizevars.statically_known_multiple_of(x.expr, ALIGNMENT)
 | 
			
		||||
        raise NotImplementedError(f"unhandled {type(x)}: {x}")
 | 
			
		||||
 | 
			
		||||
    def is_aligned_8(x):
 | 
			
		||||
        """
 | 
			
		||||
        Roughly follow triton code here:
 | 
			
		||||
        https://github.com/openai/triton/blob/5282ed890d453e10b9ee30076ef89115dd197761/python/triton/runtime/jit.py#L208-L222
 | 
			
		||||
        """
 | 
			
		||||
        if isinstance(x, TensorArg):
 | 
			
		||||
            return False
 | 
			
		||||
        if isinstance(x, SizeArg):
 | 
			
		||||
            # TODO(voz): These are kinda redundant, if we can solve out statically_known_multiple_of with
 | 
			
		||||
            # _maybe_evaluate_static...
 | 
			
		||||
            if x.name.startswith("load_seed_offset"):
 | 
			
		||||
                return False
 | 
			
		||||
            else:
 | 
			
		||||
                return V.graph.sizevars.statically_known_multiple_of(x.expr, 8)
 | 
			
		||||
        raise NotImplementedError(f"unhandled {type(x)}: {x}")
 | 
			
		||||
 | 
			
		||||
    if config.triton.divisible_by_16:
 | 
			
		||||
        divisible_by_16 = [i for i, arg in enumerate(args) if is_aligned(arg)]
 | 
			
		||||
        divisible_by_16 = tuple(i for i, arg in enumerate(args) if is_aligned(arg))
 | 
			
		||||
    else:
 | 
			
		||||
        divisible_by_16 = []
 | 
			
		||||
    return instance_descriptor(tuple(divisible_by_16), ())
 | 
			
		||||
        divisible_by_16 = ()
 | 
			
		||||
    divisible_by_8 = tuple(i for i, arg in enumerate(args) if is_aligned_8(arg))
 | 
			
		||||
    return instance_descriptor(divisible_by_16, (), (), divisible_by_8)
 | 
			
		||||
 | 
			
		||||
@ -331,12 +331,13 @@ class WrapperCodeGen(CodeGen):
 | 
			
		||||
                from torch._inductor.hooks import run_intermediate_hooks
 | 
			
		||||
                from torch._inductor.utils import maybe_profile
 | 
			
		||||
 | 
			
		||||
                from torch import empty_strided, as_strided, device
 | 
			
		||||
                from torch import empty_strided, device
 | 
			
		||||
                from {codecache.__name__} import AsyncCompile
 | 
			
		||||
                from torch._inductor.select_algorithm import extern_kernels
 | 
			
		||||
 | 
			
		||||
                aten = torch.ops.aten
 | 
			
		||||
                assert_size_stride = torch._C._dynamo.guards.assert_size_stride
 | 
			
		||||
                reinterpret_tensor = torch.ops.inductor._reinterpret_tensor
 | 
			
		||||
                async_compile = AsyncCompile()
 | 
			
		||||
 | 
			
		||||
            """
 | 
			
		||||
@ -788,7 +789,8 @@ class WrapperCodeGen(CodeGen):
 | 
			
		||||
            return f"{self.declare}{new.get_name()} = {old.get_name()}{del_line}  {self.comment} reuse"
 | 
			
		||||
 | 
			
		||||
        return (
 | 
			
		||||
            f"{self.declare}{new.get_name()} = {self.namespace}as_strided({old.get_name()}, "
 | 
			
		||||
            f"{self.declare}{new.get_name()} = reinterpret_tensor("
 | 
			
		||||
            f"{old.get_name()}, "
 | 
			
		||||
            f"{self.codegen_shape_tuple(new.get_size())}, "
 | 
			
		||||
            f"{self.codegen_shape_tuple(new.get_stride())}){del_line}  {self.comment} reuse"
 | 
			
		||||
        )
 | 
			
		||||
@ -945,6 +947,7 @@ class CppWrapperCodeGen(WrapperCodeGen):
 | 
			
		||||
        self.header.splice(
 | 
			
		||||
            """
 | 
			
		||||
            #include <torch/csrc/inductor/inductor_ops.h>
 | 
			
		||||
            #define reinterpret_tensor torch::inductor::_reinterpret_tensor
 | 
			
		||||
            """
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -303,6 +303,81 @@ def _sfdp_replacement_12(query, key, value, inv_scale_factor, dropout_p):
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _sfdp_pattern_13(query, key, value, inv_scale):
 | 
			
		||||
    # dropout would create a clone() if eval() or p = 0
 | 
			
		||||
    return (
 | 
			
		||||
        torch.matmul(query, key.transpose(-2, -1))
 | 
			
		||||
        .div(inv_scale)
 | 
			
		||||
        .softmax(dim=-1)
 | 
			
		||||
        .clone()
 | 
			
		||||
        .matmul(value)
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _sfdp_replacement_13(query, key, value, inv_scale):
 | 
			
		||||
    counters["inductor"]["fuse_attention"] += 1
 | 
			
		||||
    return aten.scaled_dot_product_attention(
 | 
			
		||||
        query.contiguous(),
 | 
			
		||||
        key.contiguous(),
 | 
			
		||||
        value.contiguous(),
 | 
			
		||||
        attn_mask=None,
 | 
			
		||||
        dropout_p=0.0,
 | 
			
		||||
        is_causal=False,
 | 
			
		||||
        scale=1.0 / inv_scale,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _sfdp_pattern_14(query, key, value, scale_factor):
 | 
			
		||||
    # dropout would create a clone() if eval() or p = 0
 | 
			
		||||
    return (
 | 
			
		||||
        torch.matmul(query, key.transpose(-2, -1))
 | 
			
		||||
        .mul(scale_factor)
 | 
			
		||||
        .softmax(dim=-1)
 | 
			
		||||
        .clone()
 | 
			
		||||
        .matmul(value)
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _sfdp_replacement_14(query, key, value, scale_factor):
 | 
			
		||||
    counters["inductor"]["fuse_attention"] += 1
 | 
			
		||||
    return aten.scaled_dot_product_attention(
 | 
			
		||||
        query.contiguous(),
 | 
			
		||||
        key.contiguous(),
 | 
			
		||||
        value.contiguous(),
 | 
			
		||||
        attn_mask=None,
 | 
			
		||||
        dropout_p=0.0,
 | 
			
		||||
        is_causal=False,
 | 
			
		||||
        scale=scale_factor,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _sfdp_pattern_15(query, key, value, inv_scale):
 | 
			
		||||
    # dropout would create a clone() if eval() or p = 0
 | 
			
		||||
    q = query.permute(0, 2, 1, 3)
 | 
			
		||||
    k = key.permute(0, 2, 1, 3)
 | 
			
		||||
    v = value.permute(0, 2, 1, 3)
 | 
			
		||||
    return (
 | 
			
		||||
        torch.matmul(q, k.transpose(-2, -1))
 | 
			
		||||
        .div(inv_scale)
 | 
			
		||||
        .softmax(dim=-1)
 | 
			
		||||
        .clone()
 | 
			
		||||
        .matmul(v)
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _sfdp_replacement_15(query, key, value, inv_scale):
 | 
			
		||||
    counters["inductor"]["fuse_attention"] += 1
 | 
			
		||||
    return aten.scaled_dot_product_attention(
 | 
			
		||||
        query.transpose(1, 2),
 | 
			
		||||
        key.transpose(1, 2),
 | 
			
		||||
        value.transpose(1, 2),
 | 
			
		||||
        attn_mask=None,
 | 
			
		||||
        dropout_p=0.0,
 | 
			
		||||
        is_causal=False,
 | 
			
		||||
        scale=1.0 / inv_scale,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _sfdp_params_check(match):
 | 
			
		||||
    assert all(k in match.kwargs for k in ("query", "key", "value"))
 | 
			
		||||
    query = match.kwargs["query"].meta["val"]
 | 
			
		||||
@ -450,6 +525,27 @@ def _sfdp_init():
 | 
			
		||||
            d,
 | 
			
		||||
            _sfdp_scale_factor_check(aten.div.Tensor),
 | 
			
		||||
        ),
 | 
			
		||||
        (
 | 
			
		||||
            _sfdp_pattern_13,
 | 
			
		||||
            _sfdp_replacement_13,
 | 
			
		||||
            [g(), g(), g(), c()],
 | 
			
		||||
            {},
 | 
			
		||||
            _sfdp_scale_factor_check(aten.div.Tensor),
 | 
			
		||||
        ),
 | 
			
		||||
        (
 | 
			
		||||
            _sfdp_pattern_14,
 | 
			
		||||
            _sfdp_replacement_14,
 | 
			
		||||
            [g(), g(), g(), c()],
 | 
			
		||||
            {},
 | 
			
		||||
            _sfdp_scale_factor_check(aten.mul.Tensor),
 | 
			
		||||
        ),
 | 
			
		||||
        (
 | 
			
		||||
            _sfdp_pattern_15,
 | 
			
		||||
            _sfdp_replacement_15,
 | 
			
		||||
            [g(), g(), g(), c()],
 | 
			
		||||
            {},
 | 
			
		||||
            _sfdp_scale_factor_check(aten.div.Tensor),
 | 
			
		||||
        ),
 | 
			
		||||
    ]:
 | 
			
		||||
        args = [*args, *workaround.values()]
 | 
			
		||||
        register_replacement(
 | 
			
		||||
 | 
			
		||||
@ -432,7 +432,7 @@ class GraphLowering(torch.fx.Interpreter):
 | 
			
		||||
            return self.name_to_buffer[buffer_name].get_dtype()
 | 
			
		||||
        if buffer_name in self.graph_inputs:
 | 
			
		||||
            return self.graph_inputs[buffer_name].get_dtype()
 | 
			
		||||
        m = re.match(r"as_strided\(([a-zA-Z0-9_]+),", buffer_name)
 | 
			
		||||
        m = re.match(r"(as_strided|reinterpret_tensor)\(([a-zA-Z0-9_]+),", buffer_name)
 | 
			
		||||
        if m:
 | 
			
		||||
            return self.get_dtype(m.group(1))
 | 
			
		||||
        raise KeyError(f"could not find {buffer_name}")
 | 
			
		||||
 | 
			
		||||
@ -1873,12 +1873,10 @@ class ReinterpretView(BaseView):
 | 
			
		||||
        size = V.graph.wrapper_code.codegen_shape_tuple(self.layout.size)
 | 
			
		||||
        stride = V.graph.wrapper_code.codegen_shape_tuple(self.layout.stride)
 | 
			
		||||
        offset = V.graph.wrapper_code.codegen_sizevar(self.layout.offset)
 | 
			
		||||
        namespace = V.graph.wrapper_code.namespace
 | 
			
		||||
        if offset != "0":
 | 
			
		||||
            return (
 | 
			
		||||
                f"{namespace}as_strided({self.get_name()}, {size}, {stride}, {offset})"
 | 
			
		||||
            )
 | 
			
		||||
        return f"{namespace}as_strided({self.get_name()}, {size}, {stride})"
 | 
			
		||||
        # reinterpret_tensor is similar to as_strided except:
 | 
			
		||||
        # - offset is added to the existing offset (rather than replacing it)
 | 
			
		||||
        # - view tracking is disabled similar to unsafe_view
 | 
			
		||||
        return f"reinterpret_tensor({self.get_name()}, {size}, {stride}, {offset})"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SliceView(View):
 | 
			
		||||
@ -1971,6 +1969,9 @@ class Constant(BaseConstant):
 | 
			
		||||
    def realize(self):
 | 
			
		||||
        pass
 | 
			
		||||
 | 
			
		||||
    def constant_to_device(self, device):
 | 
			
		||||
        return Constant(self.value, self.dtype, device)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@dataclasses.dataclass
 | 
			
		||||
class IndexingConstant(BaseConstant):
 | 
			
		||||
@ -1984,6 +1985,9 @@ class IndexingConstant(BaseConstant):
 | 
			
		||||
 | 
			
		||||
        return loader
 | 
			
		||||
 | 
			
		||||
    def constant_to_device(self, device):
 | 
			
		||||
        return IndexingConstant(self.index, self.dtype, device)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@dataclasses.dataclass
 | 
			
		||||
class Layout(IRNode):
 | 
			
		||||
 | 
			
		||||
@ -92,6 +92,10 @@ aten_addmm = ExternKernelChoice(torch.addmm, "at::addmm_out")
 | 
			
		||||
aten__int_mm = ExternKernelChoice(torch._int_mm, "at::_int_mm")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _is_int8_mat(mat):
 | 
			
		||||
    return mat.get_dtype() in (torch.int8, torch.uint8)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def bias_addmm(inp, mat1, mat2, *, out=None, alpha=1, beta=1):
 | 
			
		||||
    """
 | 
			
		||||
    Giving torch.addmm a 1D tensor calls a different (faster) cublasLt
 | 
			
		||||
@ -223,7 +227,8 @@ def tuned_mixed_mm(mat1, mat2, mat2_dtype):
 | 
			
		||||
    if inductor_config.force_mixed_mm:
 | 
			
		||||
        choices = []
 | 
			
		||||
    b_prologue_cast_type = f"tl.{mat2_dtype}".replace("torch.", "")
 | 
			
		||||
    for config in mm_configs(m, n, k):
 | 
			
		||||
    has_int8_tensor = _is_int8_mat(mat1) or _is_int8_mat(mat2)
 | 
			
		||||
    for config in mm_configs(m, n, k, has_int8_tensor=has_int8_tensor):
 | 
			
		||||
        mm_template.maybe_append_choice(
 | 
			
		||||
            choices,
 | 
			
		||||
            (mat1, mat2),
 | 
			
		||||
 | 
			
		||||
@ -19,18 +19,27 @@ def triton_config(num_stages, num_warps, **kwargs):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def filtered_configs(
 | 
			
		||||
    m: int, n: int, k: int, configs: List[Tuple[int, int, int, int, int]]
 | 
			
		||||
    m: int,
 | 
			
		||||
    n: int,
 | 
			
		||||
    k: int,
 | 
			
		||||
    configs: List[Tuple[int, int, int, int, int]],
 | 
			
		||||
    has_int8_tensor=False,
 | 
			
		||||
):
 | 
			
		||||
    """Heuristic to shrink configs when they are bigger than the input size"""
 | 
			
		||||
    m = max(next_power_of_2(V.graph.sizevars.size_hint(m)), 16)
 | 
			
		||||
    n = max(next_power_of_2(V.graph.sizevars.size_hint(n)), 16)
 | 
			
		||||
    k = max(next_power_of_2(V.graph.sizevars.size_hint(k)), 16)
 | 
			
		||||
 | 
			
		||||
    # According to https://github.com/openai/triton/issues/2156#issuecomment-1695897424
 | 
			
		||||
    # it's safer to use at least [32, 32] block size for int8/uint8
 | 
			
		||||
    # tensors
 | 
			
		||||
    min_block_size = 32 if has_int8_tensor else 16
 | 
			
		||||
    m = max(next_power_of_2(V.graph.sizevars.size_hint(m)), min_block_size)
 | 
			
		||||
    n = max(next_power_of_2(V.graph.sizevars.size_hint(n)), min_block_size)
 | 
			
		||||
    k = max(next_power_of_2(V.graph.sizevars.size_hint(k)), min_block_size)
 | 
			
		||||
    used = set()
 | 
			
		||||
    for block_m, block_n, block_k, num_stages, num_warps in configs:
 | 
			
		||||
        # shrink configs for small sizes
 | 
			
		||||
        block_m = min(block_m, m)
 | 
			
		||||
        block_n = min(block_n, n)
 | 
			
		||||
        block_k = min(block_k, k)
 | 
			
		||||
        block_m = max(min(block_m, m), min_block_size)
 | 
			
		||||
        block_n = max(min(block_n, n), min_block_size)
 | 
			
		||||
        block_k = max(min(block_k, k), min_block_size)
 | 
			
		||||
        # each warp computes 16x16 tile = 256
 | 
			
		||||
        num_warps = min(num_warps, block_m * block_n // 256)
 | 
			
		||||
        if (block_m, block_n, block_k, num_stages, num_warps) not in used:
 | 
			
		||||
 | 
			
		||||
@ -340,6 +340,7 @@ class TritonTemplateKernel(TritonKernel):
 | 
			
		||||
    def call_kernel(self, name: str):
 | 
			
		||||
        wrapper = V.graph.wrapper_code
 | 
			
		||||
        _, call_args, _ = self.args.python_argdefs()
 | 
			
		||||
        call_args = [str(a) for a in call_args]
 | 
			
		||||
 | 
			
		||||
        for i in range(len(call_args)):
 | 
			
		||||
            if V.graph.is_unspec_arg(call_args[i]):
 | 
			
		||||
@ -354,7 +355,7 @@ class TritonTemplateKernel(TritonKernel):
 | 
			
		||||
                device_index=V.graph.scheduler.current_device.index,
 | 
			
		||||
            )
 | 
			
		||||
        else:
 | 
			
		||||
            call_args = ", ".join(call_args)
 | 
			
		||||
            call_args = ", ".join(call_args)  # type: ignore[assignment]
 | 
			
		||||
            stream_name = wrapper.write_get_cuda_stream(
 | 
			
		||||
                V.graph.scheduler.current_device.index
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
@ -227,9 +227,16 @@ class CachingAutotuner(KernelInterface):
 | 
			
		||||
                    grid_0, grid_1, grid_2 = grid(grid_meta)
 | 
			
		||||
                else:
 | 
			
		||||
                    grid_0, grid_1, grid_2 = grid
 | 
			
		||||
                bin.c_wrapper(grid_0, grid_1, grid_2, bin.num_warps, bin.shared,
 | 
			
		||||
                            stream, bin.cu_function, None, None, None,
 | 
			
		||||
                            {', '.join(call_args)})
 | 
			
		||||
 | 
			
		||||
                if hasattr(bin, "num_ctas"):
 | 
			
		||||
                    bin.c_wrapper(grid_0, grid_1, grid_2, bin.num_warps,
 | 
			
		||||
                                bin.num_ctas, *bin.clusterDims, bin.shared,
 | 
			
		||||
                                stream, bin.cu_function, None, None, None,
 | 
			
		||||
                                {', '.join(call_args)})
 | 
			
		||||
                else:
 | 
			
		||||
                    bin.c_wrapper(grid_0, grid_1, grid_2, bin.num_warps, bin.shared,
 | 
			
		||||
                                stream, bin.cu_function, None, None, None,
 | 
			
		||||
                                {', '.join(call_args)})
 | 
			
		||||
            """.lstrip(),
 | 
			
		||||
            scope,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
@ -431,10 +431,11 @@ def has_incompatible_cudagraph_ops(gm):
 | 
			
		||||
    forbidden_set = {
 | 
			
		||||
        "aten._fused_moving_avg_obs_fq_helper.default",
 | 
			
		||||
        "aten._fused_moving_avg_obs_fq_helper_functional.default",
 | 
			
		||||
        "aten.multinomial.default",
 | 
			
		||||
        "fbgemm.dense_to_jagged.default",
 | 
			
		||||
        "fbgemm.jagged_to_padded_dense.default",
 | 
			
		||||
        "run_with_rng_state",
 | 
			
		||||
        "run_and_save_rng_state",
 | 
			
		||||
        "run_with_rng_state",
 | 
			
		||||
    }
 | 
			
		||||
    if torch.are_deterministic_algorithms_enabled():
 | 
			
		||||
        forbidden_set.update(
 | 
			
		||||
@ -459,7 +460,9 @@ def has_incompatible_cudagraph_ops(gm):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
instance_descriptor = collections.namedtuple(
 | 
			
		||||
    "instance_descriptor", ["divisible_by_16", "equal_to_1"]
 | 
			
		||||
    "instance_descriptor",
 | 
			
		||||
    ["divisible_by_16", "equal_to_1", "ids_of_folded_args", "divisible_by_8"],
 | 
			
		||||
    defaults=[tuple(), tuple(), tuple(), tuple()],
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -38,6 +38,12 @@ class LogRegistry:
 | 
			
		||||
    # e.g. "guards"
 | 
			
		||||
    artifact_names: Set[str] = field(default_factory=set)
 | 
			
		||||
 | 
			
		||||
    # Artifacts that should be visible by default in the error message
 | 
			
		||||
    visible_artifacts: Set[str] = field(default_factory=set)
 | 
			
		||||
 | 
			
		||||
    # A short description of each artifact
 | 
			
		||||
    artifact_descriptions: Dict[str, str] = field(default_factory=dict)
 | 
			
		||||
 | 
			
		||||
    # artifacts which are not displayed unless explicitly named in the
 | 
			
		||||
    # settings. Ex. output_code is NOT displayed even if the inductor
 | 
			
		||||
    # log level is set to DEBUG. It must be explicitly named in the settings
 | 
			
		||||
@ -57,8 +63,13 @@ class LogRegistry:
 | 
			
		||||
        self.log_alias_to_log_qname[alias] = log_qname
 | 
			
		||||
 | 
			
		||||
    # register an artifact name
 | 
			
		||||
    def register_artifact_name(self, name, off_by_default, log_format):
 | 
			
		||||
    def register_artifact_name(
 | 
			
		||||
        self, name, description, visible, off_by_default, log_format
 | 
			
		||||
    ):
 | 
			
		||||
        self.artifact_names.add(name)
 | 
			
		||||
        if visible:
 | 
			
		||||
            self.visible_artifacts.add(name)
 | 
			
		||||
        self.artifact_descriptions[name] = description
 | 
			
		||||
 | 
			
		||||
        # if off by default, don't enable it
 | 
			
		||||
        # when log_name's log_level is set to DEBUG
 | 
			
		||||
@ -396,15 +407,21 @@ def register_log(setting_name, log_name):
 | 
			
		||||
    log_registry.register_log(setting_name, log_name)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def register_artifact(setting_name, off_by_default=False, log_format=None):
 | 
			
		||||
def register_artifact(
 | 
			
		||||
    setting_name, description, visible=False, off_by_default=False, log_format=None
 | 
			
		||||
):
 | 
			
		||||
    """
 | 
			
		||||
    Enables an artifact to be controlled by the env var and user API with name
 | 
			
		||||
    Args:
 | 
			
		||||
        setting_name: the shorthand name used in the env var and user API
 | 
			
		||||
        description: A description of what this outputs
 | 
			
		||||
        visible: Whether it gets suggested to users by default
 | 
			
		||||
        off_by_default: whether this artifact should be logged when the ancestor loggers
 | 
			
		||||
            are enabled at level DEBUG
 | 
			
		||||
    """
 | 
			
		||||
    log_registry.register_artifact_name(setting_name, off_by_default, log_format)
 | 
			
		||||
    log_registry.register_artifact_name(
 | 
			
		||||
        setting_name, description, visible, off_by_default, log_format
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def getArtifactLogger(module_qname, artifact_name):
 | 
			
		||||
@ -452,18 +469,68 @@ def _validate_settings(settings):
 | 
			
		||||
    return re.fullmatch(_gen_settings_regex(), settings) is not None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _invalid_settings_err_msg(settings):
 | 
			
		||||
    entities = "\n  " + "\n  ".join(
 | 
			
		||||
        itertools.chain(
 | 
			
		||||
            ["all"],
 | 
			
		||||
            log_registry.log_alias_to_log_qname.keys(),
 | 
			
		||||
            log_registry.artifact_names,
 | 
			
		||||
        )
 | 
			
		||||
def help_message(verbose=False):
 | 
			
		||||
    def pad_to(s, length=30):
 | 
			
		||||
        assert len(s) <= length
 | 
			
		||||
        return s + " " * (length - len(s))
 | 
			
		||||
 | 
			
		||||
    if verbose:
 | 
			
		||||
        printed_artifacts = log_registry.artifact_names
 | 
			
		||||
    else:
 | 
			
		||||
        printed_artifacts = log_registry.visible_artifacts
 | 
			
		||||
 | 
			
		||||
    if verbose:
 | 
			
		||||
        heading = "All registered names"
 | 
			
		||||
    else:
 | 
			
		||||
        heading = "Visible registered names (use TORCH_LOGS='+help' for full list)"
 | 
			
		||||
    lines = (
 | 
			
		||||
        ["all"]
 | 
			
		||||
        + list(log_registry.log_alias_to_log_qname.keys())
 | 
			
		||||
        + [
 | 
			
		||||
            f"{pad_to(name)}\t{log_registry.artifact_descriptions[name]}"
 | 
			
		||||
            for name in printed_artifacts
 | 
			
		||||
        ]
 | 
			
		||||
    )
 | 
			
		||||
    msg = (
 | 
			
		||||
        f"Invalid log settings: {settings}, must be a comma separated list of fully qualified module names, "
 | 
			
		||||
        f"registered log names or registered artifact names.\nCurrently registered names: {entities}"
 | 
			
		||||
    setting_info = "  " + "\n  ".join(lines)
 | 
			
		||||
    examples = """
 | 
			
		||||
Examples:
 | 
			
		||||
  TORCH_LOGS="+dynamo,aot" will set the log level of TorchDynamo to
 | 
			
		||||
  logging.DEBUG and AOT to logging.INFO
 | 
			
		||||
 | 
			
		||||
  TORCH_LOGS="-dynamo,+inductor" will set the log level of TorchDynamo to
 | 
			
		||||
  logging.ERROR and TorchInductor to logging.DEBUG
 | 
			
		||||
 | 
			
		||||
  TORCH_LOGS="aot_graphs" will enable the aot_graphs artifact
 | 
			
		||||
 | 
			
		||||
  TORCH_LOGS="+dynamo,schedule" will enable set the log level of TorchDynamo
 | 
			
		||||
  to logging.DEBUG and enable the schedule artifact
 | 
			
		||||
 | 
			
		||||
  TORCH_LOGS="+some.random.module,schedule" will set the log level of
 | 
			
		||||
  some.random.module to logging.DEBUG and enable the schedule artifact
 | 
			
		||||
"""  # flake8: noqa: B950
 | 
			
		||||
    msg = f"""
 | 
			
		||||
TORCH_LOGS Info
 | 
			
		||||
{examples}
 | 
			
		||||
 | 
			
		||||
{heading}
 | 
			
		||||
{setting_info}
 | 
			
		||||
"""
 | 
			
		||||
    return msg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _invalid_settings_err_msg(settings, verbose=False):
 | 
			
		||||
    valid_settings = ", ".join(
 | 
			
		||||
        ["all"]
 | 
			
		||||
        + list(log_registry.log_alias_to_log_qname.keys())
 | 
			
		||||
        + list(log_registry.artifact_names)
 | 
			
		||||
    )
 | 
			
		||||
    msg = f"""
 | 
			
		||||
Invalid log settings: {settings}, must be a comma separated list of fully
 | 
			
		||||
qualified module names, registered log names or registered artifact names.
 | 
			
		||||
For more info on various settings, try TORCH_LOGS="help"
 | 
			
		||||
Valid settings:
 | 
			
		||||
{valid_settings}
 | 
			
		||||
"""
 | 
			
		||||
    return msg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -472,6 +539,10 @@ def _parse_log_settings(settings):
 | 
			
		||||
    if settings == "":
 | 
			
		||||
        return dict()
 | 
			
		||||
 | 
			
		||||
    if settings == "help":
 | 
			
		||||
        raise ValueError(help_message(verbose=False))
 | 
			
		||||
    elif settings == "+help":
 | 
			
		||||
        raise ValueError(help_message(verbose=True))
 | 
			
		||||
    if not _validate_settings(settings):
 | 
			
		||||
        raise ValueError(_invalid_settings_err_msg(settings))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,4 @@
 | 
			
		||||
# flake8: noqa: B950
 | 
			
		||||
from ._internal import register_artifact, register_log
 | 
			
		||||
 | 
			
		||||
register_log("dynamo", "torch._dynamo")
 | 
			
		||||
@ -8,23 +9,72 @@ register_log("torch", "torch")
 | 
			
		||||
register_log("distributed", "torch.distributed")
 | 
			
		||||
register_log("onnx", "torch.onnx")
 | 
			
		||||
 | 
			
		||||
register_artifact("guards")
 | 
			
		||||
register_artifact("verbose_guards", off_by_default=True)
 | 
			
		||||
register_artifact("bytecode", off_by_default=True)
 | 
			
		||||
register_artifact("graph")
 | 
			
		||||
register_artifact("graph_code")
 | 
			
		||||
register_artifact("graph_sizes")
 | 
			
		||||
register_artifact("trace_source")
 | 
			
		||||
register_artifact("trace_call")
 | 
			
		||||
register_artifact("aot_graphs")
 | 
			
		||||
register_artifact("aot_joint_graph")
 | 
			
		||||
register_artifact("ddp_graphs")
 | 
			
		||||
register_artifact("recompiles")
 | 
			
		||||
register_artifact("graph_breaks")
 | 
			
		||||
register_artifact("not_implemented")
 | 
			
		||||
register_artifact("output_code", off_by_default=True)
 | 
			
		||||
register_artifact("schedule", off_by_default=True)
 | 
			
		||||
register_artifact("perf_hints", off_by_default=True)
 | 
			
		||||
register_artifact("onnx_diagnostics", off_by_default=True)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "guards",
 | 
			
		||||
    "This prints the guards for every compiled Dynamo frame. It does not tell you where the guards come from.",
 | 
			
		||||
    visible=True,
 | 
			
		||||
)
 | 
			
		||||
register_artifact("verbose_guards", "", off_by_default=True)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "bytecode",
 | 
			
		||||
    "Prints the original and modified bytecode from Dynamo. Mostly useful if you're debugging our bytecode generation in Dynamo.",
 | 
			
		||||
    off_by_default=True,
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "graph",
 | 
			
		||||
    "Prints the dynamo traced graph (prior to AOTDispatch) in a table. If you prefer python code use `graph_code` instead. ",
 | 
			
		||||
)
 | 
			
		||||
register_artifact("graph_code", "Like `graph`, but gives you the Python code instead.")
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "graph_sizes", "Prints the sizes of all FX nodes in the dynamo graph."
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "trace_source",
 | 
			
		||||
    "As we execute bytecode, prints the file name / line number we are processing and the actual source code. Useful with `bytecode`",
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "trace_call",
 | 
			
		||||
    "Like trace_source, but it will give you the per-expression blow-by-blow if your Python is recent enough.",
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "aot_graphs",
 | 
			
		||||
    "Prints the FX forward and backward graph generated by AOTDispatch, after partitioning. Useful to understand what's being given to Inductor",
 | 
			
		||||
    visible=True,
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "aot_joint_graph",
 | 
			
		||||
    "Print FX joint graph from AOTAutograd, prior to partitioning. Useful for debugging partitioning",
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "ddp_graphs",
 | 
			
		||||
    "Only relevant for compiling DDP. DDP splits into multiple graphs to trigger comms early. This will print each individual graph here.",
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "recompiles",
 | 
			
		||||
    "Prints the reason why we recompiled a graph. Very, very useful.",
 | 
			
		||||
    visible=True,
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "graph_breaks",
 | 
			
		||||
    "Prints whenever Dynamo decides that it needs to graph break (i.e. create a new graph). Useful for debugging why torch.compile has poor performance",
 | 
			
		||||
    visible=True,
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "not_implemented",
 | 
			
		||||
    "Prints log messages whenever we return NotImplemented in a multi-dispatch, letting you trace through each object we attempted to dispatch to",
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "output_code",
 | 
			
		||||
    "Prints the code that Inductor generates (either Triton or C++)",
 | 
			
		||||
    off_by_default=True,
 | 
			
		||||
    visible=True,
 | 
			
		||||
)
 | 
			
		||||
register_artifact(
 | 
			
		||||
    "schedule",
 | 
			
		||||
    "Inductor scheduler information. Useful if working on Inductor fusion algo",
 | 
			
		||||
    off_by_default=True,
 | 
			
		||||
)
 | 
			
		||||
register_artifact("perf_hints", "", off_by_default=True)
 | 
			
		||||
register_artifact("onnx_diagnostics", "", off_by_default=True)
 | 
			
		||||
 | 
			
		||||
register_artifact("custom_format_test_artifact", log_format="")
 | 
			
		||||
register_artifact("custom_format_test_artifact", "Testing only", log_format="")
 | 
			
		||||
 | 
			
		||||
@ -12,6 +12,7 @@ from .quantization_mappings import *  # type: ignore[no-redef]
 | 
			
		||||
from .quantize import *  # noqa: F403
 | 
			
		||||
from .quantize_jit import *  # noqa: F403
 | 
			
		||||
from .stubs import *  # noqa: F403
 | 
			
		||||
from .pt2e.utils import move_model_to_eval
 | 
			
		||||
from typing import Union, List, Callable, Tuple, Optional
 | 
			
		||||
from torch import Tensor
 | 
			
		||||
import torch
 | 
			
		||||
@ -119,6 +120,7 @@ __all__ = [
 | 
			
		||||
    "get_quantized_operator",
 | 
			
		||||
    "get_static_quant_module_class",
 | 
			
		||||
    "load_observer_state_dict",
 | 
			
		||||
    "move_model_to_eval",
 | 
			
		||||
    "no_observer_set",
 | 
			
		||||
    "per_channel_weight_observer_range_neg_127_to_127",
 | 
			
		||||
    "prepare",
 | 
			
		||||
 | 
			
		||||
@ -9,11 +9,11 @@ from torch.nn.utils.fusion import fuse_conv_bn_weights
 | 
			
		||||
import operator
 | 
			
		||||
from typing import Any, Callable, Dict, Optional, Tuple, List, Union
 | 
			
		||||
from torch.utils._pytree import LeafSpec
 | 
			
		||||
from torch._export import capture_pre_autograd_graph
 | 
			
		||||
 | 
			
		||||
__all__ = [
 | 
			
		||||
    "fold_bn_weights_into_conv_node",
 | 
			
		||||
    "get_aten_graph_module",
 | 
			
		||||
    "move_model_to_eval",
 | 
			
		||||
    "remove_tensor_overload_for_qdq_ops",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -156,6 +156,8 @@ def get_aten_graph_module(
 | 
			
		||||
    """
 | 
			
		||||
    Convert the pattern to an FX graph with decomposed aten ops.
 | 
			
		||||
    """
 | 
			
		||||
    # Avoid circular dependencies
 | 
			
		||||
    from torch._export import capture_pre_autograd_graph
 | 
			
		||||
    aten_pattern = capture_pre_autograd_graph(
 | 
			
		||||
        pattern,
 | 
			
		||||
        example_inputs,
 | 
			
		||||
@ -387,3 +389,15 @@ def _replace_literals_with_existing_placeholders(
 | 
			
		||||
        new_args = tuple(new_args)
 | 
			
		||||
        node.args = new_args
 | 
			
		||||
    return gm
 | 
			
		||||
 | 
			
		||||
# TODO: also support move_model_to_train
 | 
			
		||||
# TODO: also support standalone batchnorm
 | 
			
		||||
def move_model_to_eval(m: GraphModule):
 | 
			
		||||
    """
 | 
			
		||||
    Move an exported GraphModule to eval mode.
 | 
			
		||||
 | 
			
		||||
    This is equivalent to model.eval() but only for certain special ops like dropout.
 | 
			
		||||
    QAT users should call this before performing inference on the model.
 | 
			
		||||
    """
 | 
			
		||||
    _replace_dropout_for_eval(m)
 | 
			
		||||
    return m
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,6 @@ from .pt2e.qat_utils import (
 | 
			
		||||
from .pt2e.utils import (
 | 
			
		||||
    _get_node_name_to_scope,
 | 
			
		||||
    _fuse_conv_bn_,
 | 
			
		||||
    _replace_dropout_for_eval,
 | 
			
		||||
)
 | 
			
		||||
from .pt2e.representation import reference_representation_rewrite
 | 
			
		||||
from .fx.prepare import prepare as fx_prepare
 | 
			
		||||
@ -95,9 +94,6 @@ def convert_pt2e(
 | 
			
		||||
    use_reference_representation: bool = False,
 | 
			
		||||
) -> GraphModule:
 | 
			
		||||
    original_graph_meta = model.meta
 | 
			
		||||
    # TODO: Handle this in export itself, outside of quantization
 | 
			
		||||
    # See https://github.com/pytorch/pytorch/issues/103681.
 | 
			
		||||
    _replace_dropout_for_eval(model)
 | 
			
		||||
    model = _convert_to_reference_decomposed_fx(model)
 | 
			
		||||
    model = _fold_conv_bn_qat(model)
 | 
			
		||||
    if use_reference_representation:
 | 
			
		||||
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user