Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
94c4f20
Update
GregoryComer Aug 8, 2025
352c059
Update
GregoryComer Aug 8, 2025
d8f8b12
Update
GregoryComer Aug 8, 2025
8e8b78c
Update
GregoryComer Aug 8, 2025
9cfd2b6
Update
GregoryComer Aug 8, 2025
5b1330b
Update
GregoryComer Aug 8, 2025
378fcdd
Update
GregoryComer Aug 9, 2025
db12da0
Update
GregoryComer Aug 9, 2025
4ee5cd0
Update
GregoryComer Aug 9, 2025
b79f2e1
Update
GregoryComer Aug 9, 2025
0abe592
Update
GregoryComer Aug 9, 2025
34a1470
Update
GregoryComer Aug 9, 2025
923f43e
Update
GregoryComer Aug 9, 2025
1c0407a
Update
GregoryComer Aug 9, 2025
3b79e9d
Update
GregoryComer Aug 10, 2025
fc34c14
Update
GregoryComer Aug 10, 2025
fa3793a
Update
GregoryComer Aug 10, 2025
52b9ff1
Update
GregoryComer Aug 10, 2025
c045a60
Update
GregoryComer Aug 10, 2025
6e6ab75
Update
GregoryComer Aug 10, 2025
783cb51
Update
GregoryComer Aug 14, 2025
0dc6f36
Update
GregoryComer Aug 14, 2025
5fa2464
Update
GregoryComer Aug 14, 2025
597dddd
Update
GregoryComer Aug 14, 2025
d78731e
Update
GregoryComer Aug 14, 2025
7b45dac
Update
GregoryComer Aug 14, 2025
6e80b0c
Update
GregoryComer Aug 14, 2025
a4f0cd5
Update
GregoryComer Aug 14, 2025
4540ae8
Update
GregoryComer Aug 14, 2025
2d2fbc2
Update
GregoryComer Aug 14, 2025
d6a6fe4
Update
GregoryComer Aug 15, 2025
0411181
Update
GregoryComer Aug 15, 2025
b9fc97f
Update
GregoryComer Aug 15, 2025
4919b55
Update
GregoryComer Aug 15, 2025
b35a1ed
Update
GregoryComer Aug 15, 2025
53e6ba1
Update
GregoryComer Aug 19, 2025
4996713
Update
GregoryComer Aug 19, 2025
0fa419d
Update
GregoryComer Aug 19, 2025
1d7b71d
Update
GregoryComer Aug 19, 2025
c1b7820
Update
GregoryComer Aug 19, 2025
cd7fd0e
Update
GregoryComer Aug 19, 2025
e346888
Update
GregoryComer Aug 19, 2025
28605ca
Update
GregoryComer Aug 19, 2025
4d86231
Update
GregoryComer Aug 19, 2025
77d88d5
Update
GregoryComer Aug 20, 2025
efe8513
Update
GregoryComer Aug 20, 2025
35815db
Update
GregoryComer Aug 21, 2025
35e6070
Update
GregoryComer Aug 21, 2025
c71aace
Update
GregoryComer Aug 21, 2025
9fbb993
Update
GregoryComer Aug 21, 2025
395d2d4
Update
GregoryComer Aug 21, 2025
a2de891
Update
GregoryComer Aug 21, 2025
1423edb
Update
GregoryComer Aug 21, 2025
ce55ae8
Update
GregoryComer Aug 21, 2025
57d2e24
Update
GregoryComer Aug 21, 2025
4404db8
Update
GregoryComer Aug 21, 2025
c891c21
Update
GregoryComer Aug 21, 2025
68b93ce
Update
GregoryComer Aug 21, 2025
e0a7a1d
Update
GregoryComer Aug 21, 2025
faf1700
Update
GregoryComer Aug 21, 2025
593055e
Update
GregoryComer Aug 21, 2025
54b32b4
Update
GregoryComer Aug 21, 2025
fbe2d44
Update
GregoryComer Aug 21, 2025
df4d5fa
Update
GregoryComer Aug 21, 2025
efd02e4
Update
GregoryComer Aug 25, 2025
49c71b4
Update
GregoryComer Aug 25, 2025
fb9fc9d
Update
GregoryComer Aug 25, 2025
d2a3002
Update
GregoryComer Aug 25, 2025
4dd225a
Update
GregoryComer Aug 25, 2025
1b77f7a
Update
GregoryComer Aug 25, 2025
9656f2d
Update
GregoryComer Aug 25, 2025
a8edd06
Update
GregoryComer Aug 26, 2025
472df91
Update
GregoryComer Aug 26, 2025
1326917
Update
GregoryComer Aug 26, 2025
488289b
Update
GregoryComer Aug 26, 2025
3a32779
Update
GregoryComer Aug 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/workflows/build-presets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,40 @@ jobs:
./install_requirements.sh > /dev/null
cmake --preset ${{ matrix.preset }}
cmake --build cmake-out -j$(( $(nproc) - 1 ))

