Skip to content

Commit dfaf761

Browse files
authored
Merge branch 'release/1.1' into android-1.1.0-rc1
2 parents a8e33ad + 17adba1 commit dfaf761

70 files changed

Lines changed: 1284 additions & 338 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.ci/docker/common/install_pytorch.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,11 @@ source "$(dirname "${BASH_SOURCE[0]}")/utils.sh"
1212

1313
install_domains() {
1414
echo "Install torchvision and torchaudio"
15-
pip_install --no-build-isolation --user "git+https://github.com/pytorch/audio.git@${TORCHAUDIO_VERSION}"
16-
pip_install --no-build-isolation --user "git+https://github.com/pytorch/vision.git@${TORCHVISION_VERSION}"
15+
pip_install --force-reinstall torchvision==0.25.0 torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cpu
1716
}
1817

1918
install_pytorch_and_domains() {
20-
pip_install --force-reinstall torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0 torchao==0.15.0 --index-url https://download.pytorch.org/whl/test/cpu
19+
pip_install --force-reinstall torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0 torchao==0.15.0 --index-url https://download.pytorch.org/whl/cpu
2120
}
2221

2322
install_pytorch_and_domains

.ci/scripts/benchmark_tooling/get_benchmark_analysis_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ class BenchmarkFilters:
104104

105105
BASE_URLS = {
106106
"local": "http://localhost:3000",
107-
"prod": "https://hud.pytorch.org",
107+
"prod": "https://hud.pytorch.org", # @lint-ignore
108108
}
109109

110110

.ci/scripts/setup-linux.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,8 @@ echo "Build tool: $BUILD_TOOL, Mode: $BUILD_MODE"
1717
# have already been installed, so we use PyTorch build from source here instead
1818
# of nightly. This allows CI to test against latest commits from PyTorch
1919
if [[ "${EDITABLE:-false}" == "true" ]]; then
20-
install_executorch --use-pt-pinned-commit --editable
20+
install_executorch --editable
2121
else
22-
install_executorch --use-pt-pinned-commit
22+
install_executorch
2323
fi
2424
build_executorch_runner "${BUILD_TOOL}" "${BUILD_MODE}"
25-
26-
if [[ "${GITHUB_BASE_REF:-}" == *main* || "${GITHUB_BASE_REF:-}" == *gh* ]]; then
27-
do_not_use_nightly_on_ci
28-
fi

.ci/scripts/test_lora.sh

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -117,18 +117,18 @@ else
117117
echo "Expected result prefix: ${EXPECTED_PREFIX}"
118118
echo "Actual result: ${RESULT}"
119119
echo "Test 2: Failure; results not the same"
120-
# cleanup_files
120+
cleanup_files
121121
exit 1
122122
fi
123123

124124
# Confirm file sizes.
125125
FOUNDATION_SIZE=$(stat -c%s qwen_foundation.ptd)
126126
if [[ $FOUNDATION_SIZE -le "2400000000" ]]; then
127-
echo "qwen_foundation_q.ptd size is: $FOUNDATION_SIZE"
127+
echo "qwen_foundation_q.ptd size is: $FOUNDATION_SIZE"
128128
else
129-
echo "qwen_foundation_q.ptd size: $FOUNDATION_SIZE is greater than threshold 2.4GB"
130-
cleanup_files
131-
exit 1
129+
echo "qwen_foundation_q.ptd size: $FOUNDATION_SIZE is greater than threshold 2.4GB"
130+
cleanup_files
131+
exit 1
132132
fi
133133

134134
### QUANTIZATION & PROGRAM DATA SEPARATION ###
@@ -161,13 +161,19 @@ $PYTHON_EXECUTABLE -m extension.llm.export.export_llm \
161161
+quantization.qmode="8da4w" \
162162
+quantization.group_size=32
163163

