Skip to content

Commit 6b9c467

Browse files
committed
Update
[ghstack-poisoned]
2 parents e72553e + 88dc7d0 commit 6b9c467

File tree

126 files changed

+2911
-3711
lines changed

Some content is hidden

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

126 files changed

+2911
-3711
lines changed

.ci/scripts/setup-windows.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
param (
2-
[string]$editable = $false
2+
[string]$editable = "false"
33
)
44

55
conda create --yes --quiet -n et python=3.12

.ci/scripts/test_torchao_huggingface_checkpoints.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env bash
2-
set -euo pipefail
2+
set -euxo pipefail
33

44
# -------------------------
55
# Args / flags

.ci/scripts/unittest-windows.ps1

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
11
param (
2-
[string]$editable = $false
2+
[string]$buildMode = "Release"
33
)
44

55
Set-PSDebug -Trace 1
66
$ErrorActionPreference = 'Stop'
77
$PSNativeCommandUseErrorActionPreference = $true
88

9-
# Run pytest with coverage
10-
# pytest -n auto --cov=./ --cov-report=xml
11-
pytest -v --full-trace -c pytest-windows.ini
9+
# Run native unit tests (via ctest)
10+
New-Item -Path "test-build" -ItemType Directory
11+
cd "test-build"
12+
13+
cmake .. --preset windows -B . -DEXECUTORCH_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=$buildMode
1214
if ($LASTEXITCODE -ne 0) {
13-
Write-Host "Pytest invocation was unsuccessful. Exit code: $LASTEXITCODE."
15+
Write-Host "CMake configuration was unsuccessful. Exit code: $LASTEXITCODE."
16+
exit $LASTEXITCODE
17+
}
18+
19+
cmake --build . -j8 --config $buildMode --verbose
20+
if ($LASTEXITCODE -ne 0) {
21+
Write-Host "CMake build was unsuccessful. Exit code: $LASTEXITCODE."
1422
exit $LASTEXITCODE
1523
}
24+
25+
ctest -j8 . --build-config $buildMode --output-on-failure -E "method_test|tensor_parser_test"
26+
if ($LASTEXITCODE -ne 0) {
27+
Write-Host "CTest run was unsuccessful. Exit code: $LASTEXITCODE."
28+
exit $LASTEXITCODE
29+
}
30+
31+
cd ..
32+
33+
# Run pytest
34+
pytest -v -c pytest-windows.ini
35+
if ($LASTEXITCODE -ne 0) {
36+
Write-Host "Pytest invocation was unsuccessful. Exit code: $LASTEXITCODE."
37+
exit $LASTEXITCODE
38+
}

.github/workflows/_unittest.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,15 @@ jobs:
6969
\$ErrorActionPreference = 'Stop'
7070
\$PSNativeCommandUseErrorActionPreference = \$true
7171
72-
.ci/scripts/setup-windows.ps1
72+
.ci/scripts/setup-windows.ps1 -editable "${{ inputs.editable }}"
73+
if (\$LASTEXITCODE -ne 0) {
74+
Write-Host "Setup failed. Exit code: \$LASTEXITCODE."
75+
exit \$LASTEXITCODE
76+
}
7377
74-
powershell .ci/scripts/unittest-windows.ps1 -editable "${{ inputs.editable }}"
78+
.ci/scripts/unittest-windows.ps1 -buildMode "${{ inputs.build-mode }}"
79+
if (\$LASTEXITCODE -ne 0) {
80+
Write-Host "Unit tests failed. Exit code: \$LASTEXITCODE."
81+
exit \$LASTEXITCODE
82+
}
7583
}"

.github/workflows/pull.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,7 @@ jobs:
779779
contents: read
780780
strategy:
781781
fail-fast: false
782+
if: false # TODO Re-enable after fixing timeouts (#14314)
782783
with:
783784
runner: linux.2xlarge
784785
docker-image: ci-image:executorch-ubuntu-22.04-gcc9

.github/workflows/trunk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1032,5 +1032,5 @@ jobs:
10321032
10331033
.ci/scripts/setup-windows.ps1
10341034
1035-
powershell .ci/scripts/test_model.ps1 -modelName ${{ matrix.model }} -backend ${{ matrix.backend }}
1035+
.ci/scripts/test_model.ps1 -modelName ${{ matrix.model }} -backend ${{ matrix.backend }}
10361036
}"

