diff --git a/.ci/docker/ci_commit_pins/pytorch.txt b/.ci/docker/ci_commit_pins/pytorch.txt index d1e1e4843b..0e345721be 100644 --- a/.ci/docker/ci_commit_pins/pytorch.txt +++ b/.ci/docker/ci_commit_pins/pytorch.txt @@ -1 +1 @@ -19eff28ff3f19b50da46f5a9ff5f4d4d213806fe +release/2.6 diff --git a/.github/workflows/_android.yml b/.github/workflows/_android.yml index 96fdfd51fe..318d93f103 100644 --- a/.github/workflows/_android.yml +++ b/.github/workflows/_android.yml @@ -7,7 +7,7 @@ on: jobs: build-llm-demo: name: build-llm-demo - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 with: runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-clang12-android @@ -38,7 +38,7 @@ jobs: API_LEVEL: 34 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.6 with: github-secret: ${{ secrets.GITHUB_TOKEN }} instructions: | @@ -49,7 +49,7 @@ jobs: submodules: false - name: Setup conda - uses: pytorch/test-infra/.github/actions/setup-miniconda@main + uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.6 with: python-version: '3.10' diff --git a/.github/workflows/_unittest.yml b/.github/workflows/_unittest.yml index 74ea5ca7bc..cafbcaab41 100644 --- a/.github/workflows/_unittest.yml +++ b/.github/workflows/_unittest.yml @@ -14,7 +14,7 @@ on: jobs: linux: - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 with: runner: linux.2xlarge docker-image: ${{ inputs.docker-image }} @@ -47,7 +47,7 @@ jobs: test/run_oss_cpp_tests.sh macos: - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 with: runner: macos-m1-stable python-version: '3.11' diff --git a/.github/workflows/android-perf.yml b/.github/workflows/android-perf.yml index fce17e85a9..328b16e376 100644 --- a/.github/workflows/android-perf.yml +++ b/.github/workflows/android-perf.yml @@ -166,7 +166,7 @@ jobs: export-models: name: export-models - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 needs: set-parameters strategy: matrix: @@ -226,7 +226,7 @@ jobs: build-benchmark-app: name: build-benchmark-app - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 needs: set-parameters with: runner: linux.2xlarge @@ -257,7 +257,7 @@ jobs: permissions: id-token: write contents: read - uses: pytorch/test-infra/.github/workflows/mobile_job.yml@main + uses: pytorch/test-infra/.github/workflows/mobile_job.yml@release/2.6 needs: - set-parameters - prepare-test-specs @@ -305,7 +305,7 @@ jobs: aws-region: us-east-1 - name: Setup conda - uses: pytorch/test-infra/.github/actions/setup-miniconda@main + uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.6 with: python-version: '3.10' @@ -353,14 +353,14 @@ jobs: # TODO (huydhn): Remove v2 schema once the benchmark dashboard finishes the migration - name: Upload the benchmark results (v2) - uses: pytorch/test-infra/.github/actions/upload-benchmark-results@main + uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.6 with: benchmark-results-dir: benchmark-results/v2 dry-run: false schema-version: v2 - name: Upload the benchmark results (v3) - uses: pytorch/test-infra/.github/actions/upload-benchmark-results@main + uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.6 with: benchmark-results-dir: benchmark-results/v3 dry-run: false diff --git a/.github/workflows/android-release-artifacts.yml b/.github/workflows/android-release-artifacts.yml index a10de79363..1c1defb73f 100644 --- a/.github/workflows/android-release-artifacts.yml +++ b/.github/workflows/android-release-artifacts.yml @@ -31,7 +31,7 @@ jobs: build-aar: name: build-aar needs: check-if-aar-exists - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 with: runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-clang12-android diff --git a/.github/workflows/apple-perf.yml b/.github/workflows/apple-perf.yml index 394c148cf1..56d3917c1d 100644 --- a/.github/workflows/apple-perf.yml +++ b/.github/workflows/apple-perf.yml @@ -153,7 +153,7 @@ jobs: export-models: name: export-models - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 needs: set-parameters strategy: matrix: @@ -228,7 +228,7 @@ jobs: build-benchmark-app: name: build-benchmark-app - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 needs: - set-parameters secrets: inherit @@ -334,7 +334,7 @@ jobs: permissions: id-token: write contents: read - uses: pytorch/test-infra/.github/workflows/mobile_job.yml@main + uses: pytorch/test-infra/.github/workflows/mobile_job.yml@release/2.6 strategy: matrix: model: ${{ fromJson(needs.set-parameters.outputs.models) }} @@ -379,7 +379,7 @@ jobs: aws-region: us-east-1 - name: Setup conda - uses: pytorch/test-infra/.github/actions/setup-miniconda@main + uses: pytorch/test-infra/.github/actions/setup-miniconda@release/2.6 with: python-version: '3.10' @@ -427,14 +427,14 @@ jobs: # TODO (huydhn): Remove v2 schema once the benchmark dashboard finishes the migration - name: Upload the benchmark results (v2) - uses: pytorch/test-infra/.github/actions/upload-benchmark-results@main + uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.6 with: benchmark-results-dir: benchmark-results/v2 dry-run: false schema-version: v2 - name: Upload the benchmark results (v3) - uses: pytorch/test-infra/.github/actions/upload-benchmark-results@main + uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.6 with: benchmark-results-dir: benchmark-results/v3 dry-run: false diff --git a/.github/workflows/apple.yml b/.github/workflows/apple.yml index f284d466bf..b71c8cc2af 100644 --- a/.github/workflows/apple.yml +++ b/.github/workflows/apple.yml @@ -44,7 +44,7 @@ jobs: name: build-demo-ios # NB: Don't run this on fork PRs because they won't have access to the secret and would fail anyway if: ${{ !github.event.pull_request.head.repo.fork }} - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 secrets: inherit with: runner: macos-latest-xlarge @@ -114,7 +114,7 @@ jobs: permissions: id-token: write contents: read - uses: pytorch/test-infra/.github/workflows/mobile_job.yml@main + uses: pytorch/test-infra/.github/workflows/mobile_job.yml@release/2.6 with: device-type: ios # For iOS testing, the runner just needs to call AWS Device Farm, so there is no need to run this on macOS @@ -132,7 +132,7 @@ jobs: build-frameworks-ios: name: build-frameworks-ios needs: set-version - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 with: runner: macos-latest-xlarge python-version: '3.11' @@ -284,7 +284,7 @@ jobs: name: build-benchmark-app # NB: Don't run this on fork PRs because they won't have access to the secret and would fail anyway if: ${{ !github.event.pull_request.head.repo.fork }} - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 secrets: inherit with: runner: macos-latest-xlarge diff --git a/.github/workflows/build-wheels-linux.yml b/.github/workflows/build-wheels-linux.yml index 75f2c13fa8..00a0c7559e 100644 --- a/.github/workflows/build-wheels-linux.yml +++ b/.github/workflows/build-wheels-linux.yml @@ -19,7 +19,7 @@ on: jobs: generate-matrix: - uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main + uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@release/2.6 with: package-type: wheel os: linux @@ -44,7 +44,7 @@ jobs: smoke-test-script: build/packaging/smoke_test.py package-name: executorch name: ${{ matrix.repository }} - uses: pytorch/test-infra/.github/workflows/build_wheels_linux.yml@main + uses: pytorch/test-infra/.github/workflows/build_wheels_linux.yml@release/2.6 with: repository: ${{ matrix.repository }} ref: "" diff --git a/.github/workflows/build-wheels-m1.yml b/.github/workflows/build-wheels-m1.yml index a160f5ab9b..ec76b0b756 100644 --- a/.github/workflows/build-wheels-m1.yml +++ b/.github/workflows/build-wheels-m1.yml @@ -19,7 +19,7 @@ on: jobs: generate-matrix: - uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main + uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@release/2.6 with: package-type: wheel os: macos-arm64 @@ -44,7 +44,7 @@ jobs: smoke-test-script: build/packaging/smoke_test.py package-name: executorch name: ${{ matrix.repository }} - uses: pytorch/test-infra/.github/workflows/build_wheels_macos.yml@main + uses: pytorch/test-infra/.github/workflows/build_wheels_macos.yml@release/2.6 with: repository: ${{ matrix.repository }} ref: "" diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index 7a3b862b21..ad7b19e564 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -15,7 +15,7 @@ on: jobs: build: - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: matrix: include: @@ -82,7 +82,7 @@ jobs: if: github.repository == 'pytorch/executorch' && github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')) permissions: contents: write - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 with: repository: pytorch/executorch download-artifact: docs diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index 73af9842a2..41e900f9f3 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -51,7 +51,7 @@ jobs: mkdir "${GITHUB_WORKSPACE}" - 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.6 with: github-secret: ${{ secrets.GITHUB_TOKEN }} @@ -59,11 +59,11 @@ jobs: uses: actions/checkout@v3 - name: Setup Linux - uses: pytorch/test-infra/.github/actions/setup-linux@main + uses: pytorch/test-infra/.github/actions/setup-linux@release/2.6 - 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.6 with: docker-image-name: ${{ matrix.docker-image-name }} always-rebuild: true @@ -71,5 +71,5 @@ jobs: force-push: true - name: Teardown Linux - uses: pytorch/test-infra/.github/actions/teardown-linux@main + uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.6 if: always() diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 515181fafa..5b7e95ec1c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,7 @@ concurrency: jobs: lintrunner: - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 with: runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-linter @@ -56,7 +56,7 @@ jobs: exit $RC android-java-format: - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 with: runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-linter diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index f8ffd41d21..7b13463436 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -21,7 +21,7 @@ jobs: environment: ${{ (github.event_name == 'schedule') && 'update-commit-hash' || '' }} steps: - name: update-pytorch-commit-hash - uses: pytorch/test-infra/.github/actions/update-commit-hash@main + uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.6 if: ${{ github.event_name == 'schedule' }} with: repo-name: pytorch diff --git a/.github/workflows/periodic.yml b/.github/workflows/periodic.yml index df13140ca9..e1e893d5e7 100644 --- a/.github/workflows/periodic.yml +++ b/.github/workflows/periodic.yml @@ -39,7 +39,7 @@ jobs: test-models-linux: name: test-models-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 needs: gather-models strategy: matrix: ${{ fromJSON(needs.gather-models.outputs.models) }} diff --git a/.github/workflows/pull.yml b/.github/workflows/pull.yml index 5941ab52e7..f628946fe2 100644 --- a/.github/workflows/pull.yml +++ b/.github/workflows/pull.yml @@ -33,7 +33,7 @@ jobs: test-setup-linux-gcc: name: test-setup-linux-gcc - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -55,7 +55,7 @@ jobs: test-models-linux: name: test-models-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 needs: gather-models strategy: matrix: ${{ fromJSON(needs.gather-models.outputs.models) }} @@ -82,7 +82,7 @@ jobs: test-llama-runner-linux: name: test-llama-runner-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: matrix: dtype: [fp32] @@ -121,7 +121,7 @@ jobs: test-llama-runner-linux-android: name: test-llama-runner-linux-android - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -141,7 +141,7 @@ jobs: test-custom-ops-linux: name: test-custom-ops-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -162,7 +162,7 @@ jobs: test-selective-build-linux: name: test-selective-build-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -183,7 +183,7 @@ jobs: test-llava-runner-linux: name: test-llava-runner-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -214,7 +214,7 @@ jobs: test-quantized-aot-lib-linux: name: test-quantized-aot-lib-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -234,7 +234,7 @@ jobs: test-pybind-build-linux: name: test-pybind-build-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -260,7 +260,7 @@ jobs: test-binary-size-linux-gcc: name: test-binary-size-linux-gcc - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -292,7 +292,7 @@ jobs: test-binary-size-linux: name: test-binary-size-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -332,7 +332,7 @@ jobs: docker-image: executorch-ubuntu-22.04-clang12 unittest-arm: - uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.6 with: runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-arm-sdk @@ -364,7 +364,7 @@ jobs: test-llama-runner-qnn-linux: name: test-llama-runner-qnn-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: matrix: dtype: [fp32] @@ -399,7 +399,7 @@ jobs: test-phi-3-mini-runner-linux: name: test-phi-3-mini-runner-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -426,7 +426,7 @@ jobs: test-eval_llama-wikitext-linux: name: test-eval_llama-wikitext-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -453,7 +453,7 @@ jobs: test-eval_llama-mmlu-linux: name: test-eval_llama-mmlu-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -480,7 +480,7 @@ jobs: test-llama_runner_eager-linux: name: test-llama_runner_eager-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: @@ -507,7 +507,7 @@ jobs: test-mediatek-models-linux: name: test-mediatek-models-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: fail-fast: false with: diff --git a/.github/workflows/trunk.yml b/.github/workflows/trunk.yml index 365c7564fe..4dacb9c397 100644 --- a/.github/workflows/trunk.yml +++ b/.github/workflows/trunk.yml @@ -38,7 +38,7 @@ jobs: test-models-macos: name: test-models-macos - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 needs: gather-models strategy: matrix: ${{ fromJSON(needs.gather-models.outputs.models) }} @@ -63,7 +63,7 @@ jobs: test-custom-ops-macos: name: test-custom-ops-macos - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 strategy: matrix: include: @@ -85,7 +85,7 @@ jobs: test-selective-build-macos: name: test-selective-build-macos - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 strategy: matrix: include: @@ -107,7 +107,7 @@ jobs: test-demo-backend-delegation: name: test-demo-backend-delegation - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: matrix: include: @@ -131,7 +131,7 @@ jobs: test-arm-backend-delegation: name: test-arm-backend-delegation - uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.6 with: runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-arm-sdk @@ -157,7 +157,7 @@ jobs: test-arm-reference-delegation: name: test-arm-reference-delegation - uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.6 with: runner: linux.2xlarge docker-image: executorch-ubuntu-22.04-arm-sdk @@ -179,7 +179,7 @@ jobs: test-coreml-delegate: name: test-coreml-delegate - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 with: runner: macos-13-xlarge python-version: '3.11' @@ -197,7 +197,7 @@ jobs: test-pybind-build-macos: name: test-pybind-build-macos - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 strategy: matrix: include: @@ -221,7 +221,7 @@ jobs: test-llama-runner-macos: name: test-llama-runner-mac - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 strategy: matrix: dtype: [fp32] @@ -266,7 +266,7 @@ jobs: # # TODO(jackzhxng): Runner consistently runs out of memory before test finishes. Try to find a more powerful runner. # test-llava-runner-macos: # name: test-llava-runner-macos - # uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + # uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 # strategy: # fail-fast: false # with: @@ -294,7 +294,7 @@ jobs: test-qnn-model: name: test-qnn-model - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: matrix: dtype: [fp32] @@ -317,7 +317,7 @@ jobs: test-apple-model: name: test-apple-model - uses: pytorch/test-infra/.github/workflows/macos_job.yml@main + uses: pytorch/test-infra/.github/workflows/macos_job.yml@release/2.6 strategy: fail-fast: false with: @@ -354,7 +354,7 @@ jobs: # NB: Don't run this on fork PRs because they won't have access to the secret and would fail anyway if: ${{ !github.event.pull_request.head.repo.fork }} name: test-huggingface-transformers - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 secrets: inherit strategy: matrix: @@ -447,7 +447,7 @@ jobs: test-llama-runner-qnn-linux: name: test-llama-runner-qnn-linux - uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.6 strategy: matrix: dtype: [fp32] diff --git a/.github/workflows/update-viablestrict.yml b/.github/workflows/update-viablestrict.yml index ab865fc1ad..62876a1b69 100644 --- a/.github/workflows/update-viablestrict.yml +++ b/.github/workflows/update-viablestrict.yml @@ -16,7 +16,7 @@ jobs: environment: ${{ (github.event_name == 'schedule') && 'update-viable-strict' || '' }} steps: - name: Update viable/strict - uses: pytorch/test-infra/.github/actions/update-viablestrict@main + uses: pytorch/test-infra/.github/actions/update-viablestrict@release/2.6 with: repository: pytorch/executorch stable-branch: viable/strict diff --git a/examples/models/llama3_2_vision/text_decoder/test/test_text_decoder.py b/examples/models/llama3_2_vision/text_decoder/test/test_text_decoder.py index 8e678801b8..e6bf2ddd31 100644 --- a/examples/models/llama3_2_vision/text_decoder/test/test_text_decoder.py +++ b/examples/models/llama3_2_vision/text_decoder/test/test_text_decoder.py @@ -74,8 +74,6 @@ def test_llama3_2_text_decoder_aoti(self) -> None: with tempfile.TemporaryDirectory() as tmpdir: path = torch._inductor.aoti_compile_and_package( ep, - model.get_example_inputs(), - kwargs=model.get_example_kwarg_inputs(), package_path=os.path.join(tmpdir, "text_decoder.pt2"), ) encoder_aoti = torch._inductor.aoti_load_package(path) diff --git a/examples/models/llama3_2_vision/vision_encoder/test/test_vision_encoder.py b/examples/models/llama3_2_vision/vision_encoder/test/test_vision_encoder.py index c2f1e77cee..7721350014 100644 --- a/examples/models/llama3_2_vision/vision_encoder/test/test_vision_encoder.py +++ b/examples/models/llama3_2_vision/vision_encoder/test/test_vision_encoder.py @@ -36,7 +36,6 @@ def test_flamingo_vision_encoder(self) -> None: with tempfile.TemporaryDirectory() as tmpdir: path = torch._inductor.aoti_compile_and_package( ep, - model.get_example_inputs(), package_path=os.path.join(tmpdir, "vision_encoder.pt2"), ) print(path) diff --git a/extension/llm/export/builder.py b/extension/llm/export/builder.py index ebc7f02ee1..46891f71bc 100644 --- a/extension/llm/export/builder.py +++ b/extension/llm/export/builder.py @@ -10,9 +10,11 @@ # pyre-unsafe +import contextlib import logging from enum import Enum from typing import Any, Callable, Dict, List, Optional +from unittest.mock import patch import torch from executorch.backends.transforms.duplicate_dynamic_quant_chain import ( @@ -184,15 +186,22 @@ def export(self) -> "LLMEdgeManager": # 2. torch.no_grad() is for getting rid of the dropout (not sure why training ops will show up) with torch.nn.attention.sdpa_kernel([SDPBackend.MATH]), torch.no_grad(): if hasattr(self.args, "qnn") and self.args.qnn: - # TODO: this is temporary and export_for_training doesn't work with qnn either. We need a - # functional graph. See issue https://github.com/pytorch/executorch/pull/4627 for more details - exported_module = torch.export.export( - self.model, - self.example_inputs, - self.example_kwarg_inputs, - dynamic_shapes=dynamic_shape, - strict=True, - ) + # TODO: this is temporary, as qnn flow does not work with new, non-functional export IR. + # See issue: https://github.com/pytorch/executorch/issues/7373 + with patch.object( + torch._utils_internal, + "export_training_ir_rollout_check", + return_value=False, + ): + # TODO: this is temporary and export_for_training doesn't work with qnn either. We need a + # functional graph. See issue https://github.com/pytorch/executorch/pull/4627 for more details + exported_module = torch.export.export( + self.model, + self.example_inputs, + self.example_kwarg_inputs, + dynamic_shapes=dynamic_shape, + strict=True, + ) else: logging.info("Exporting with:") logging.info(f"inputs: {self.example_inputs}") @@ -354,15 +363,25 @@ def export_to_edge(self) -> "LLMEdgeManager": if self.pre_autograd_graph_module is None: # Run export() if it didn't run self.export() - self.edge_manager = export_to_edge( - self.pre_autograd_graph_module, # pyre-fixme[6] - self.example_inputs, - example_kwarg_inputs=self.example_kwarg_inputs, - dynamic_shapes=dynamic_shape, - edge_constant_methods=self.metadata, - edge_compile_config=edge_config, - verbose=self.verbose, - ) + + override_export_behaviour = contextlib.nullcontext() + if hasattr(self.args, "qnn") and self.args.qnn: + override_export_behaviour = patch.object( + torch._utils_internal, + "export_training_ir_rollout_check", + return_value=False, + ) + + with override_export_behaviour: + self.edge_manager = export_to_edge( + self.pre_autograd_graph_module, # pyre-fixme[6] + self.example_inputs, + example_kwarg_inputs=self.example_kwarg_inputs, + dynamic_shapes=dynamic_shape, + edge_constant_methods=self.metadata, + edge_compile_config=edge_config, + verbose=self.verbose, + ) return self def to_backend(self, partitioners: Optional[List[Partitioner]]) -> "LLMEdgeManager": diff --git a/extension/llm/modules/test/test_position_embeddings.py b/extension/llm/modules/test/test_position_embeddings.py index 039cc798b1..5e92f92df6 100644 --- a/extension/llm/modules/test/test_position_embeddings.py +++ b/extension/llm/modules/test/test_position_embeddings.py @@ -177,7 +177,6 @@ def test_tiled_token_positional_embedding_aoti(self): with tempfile.TemporaryDirectory() as tmpdir: path = torch._inductor.aoti_compile_and_package( tpe_ep, - (self.x, self.aspect_ratio), package_path=os.path.join(tmpdir, "tpe.pt2"), ) tpe_aoti = load_package(path) diff --git a/install_requirements.py b/install_requirements.py index ace2f34b70..c66e76abf6 100644 --- a/install_requirements.py +++ b/install_requirements.py @@ -112,22 +112,18 @@ def python_is_compatible(): # NOTE: If a newly-fetched version of the executorch repo changes the value of # NIGHTLY_VERSION, you should re-run this script to install the necessary # package versions. -NIGHTLY_VERSION = "dev20241112" +NIGHTLY_VERSION = "dev20241218" # The pip repository that hosts nightly torch packages. -TORCH_NIGHTLY_URL = "https://download.pytorch.org/whl/nightly/cpu" +TORCH_URL = "https://download.pytorch.org/whl/test/cpu" # pip packages needed by exir. EXIR_REQUIREMENTS = [ # Setting USE_PYTORCH_NIGHTLY to false to test the pinned PyTorch commit. Note # that we don't need to set any version number there because they have already # been installed on CI before this step, so pip won't reinstall them - f"torch==2.6.0.{NIGHTLY_VERSION}" if USE_PYTORCH_NIGHTLY else "torch", - ( - f"torchvision==0.20.0.{NIGHTLY_VERSION}" - if USE_PYTORCH_NIGHTLY - else "torchvision" - ), # For testing. + "torch==2.6.0" if USE_PYTORCH_NIGHTLY else "torch", + ("torchvision==0.21.0" if USE_PYTORCH_NIGHTLY else "torchvision"), # For testing. "typing-extensions", ] @@ -135,7 +131,7 @@ def python_is_compatible(): # TODO: Make each example publish its own requirements.txt EXAMPLES_REQUIREMENTS = [ "timm==1.0.7", - f"torchaudio==2.5.0.{NIGHTLY_VERSION}" if USE_PYTORCH_NIGHTLY else "torchaudio", + "torchaudio==2.6.0" if USE_PYTORCH_NIGHTLY else "torchaudio", "torchsr==1.0.4", "transformers==4.46.1", ] @@ -165,7 +161,7 @@ def python_is_compatible(): "install", *REQUIREMENTS_TO_INSTALL, "--extra-index-url", - TORCH_NIGHTLY_URL, + TORCH_URL, ], check=True, ) @@ -192,7 +188,7 @@ def python_is_compatible(): "--no-build-isolation", "-v", "--extra-index-url", - TORCH_NIGHTLY_URL, + TORCH_URL, ], check=True, )