164-
# Confirm that qwen_foundation_lora_q.ptd and qwen_foundation_q.ptd are the same.
165-
if diff -q qwen_foundation_lora_q.ptd qwen_foundation_q.ptd > /dev/null; then
166-
echo "qwen_foundation_lora_q.ptd and qwen_foundation_q.ptd are identical."
164+
# Confirm that qwen_foundation_lora_q.ptd and qwen_foundation_q.ptd are the same size.
165+
# TODO(lfq): confirm they are the same (deserialize and check fields)
166+
size1=$(stat -c%s qwen_foundation_lora_q.ptd)
167+
size2=$(stat -c%s qwen_foundation_q.ptd)
168+
169+
if [ "$size1" -eq "$size2" ]; then
170+
echo "qwen_foundation_lora_q.ptd and qwen_foundation_q.ptd are the same size: $size1."
167171
else
168-
echo "qwen_foundation_lora_q.ptd and qwen_foundation_q.ptd are not identical."
169-
cleanup_files
170-
exit 1
172+
echo "qwen_foundation_lora_q.ptd and qwen_foundation_q.ptd have different sizes."
173+
ls -la qwen_foundation_lora_q.ptd
174+
ls -la qwen_foundation_q.ptd
175+
cleanup_files
176+
exit 1
171177
fi
172178

173179
# Run quantized qwen model (no adapter).
@@ -214,11 +220,11 @@ fi
214220
# Confirm qwen_foundation_q.ptd file size.
215221
FOUNDATION_Q_SIZE=$(stat -c%s qwen_foundation_q.ptd)
216222
if [[ $FOUNDATION_Q_SIZE -le "1000000000" ]]; then
217-
echo "qwen_foundation_q.ptd size is: $FOUNDATION_Q_SIZE"
223+
echo "qwen_foundation_q.ptd size is: $FOUNDATION_Q_SIZE"
218224
else
219-
echo "qwen_foundation_q.ptd size: $FOUNDATION_Q_SIZE is greater than threshold 1GB"
220-
cleanup_files
221-
exit 1
225+
echo "qwen_foundation_q.ptd size: $FOUNDATION_Q_SIZE is greater than threshold 1GB"
226+
cleanup_files
227+
exit 1
222228
fi
223229

224230
cleanup_files