CMakeLists.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,13 @@ endif()
143143

144144
# -ffunction-sections -fdata-sections: breaks function and data into sections so
145145
# they can be properly gc'd. -s: strip symbol.
146-
set(CMAKE_CXX_FLAGS_RELEASE
147-
"-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS_RELEASE}"
148-
)
146+
if(WIN32)
147+
set(CMAKE_CXX_FLAGS_RELEASE "/Gy /Gw ${CMAKE_CXX_FLAGS_RELEASE}")
148+
else()
149+
set(CMAKE_CXX_FLAGS_RELEASE
150+
"-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS_RELEASE}"
151+
)
152+
endif()
149153
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
150154
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
151155
endif()

backends/arm/TARGETS

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ runtime.python_library(
2222
"common/debug.py",
2323
],
2424
deps = [
25-
"fbsource//third-party/tosa_tools/v0.80/serialization_lib/python/serializer:serializer",
26-
"fbsource//third-party/tosa_tools/v1.00/serialization_lib/python/serializer:serializer",
25+
"fbsource//third-party/tosa_tools:serializer",
2726
"//caffe2:torch",
2827
"//executorch/exir:lib",
2928
],
@@ -37,10 +36,8 @@ runtime.python_library(
3736
deps = [
3837
"fbsource//third-party/pypi/flatbuffers:flatbuffers",
3938
"fbsource//third-party/pypi/ml-dtypes:ml-dtypes",
40-
"fbsource//third-party/tosa_tools/v0.80/serialization_lib/python/serializer:serializer",
41-
"fbsource//third-party/tosa_tools/v1.00/serialization_lib/python/serializer:serializer",
42-
"fbsource//third-party/tosa_tools/v0.80/serialization_lib/python/tosa:tosa",
43-
"fbsource//third-party/tosa_tools/v1.00/serialization_lib/python/tosa:tosa",
39+
"fbsource//third-party/tosa_tools:serializer",
40+
"fbsource//third-party/tosa_tools:tosa",
4441
":process_node",
4542
"//executorch/exir/backend:compile_spec_schema",
4643
"//executorch/backends/arm/operators:lib",
@@ -83,8 +80,7 @@ runtime.python_library(
8380
name = "process_node",
8481
srcs = ["process_node.py"],
8582
deps = [
86-
"fbsource//third-party/tosa_tools/v0.80/serialization_lib/python/tosa:tosa",
87-
"fbsource//third-party/tosa_tools/v1.00/serialization_lib/python/tosa:tosa",
83+
"fbsource//third-party/tosa_tools:tosa",
8884
"//executorch/backends/arm/operators:node_visitor",
8985
"//executorch/backends/arm/tosa:mapping",
9086
"//executorch/backends/arm/tosa:quant_utils",

backends/arm/arm_vela.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,19 @@
2525
# per-io structs to simplify runtime use.
2626
def vela_bin_pack_io(prefix, data):
2727
vela_input_shapes = data[prefix + "_shape"]
28+
# Vela input/output shape is fixed to 6D
29+
vela_io_shape_dims = 6
2830

2931
ios = struct.pack("<i", len(vela_input_shapes))
3032
for i in range(len(vela_input_shapes)):
3133
io_shape = vela_input_shapes[i]
3234
io_elem_size = data[prefix + "_elem_size"][i]
3335
io_offset = data[prefix + "_offset"][i]
3436
io_region = data[prefix + "_region"][i]
35-
assert len(io_shape) <= 4
36-
inp_pad = io_shape.tolist() + [0] * (4 - len(io_shape))
37+
assert len(io_shape) == vela_io_shape_dims
38+
inp_pad = io_shape.tolist()
3739
io_struct = struct.pack(
38-
"<iiiiiii", *inp_pad, io_elem_size, io_offset, io_region
40+
"<iiiiiiiii", *inp_pad, io_elem_size, io_offset, io_region
3941
)
4042
ios += io_struct
4143
return ios

backends/arm/debug/TARGETS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ runtime.python_library(
88
"schema.py",
99
],
1010
deps = [
11-
"fbsource//third-party/tosa_tools/v1.00/serialization_lib/python/serializer:serializer",
11+
"fbsource//third-party/tosa_tools:serializer",
1212
"//caffe2:torch",
1313
],
1414
)

0 commit comments

Comments
 (0)