Skip to content

Commit cb3db9f

Browse files
authored
Merge branch 'main' into gasoonjia/drop-cuda-12.6
2 parents 0cc0ce7 + 1c7e394 commit cb3db9f

299 files changed

Lines changed: 24572 additions & 2206 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/scripts/test-native.sh‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@ case "${component}" in
2020
test_regex='^native_runtime_test$'
2121
;;
2222
cpu)
23+
# The CPU plan test covers ETDump tracing, including operator shapes.
2324
cmake_args+=(
2425
-DEXECUTORCH_BUILD_NATIVE_CPU=ON
2526
-DEXECUTORCH_BUILD_XNNPACK=ON
2627
-DEXECUTORCH_BUILD_KERNELS_OPTIMIZED=ON
2728
-DEXECUTORCH_BUILD_NATIVE_VISION_RUNNER=ON
29+
-DEXECUTORCH_BUILD_DEVTOOLS=ON
30+
-DEXECUTORCH_ENABLE_EVENT_TRACER=ON
31+
-DEXECUTORCH_CPU_XNNPACK_OPERATOR_SHAPES=ON
2832
)
29-
targets+=(native_cpu_engine_test run_classification_cpu)
30-
test_regex='^native_cpu_engine_test$'
33+
targets+=(native_cpu_engine_test cpu_plan_test run_classification_cpu)
34+
test_regex='^(native_cpu_engine|cpu_plan)_test$'
3135
;;
3236
ggml)
3337
cmake_args+=(
@@ -68,7 +72,7 @@ cmake -S . -B "${build_dir}" -G Ninja \
6872
cmake --build "${build_dir}" \
6973
--parallel "${build_jobs}" \
7074
--target "${targets[@]}"
71-
ctest --test-dir "${build_dir}/backends/native/test" \
75+
ctest --test-dir "${build_dir}" \
7276
-R "${test_regex}" --output-on-failure --no-tests=error --timeout 120
7377

7478
if [[ "${component}" == "ggml" ]]; then

‎.claude/faq.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Error codes defined in `runtime/core/error.h`.
77
|------|------|--------------|
88
| 0x10 | InvalidArgument | Input shape mismatch - inputs don't match export shapes. Use dynamic shapes if needed. |
99
| 0x14 | OperatorMissing | Selective build missing operator. Regenerate `et_operator_library` from current model. |
10-
| 0x20 | NotFound | Missing backend. Link with `--whole-archive`: `-Wl,--whole-archive libxnnpack_backend.a -Wl,--no-whole-archive` |
10+
| 0x20 | NotFound | Missing backend. Link with `--whole-archive`: `-Wl,--whole-archive libxnnpack_backend.a -Wl,--no-whole-archive libxnnpack_profiler.a` |
1111

1212
## Export Issues
1313

‎.claude/skills/building/SKILL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ Most commonly needed flags (full list: `CMakeLists.txt`):
202202
| Artifact | Location |
203203
|----------|----------|
204204
| Core runtime | `cmake-out/lib/libexecutorch.a` |
205-
| XNNPACK backend | `cmake-out/lib/libxnnpack_backend.a` |
205+
| XNNPACK backend | `cmake-out/lib/libxnnpack_backend.a` and `cmake-out/lib/libxnnpack_profiler.a` |
206206
| executor_runner | `cmake-out/executor_runner` (Ninja/Make) or `cmake-out/Release/executor_runner` (Xcode) |
207207
| Model runners | `cmake-out/examples/models/<model>/<runner>` |
208208

‎.github/workflows/_test_cortex_m_ops.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,6 @@ jobs:
5959
# op set, implementation tests check FVP numerics. Both are parametrized
6060
# over --cortex-m-target, so a future target-dependent lowering change is
6161
# caught here. (cortex-m55 runs on pull via the full-suite job.)
62-
pytest --config-file=backends/arm/test/pytest.ini \
62+
pytest -c backends/arm/test/pytest.ini \
6363
backends/cortex_m/test/ops \
6464
--cortex-m-target=${{ matrix.target }}

‎.github/workflows/cuda.yml‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ on:
4848
- exir/passes/insert_write_back_for_buffers_pass.py
4949
- exir/passes/propagate_device_config.py
5050
- exir/passes/propagate_device_pass.py
51+
- exir/passes/replace_complex_with_real_pass.py
5152
workflow_dispatch:
5253
inputs:
5354
models:
@@ -476,9 +477,9 @@ jobs:
476477
unittest-cuda:
477478
name: unittest-cuda (${{ matrix.shard }})
478479
needs: [changed-files, run-decision]
479-
# This job runs the pybindings device test and the device placement test,
480-
# so it also has to fire on the pybindings and device pass paths the
481-
# workflow filter lists.
480+
# This job runs the pybindings device test, the device placement test and
481+
# the complex number tests, so it also has to fire on the pybindings and
482+
# exir pass paths the workflow filter lists.
482483
if: |
483484
contains(needs.changed-files.outputs.changed-files, 'backends/cuda') ||
484485
contains(needs.changed-files.outputs.changed-files, 'backends/aoti') ||
@@ -493,6 +494,7 @@ jobs:
493494
contains(needs.changed-files.outputs.changed-files, 'exir/passes/insert_write_back_for_buffers_pass.py') ||
494495
contains(needs.changed-files.outputs.changed-files, 'exir/passes/propagate_device_config.py') ||
495496
contains(needs.changed-files.outputs.changed-files, 'exir/passes/propagate_device_pass.py') ||
497+
contains(needs.changed-files.outputs.changed-files, 'exir/passes/replace_complex_with_real_pass.py') ||
496498
needs.run-decision.outputs.is-full-run == 'true'
497499
# kernel: Triton kernels and their autotuning. system: lowering passes, op
498500
# dispatch, export/runtime, and model tests. Together they do not fit the

‎.github/workflows/pull.yml‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,7 @@ jobs:
859859
backends/cortex_m/test/build_test_runner.sh
860860
861861
# To run cortex_m tests
862-
pytest --config-file=backends/arm/test/pytest.ini backends/cortex_m/test
862+
pytest -c backends/arm/test/pytest.ini backends/cortex_m/test
863863
864864
android:
865865
uses: ./.github/workflows/_android.yml
@@ -2084,7 +2084,8 @@ jobs:
20842084
# Custom operator tests
20852085
PYTHON_EXECUTABLE=python bash backends/vulkan/test/ops/benchmark_v2/build.sh
20862086
for op in binary/add gemm/linear/qw/q8csw convolution/qw/q8csw gemm/linear/qw/q4gsw \
2087-
quantization/choose_qparams_per_row quantize/q8ta clone/q8ta binary/q8ta; do
2087+
quantization/choose_qparams_per_row quantize/q8ta clone/q8ta binary/q8ta \
2088+
warp; do
20882089
./cmake-out/backends/vulkan/test/ops/benchmark_v2/etvk_ops_bench --validation_only \
20892090
--config=backends/vulkan/test/ops/benchmark_v2/operators/${op}/cases/correctness.json
20902091
done

‎.github/workflows/test-native.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,15 @@ on:
3333
- backends/vulkan_shared/runtime/**
3434
- backends/xnnpack/CMakeLists.txt
3535
- backends/xnnpack/cmake/**
36+
- backends/xnnpack/runtime/profiling/**
3637
- backends/xnnpack/third-party/FXdiv
3738
- backends/xnnpack/third-party/XNNPACK
3839
- backends/xnnpack/third-party/cpuinfo
3940
- backends/xnnpack/third-party/pthreadpool
4041
- examples/models/llama/tokenizer/**
4142
- extension/llm/tokenizers
4243
- extension/llm/export/**
44+
- devtools/etdump/**
4345
- exir/**
4446
- configurations/**
4547
- extension/memory_allocator/**

‎.github/workflows/trunk.yml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1143,6 +1143,9 @@ jobs:
11431143
trap 'bash .ci/scripts/cleanup-samsung-linux-deps.sh' EXIT TERM INT
11441144
source .ci/scripts/setup-samsung-linux-deps.sh
11451145
1146+
# Graph-level pass unit tests (no device needed)
1147+
python -m unittest discover -s backends/samsung/test/passes -p "test_*.py"
1148+
11461149
# Check if device was reserved
11471150
if [[ "${DEVICE_ACQUIRED:-0}" != "1" ]]; then
11481151
echo "::warning::Skipping tests - no Samsung device available"

‎.github/workflows/vulkan.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ jobs:
123123
# selected above.
124124
PYTHON_EXECUTABLE=python bash backends/vulkan/test/ops/benchmark_v2/build.sh
125125
for op in binary/add gemm/linear/qw/q8csw convolution/qw/q8csw gemm/linear/qw/q4gsw \
126-
quantization/choose_qparams_per_row quantize/q8ta clone/q8ta binary/q8ta; do
126+
quantization/choose_qparams_per_row quantize/q8ta clone/q8ta binary/q8ta \
127+
warp; do
127128
./cmake-out/backends/vulkan/test/ops/benchmark_v2/etvk_ops_bench --validation_only \
128129
--config=backends/vulkan/test/ops/benchmark_v2/operators/${op}/cases/correctness.json
129130
done

‎.lintrunner.toml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,8 @@ exclude_patterns = [
397397
# muse_glimmer is a symlink to this directory; the linter resolves it and
398398
# then fails on a directory.
399399
'examples/models/muse-glimmer',
400+
# src/executorch/frontends is a symlink to this directory.
401+
'frontends',
400402
'backends/cadence/utils/FACTO',
401403
'examples/cuda',
402404
'examples/qualcomm',

0 commit comments

Comments
 (0)