.ci/scripts/test_wheel_package_qnn.sh

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -139,25 +139,12 @@ run_core_tests () {
139139
echo "=== [$LABEL] Installing wheel & deps ==="
140140
"$PIPBIN" install --upgrade pip
141141
"$PIPBIN" install "$WHEEL_FILE"
142-
TORCH_VERSION=$(
143-
"$PYBIN" - <<'PY'
144-
import runpy
145-
module_vars = runpy.run_path("torch_pin.py")
146-
print(module_vars["TORCH_VERSION"])
147-
PY
148-
)
142+
TORCH_VERSION=2.10.0
149143

150-
NIGHTLY_VERSION=$(
151-
"$PYBIN" - <<'PY'
152-
import runpy
153-
module_vars = runpy.run_path("torch_pin.py")
154-
print(module_vars["NIGHTLY_VERSION"])
155-
PY
156-
)
157-
echo "=== [$LABEL] Install torch==${TORCH_VERSION}.${NIGHTLY_VERSION} ==="
144+
echo "=== [$LABEL] Install torch==${TORCH_VERSION} ==="
158145

159146
# Install torchao based on the pinned PyTorch version
160-
"$PIPBIN" install torch=="${TORCH_VERSION}.${NIGHTLY_VERSION}" --index-url "https://download.pytorch.org/whl/nightly/cpu"
147+
"$PIPBIN" install torch=="${TORCH_VERSION}"
161148
"$PIPBIN" install wheel
162149

163150
# Install torchao based on the pinned commit from third-party/ao submodule

.ci/scripts/tests/test_get_benchmark_analysis_data.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,9 @@ def setUp(self):
179179
def test_init(self):
180180
"""Test initialization of ExecutorchBenchmarkFetcher."""
181181
self.assertEqual(self.fetcher.env, "prod")
182-
self.assertEqual(self.fetcher.base_url, "https://hud.pytorch.org")
182+
self.assertEqual(
183+
self.fetcher.base_url, "https://hud.pytorch.org" # @lint-ignore
184+
)
183185
self.assertEqual(
184186
self.fetcher.query_group_table_by_fields,
185187
["model", "backend", "device", "arch"],
@@ -193,7 +195,9 @@ def test_init(self):
193195

194196
def test_get_base_url(self):
195197
"""Test _get_base_url method."""
196-
self.assertEqual(self.fetcher._get_base_url(), "https://hud.pytorch.org")
198+
self.assertEqual(
199+
self.fetcher._get_base_url(), "https://hud.pytorch.org" # @lint-ignore
200+
)
197201

198202
# Test with local environment
199203
local_fetcher = self.module.ExecutorchBenchmarkFetcher(env="local")

CONTRIBUTING.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ executorch
2626
│ ├── <a href="backends/apple">apple</a> - Apple-specific backends.
2727
│ │ ├── <a href="backends/apple/coreml">coreml</a> - CoreML backend for Apple devices. See <a href="docs/source/backends/coreml/coreml-overview.md">doc</a>.
2828
│ │ └── <a href="backends/apple/mps">mps</a> - Metal Performance Shaders backend for Apple devices. See <a href="docs/source/backends/mps/mps-overview.md">doc</a>.
29-
│ ├── <a href="backends/arm">arm</a> - ARM architecture backends. See <a href="docs/source/backends-arm-ethos-u.md">doc</a>.
29+
│ ├── <a href="backends/arm">arm</a> - ARM architecture backends. See <a href="docs/source/backends/arm-ethos-u/arm-ethos-u-overview.md">doc</a>.
3030
│ ├── <a href="backends/cadence">cadence</a> - Cadence-specific backends. See <a href="docs/source/backends-cadence.md">doc</a>.
3131
│ ├── <a href="backends/example">example</a> - Example backend implementations.
3232
│ ├── <a href="backends/mediatek">mediatek</a> - MediaTek-specific backends. See <a href="docs/source/backends-mediatek.md">doc</a>.
@@ -324,7 +324,8 @@ the code you're modifying and find an author who has more context. Ask them
324324
for their help in the PR comments.
325325

326326
### Continuous Integration
327-
See https://hud.pytorch.org/hud/pytorch/executorch/main for the current state of
327+
328+
See https://hud.pytorch.org/hud/pytorch/executorch/main for the current state of <!-- @lint-ignore -->
328329
the CI (continuous integration) jobs. If `main` is broken, consider rebasing
329330
your PR onto the `release/1.1` branch, which points to the most recent
330331
all-green commit.

backends/arm/CMakeLists.txt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2023, 2025 Arm Limited and/or its affiliates.
1+
# Copyright 2023, 2025-2026 Arm Limited and/or its affiliates.
22
#
33
# This source code is licensed under the BSD-style license found in the
44
# LICENSE file in the root directory of this source tree.
@@ -52,10 +52,8 @@ if(EXECUTORCH_BUILD_VGF)
5252
set(VULKAN_HEADERS_PATH ${VULKAN_THIRD_PARTY_PATH}/Vulkan-Headers/include)
5353
set(VOLK_HEADERS_PATH ${VULKAN_THIRD_PARTY_PATH}/volk)
5454

55-
if(APPLE
56-
OR CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64|aarch64)$"
57-
OR EXISTS
58-
"${EXECUTORCH_ROOT}/examples/arm/arm-scratch/ml-sdk-for-vulkan-manifest/"
55+
if(EXISTS
56+
"${EXECUTORCH_ROOT}/examples/arm/arm-scratch/ml-sdk-for-vulkan-manifest/"
5957
)
6058
message(STATUS "libvgf sourced from local scratch tree")
6159

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# Copyright 2025 Arm Limited and/or its affiliates.
1+
# Copyright 2025-2026 Arm Limited and/or its affiliates.
22
#
33
# This source code is licensed under the BSD-style license found in the
44
# LICENSE file in the root directory of this source tree.
55

6-
ai_ml_emulation_layer_for_vulkan == 0.7.0
7-
ai_ml_sdk_model_converter == 0.7.0
8-
ai_ml_sdk_vgf_library == 0.7.0
6+
ai_ml_emulation_layer_for_vulkan == 0.8.0
7+
ai_ml_sdk_model_converter == 0.8.0
8+
ai_ml_sdk_vgf_library == 0.8.0

backends/openvino/quantizer/quantizer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ def _get_unified_scales_root_quantizer_id(
295295
"""
296296
Identifies the earliest quantizer node ID based on the corresponding `nncf_node.node_id`
297297
in the given NNCFGraph. This is required by the `_get_obs_or_fq_map` function.
298-
Refer to: https://github.com/pytorch/pytorch/blob/main/torch/ao/quantization/pt2e/prepare.py#L291
298+
Refer to: https://github.com/pytorch/ao/blob/main/torchao/quantization/pt2e/prepare.py
299299
300300
:param nncf_graph: The NNCFGraph instance.
301301
:param quantizer_ids: The list of quantizer IDs to evaluate.

0 commit comments

Comments
 (0)