Skip to content

Commit 06dc80b

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents d5f4910 + 3a6314e commit 06dc80b

File tree

83 files changed

+1985
-616
lines changed

Some content is hidden

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

83 files changed

+1985
-616
lines changed

.ci/scripts/export_model_artifact.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ if [ "$MODEL_NAME" = "voxtral_realtime" ]; then
358358
STREAMING_ARG=""
359359
PREPROCESSOR_ARGS="--feature_size 128 --output_file ${OUTPUT_DIR}/preprocessor.pte"
360360
if [ "$USE_STREAMING" = "true" ]; then
361-
STREAMING_ARG="--streaming"
361+
STREAMING_ARG="--streaming --sliding-window 2048"
362362
PREPROCESSOR_ARGS="$PREPROCESSOR_ARGS --streaming"
363363
else
364364
PREPROCESSOR_ARGS="$PREPROCESSOR_ARGS --stack_output --max_audio_len 300"
@@ -424,6 +424,7 @@ if [ "$MODEL_NAME" = "qwen3_5_moe" ]; then
424424
test -f "${OUTPUT_DIR}/model.pte"
425425
test -f "${OUTPUT_DIR}/aoti_cuda_blob.ptd"
426426
ls -al "${OUTPUT_DIR}"
427+
427428
exit 0
428429
fi
429430

.ci/scripts/wheel/test_linux.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,25 @@
1111
from examples.models import Backend, Model
1212

1313
if __name__ == "__main__":
14-
# On Linux x86_64 the wheel is built with the Qualcomm backend.
15-
# Verify that it was registered correctly.
16-
if platform.system() == "Linux" and platform.machine() in ("x86_64", "amd64"):
14+
if platform.system() == "Linux":
1715
from executorch.extension.pybindings.portable_lib import (
1816
_get_registered_backend_names,
1917
)
2018

2119
registered = _get_registered_backend_names()
20+
21+
# QNN backend is only available on x86_64.
22+
if platform.machine() in ("x86_64", "amd64"):
23+
assert (
24+
"QnnBackend" in registered
25+
), f"QnnBackend not found in registered backends: {registered}"
26+
print("✓ QnnBackend is registered")
27+
28+
# OpenVINO backend is available on all Linux architectures.
2229
assert (
23-
"QnnBackend" in registered
24-
), f"QnnBackend not found in registered backends: {registered}"
25-
print("✓ QnnBackend is registered")
30+
"OpenvinoBackend" in registered
31+
), f"OpenvinoBackend not found in registered backends: {registered}"
32+
print("✓ OpenvinoBackend is registered")
2633