windows:
uses: pytorch/test-infra/.github/workflows/windows_job.yml@main
strategy:
fail-fast: false
matrix:
preset: [pybind, windows]
with:
job-name: build
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
submodules: recursive
timeout: 90
script: |
set -eux
conda init powershell
powershell -Command "& {
Set-PSDebug -Trace 1
\$ErrorActionPreference = 'Stop'
\$PSNativeCommandUseErrorActionPreference = \$true

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

python install_requirements.py
cmake --preset ${{ matrix.preset }} -T ClangCL
if (\$LASTEXITCODE -ne 0) {
Write-Host "CMake configuration was unsuccessful. Exit code: \$LASTEXITCODE."
exit \$LASTEXITCODE
}

\$numCores = [System.Environment]::GetEnvironmentVariable('NUMBER_OF_PROCESSORS') - 1
cmake --build cmake-out -j \$numCores
if (\$LASTEXITCODE -ne 0) {
Write-Host "CMake build was unsuccessful. Exit code: \$LASTEXITCODE."
exit \$LASTEXITCODE
}
}"
23 changes: 16 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -595,13 +595,22 @@ if(EXECUTORCH_BUILD_EXTENSION_DATA_LOADER)
if(NOT WIN32)
set(data_loader_exclude_pattern "*mman_windows.h")
endif()
install(
DIRECTORY extension/data_loader/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/executorch/extension/data_loader
FILES_MATCHING
PATTERN "*.h"
PATTERN ${data_loader_exclude_pattern} EXCLUDE
)
if(DEFINED data_loader_exclude_pattern)
install(
DIRECTORY extension/data_loader/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/executorch/extension/data_loader
FILES_MATCHING
PATTERN "*.h"
PATTERN ${data_loader_exclude_pattern} EXCLUDE
)
else()
install(
DIRECTORY extension/data_loader/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/executorch/extension/data_loader
FILES_MATCHING
PATTERN "*.h"
)
endif()
list(APPEND _executorch_extensions extension_data_loader)
endif()

Expand Down
8 changes: 8 additions & 0 deletions backends/xnnpack/cmake/Dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,14 @@ else()
)
endif()

if(WIN32)
# These XNNPACK options don't currently build on Windows with Clang.
set_overridable_option(XNNPACK_ENABLE_AVX256SKX OFF)
set_overridable_option(XNNPACK_ENABLE_AVX256VNNI OFF)
set_overridable_option(XNNPACK_ENABLE_AVX256VNNIGFNI OFF)
set_overridable_option(XNNPACK_ENABLE_AVX512BF16 OFF)
endif()

set(XNNPACK_BUILD_ALL_MICROKERNELS
OFF
CACHE BOOL ""
Expand Down
10 changes: 8 additions & 2 deletions tools/cmake/preset/pybind.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,22 @@ set_overridable_option(EXECUTORCH_BUILD_EXTENSION_FLAT_TENSOR ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_DATA_LOADER ON)
set_overridable_option(EXECUTORCH_BUILD_KERNELS_OPTIMIZED ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_MODULE ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_TRAINING ON)

if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set_overridable_option(EXECUTORCH_BUILD_COREML ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_TRAINING ON)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set_overridable_option(EXECUTORCH_BUILD_COREML ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_TRAINING ON)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL
"WIN32"
)
# Windows or other OS-specific code here
if(NOT CMAKE_GENERATOR_TOOLSET MATCHES "ClangCL")
message(
FATAL_ERROR
"ExecuTorch requires the ClangCL toolset on Windows. Please configure with -T ClangCL."
)
endif()
else()
message(
FATAL_ERROR "Unsupported CMAKE_SYSTEM_NAME for pybind: ${CMAKE_SYSTEM_NAME}"
Expand Down
14 changes: 4 additions & 10 deletions tools/cmake/preset/windows.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,9 @@ set_overridable_option(EXECUTORCH_BUILD_EXTENSION_DATA_LOADER ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_EVALUE_UTIL ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_FLAT_TENSOR ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_MODULE ON)
set_overridable_option(EXECUTORCH_BUILD_EXECUTOR_RUNNER ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_RUNNER_UTIL ON)
set_overridable_option(EXECUTORCH_BUILD_EXTENSION_TENSOR ON)

# Below options are not yet buildable on Windows, but should be.
set(EXECUTORCH_BUILD_PORTABLE_OPS
OFF
CACHE BOOL ""
)
# set_overridable_option(EXECUTORCH_BUILD_EXECUTOR_RUNNER ON)
# set_overridable_option(EXECUTORCH_BUILD_KERNELS_OPTIMIZED ON)
# set_overridable_option(EXECUTORCH_BUILD_KERNELS_QUANTIZED ON)
# set_overridable_option(EXECUTORCH_BUILD_XNNPACK ON)
set_overridable_option(EXECUTORCH_BUILD_KERNELS_OPTIMIZED ON)
set_overridable_option(EXECUTORCH_BUILD_KERNELS_QUANTIZED ON)
set_overridable_option(EXECUTORCH_BUILD_XNNPACK ON)
Loading