2734
test_base.run_tests(
2835
model_tests=[

.ci/scripts/wheel/test_linux_aarch64.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@
1212
# coremltools does not support linux aarch64 yet and install from the source fails on runtime
1313
# https://github.com/apple/coremltools/issues/1254
1414
# https://github.com/apple/coremltools/issues/2195
15+
16+
from executorch.extension.pybindings.portable_lib import (
17+
_get_registered_backend_names,
18+
)
19+
20+
registered = _get_registered_backend_names()
21+
22+
# OpenVINO backend uses dlopen (no build-time SDK dependency), so it
23+
# is compiled into the wheel on all Linux architectures.
24+
assert (
25+
"OpenvinoBackend" in registered
26+
), f"OpenvinoBackend not found in registered backends: {registered}"
27+
print("✓ OpenvinoBackend is registered")
28+
1529
test_base.run_tests(
1630
model_tests=[
1731
test_base.ModelTest(

.github/workflows/android-release-artifacts.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ jobs:
165165
contents: read
166166
steps:
167167
- name: configure aws credentials
168-
uses: aws-actions/configure-aws-credentials@v1.7.0
168+
uses: aws-actions/configure-aws-credentials@v4
169169
with:
170170
role-to-assume: arn:aws:iam::308535385114:role/gha_executorch_upload-frameworks-android
171171
aws-region: us-east-1

.github/workflows/apple.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ jobs:
239239
python-version: '3.11'
240240
cache: pip
241241
- name: configure aws credentials
242-
uses: aws-actions/configure-aws-credentials@v1.7.0
242+
uses: aws-actions/configure-aws-credentials@v4
243243
with:
244244
role-to-assume: arn:aws:iam::308535385114:role/gha_executorch_upload-frameworks-ios
245245
aws-region: us-east-1

.github/workflows/cuda-windows.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,11 @@ jobs:
4848
- model_repo: "nvidia"
4949
model_name: "parakeet-tdt"
5050
quant: "quantized-int4-weight-only"
51-
- model_repo: "nvidia"
52-
model_name: "diar_streaming_sortformer_4spk-v2"
53-
quant: "non-quantized"
51+
# TODO: sortformer produces 0 segments on Windows after D97788666.
52+
# Temporarily disabled until root cause is debugged.
53+
# - model_repo: "nvidia"
54+
# model_name: "diar_streaming_sortformer_4spk-v2"
55+
# quant: "non-quantized"
5456
- model_repo: "mistralai"
5557
model_name: "Voxtral-Mini-4B-Realtime-2602"
5658
quant: "quantized-int4-tile-packed"
@@ -129,9 +131,11 @@ jobs:
129131
- model_repo: "nvidia"
130132
model_name: "parakeet-tdt"
131133
quant: "quantized-int4-weight-only"
132-
- model_repo: "nvidia"
133-
model_name: "diar_streaming_sortformer_4spk-v2"
134-
quant: "non-quantized"
134+
# TODO: sortformer produces 0 segments on Windows after D97788666.
135+
# Temporarily disabled until root cause is debugged.
136+
# - model_repo: "nvidia"
137+
# model_name: "diar_streaming_sortformer_4spk-v2"
138+
# quant: "non-quantized"
135139
- model_repo: "mistralai"
136140
model_name: "Voxtral-Mini-4B-Realtime-2602"
137141
quant: "quantized-int4-tile-packed"

Makefile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -296,18 +296,21 @@ voxtral_realtime-cuda:
296296
@echo " Binary: cmake-out/examples/models/voxtral_realtime/voxtral_realtime_runner"
297297

298298
silero-vad-cpu:
299-
@echo "==> Building and installing ExecuTorch..."
300-
cmake --workflow --preset llm-release
301-
@echo "==> Building Silero VAD runner (CPU)..."
299+
@echo "==> Configuring and installing ExecuTorch (without LLM runner)..."
300+
cmake --preset llm-release -DEXECUTORCH_BUILD_EXTENSION_LLM_RUNNER=OFF
301+
cmake --build cmake-out --parallel "$$(sysctl -n hw.ncpu)"
302+
cmake --install cmake-out
303+
@echo "==> Building Silero VAD runners (CPU)..."
302304
cmake -DCMAKE_BUILD_TYPE=Release \
303305
-DCMAKE_FIND_ROOT_PATH=$(CURDIR)/cmake-out \
304306
-DCMAKE_PREFIX_PATH=$(CURDIR)/cmake-out \
305307
-S examples/models/silero_vad \
306308
-B cmake-out/examples/models/silero_vad
307-
cmake --build cmake-out/examples/models/silero_vad --target silero_vad_runner
309+
cmake --build cmake-out/examples/models/silero_vad --target silero_vad_runner silero_vad_stream_runner
308310
@echo ""
309311
@echo "✓ Build complete!"
310312
@echo " Binary: cmake-out/examples/models/silero_vad/silero_vad_runner"
313+
@echo " Binary: cmake-out/examples/models/silero_vad/silero_vad_stream_runner"
311314

312315
llama-cpu:
313316
@echo "==> Building and installing ExecuTorch..."

README-wheel.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,18 @@ PyTorch programs.
66

77
The `executorch` pip package is in beta.
88
* Supported python versions: 3.10, 3.11, 3.12, 3.13
9-
* Compatible systems: Linux x86_64, macOS aarch64
9+
* Compatible systems: Linux x86_64, Linux aarch64, macOS aarch64
1010

1111
The prebuilt `executorch.runtime` module included in this package provides a way
1212
to run ExecuTorch `.pte` files, with some restrictions:
1313
* Only [core ATen operators](docs/source/ir-ops-set-definition.md) are linked into the prebuilt module
1414
* Only the [XNNPACK backend delegate](docs/source/backends/xnnpack/xnnpack-overview.md) is linked into the prebuilt module.
1515
* \[macOS only] [Core ML](docs/source/backends/coreml/coreml-overview.md) and [MPS](docs/source/backends/mps/mps-overview.md) backend
1616
are also linked into the prebuilt module.
17+
* \[Linux x86_64] [QNN](docs/source/backends-qualcomm.md) backend is linked into the prebuilt module.
18+
* \[Linux] [OpenVINO](docs/source/build-run-openvino.md) backend is also linked into the
19+
prebuilt module. OpenVINO requires the runtime to be installed separately:
20+
`pip install executorch[openvino]`
1721

1822
Please visit the [ExecuTorch website](https://pytorch.org/executorch) for
1923
tutorials and documentation. Here are some starting points:

backends/arm/requirements-arm-tosa.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ tosa-adapter-model-explorer == 0.1.0
99
ai-edge-model-explorer >= 0.1.16
1010
# NOTE: Will be removed when tosa-tools is installed via pypi
1111
pybind11 == 2.10.4
12-
pytest-timeout
12+
pytest-timeout == 2.4.0

backends/arm/test/ops/test_conv2d.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,7 @@ def _get_dtype_count(model: torch.nn.Module):
487487
"test_data",
488488
test_data_INT,
489489
)
490+
@common.SkipIfNoModelConverter
490491
def test_convolution_2d_vgf_quant_a8w4(test_data):
491492
model, per_channel_quantization = test_data()
492493
pipeline = VgfPipeline[input_t](

0 commit comments

Comments
 (0)