Skip to content

Commit 055300f

Browse files
authored
Merge pull request #770 from intel/sync_msft_07082025
Sync with Microsoft ONNX Runtime - 07/08/2025
2 parents 71f8877 + 1170738 commit 055300f

File tree

60 files changed

+1547
-1241
lines changed

Some content is hidden

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

60 files changed

+1547
-1241
lines changed

.github/workflows/windows_webgpu.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ jobs:
128128
${{ matrix.vcpkg_option == 'vcpkg' && '--use_vcpkg' || '' }} `
129129
--cmake_extra_defines `
130130
onnxruntime_BUILD_UNIT_TESTS=ON `
131-
onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY=ON
131+
onnxruntime_BUILD_DAWN_SHARED_LIBRARY=ON
132132
if ($lastExitCode -ne 0) {
133133
exit $lastExitCode
134134
}

cmake/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ option(onnxruntime_USE_WEBGPU "Build with WebGPU support. Enable WebGPU via C/C+
140140
option(onnxruntime_WGSL_TEMPLATE "Specify the code generator for WGSL template. Default is static." "static")
141141
option(onnxruntime_USE_EXTERNAL_DAWN "Build with treating Dawn as external dependency. Will not link Dawn at build time." OFF)
142142
option(onnxruntime_CUSTOM_DAWN_SRC_PATH "Path to custom Dawn src dir.")
143-
option(onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY "Build Dawn as a monolithic library" OFF)
143+
option(onnxruntime_BUILD_DAWN_SHARED_LIBRARY "Build Dawn as a shared library" OFF)
144144
option(onnxruntime_ENABLE_PIX_FOR_WEBGPU_EP "Adding frame present for PIX to capture a frame" OFF)
145145
# The following 2 options are only for Windows
146146
option(onnxruntime_ENABLE_DAWN_BACKEND_VULKAN "Enable Vulkan backend for Dawn (on Windows)" OFF)
@@ -899,8 +899,8 @@ if (onnxruntime_USE_WEBGPU)
899899
#
900900
# if (onnxruntime_USE_VCPKG AND NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
901901
if (FALSE)
902-
if (NOT onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
903-
message(FATAL_ERROR "onnxruntime_USE_VCPKG is not supported with onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY=OFF")
902+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
903+
message(FATAL_ERROR "onnxruntime_USE_VCPKG is not supported with onnxruntime_BUILD_DAWN_SHARED_LIBRARY=ON")
904904
endif()
905905
if (onnxruntime_USE_EXTERNAL_DAWN)
906906
message(FATAL_ERROR "onnxruntime_USE_VCPKG is not supported with onnxruntime_USE_EXTERNAL_DAWN=ON")
@@ -921,8 +921,8 @@ if (onnxruntime_USE_WEBGPU)
921921
endif()
922922
endif()
923923

924-
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
925-
list(APPEND ORT_PROVIDER_FLAGS -DBUILD_DAWN_MONOLITHIC_LIBRARY=1)
924+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
925+
list(APPEND ORT_PROVIDER_FLAGS -DBUILD_DAWN_SHARED_LIBRARY=1)
926926
endif()
927927
if (onnxruntime_USE_EXTERNAL_DAWN)
928928
list(APPEND ORT_PROVIDER_FLAGS -DUSE_EXTERNAL_DAWN=1)

cmake/deps.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ cutlass;https://github.com/NVIDIA/cutlass/archive/refs/tags/v3.9.2.zip;b7f8dc4a8
5555
extensions;https://github.com/microsoft/onnxruntime-extensions/archive/c24b7bab0c12f53da76d0c31b03b9f0f8ec8f3b4.zip;239063aee4946a9af147b473a4c3da78ba7413b4
5656
directx_headers;https://github.com/microsoft/DirectX-Headers/archive/refs/tags/v1.613.1.zip;47653509a3371eabb156360f42faf582f314bf2e
5757
cudnn_frontend;https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v1.12.0.zip;7e733cfdc410d777b76122d64232499205589a96
58-
dawn;https://github.com/google/dawn/archive/9733be39e18186961d503e064874afe3e9ceb8d1.zip;2a4017c32892b90d072a9102eba90ae691fae36d
58+
dawn;https://github.com/google/dawn/archive/794b6fadc4171f7b853a77ffdf0948fbec431f41.zip;77bb02deace0d140411f02a2fb8f5f925ea6a1b6
5959
kleidiai;https://github.com/ARM-software/kleidiai/archive/refs/tags/v1.9.0.tar.gz;a2765979f64efb173a4b8ba4de39dcba9c655786
6060
duktape;https://github.com/svaarala/duktape/releases/download/v2.7.0/duktape-2.7.0.tar.xz;8200c8e417dbab7adcc12c4dbdef7651cfc55794

cmake/external/abseil-cpp.cmake

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ onnxruntime_fetchcontent_makeavailable(abseil_cpp)
4343
FetchContent_GetProperties(abseil_cpp)
4444
if(abseil_cpp_SOURCE_DIR)
4545
set(ABSEIL_SOURCE_DIR ${abseil_cpp_SOURCE_DIR})
46-
if(onnxruntime_USE_WEBGPU)
47-
set(DAWN_ABSEIL_DIR ${abseil_cpp_SOURCE_DIR})
48-
endif()
4946
endif()
5047

5148
# abseil_cpp_SOURCE_DIR is non-empty if we build it from source

cmake/external/onnxruntime_external_deps.cmake

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -224,11 +224,6 @@ onnxruntime_fetchcontent_makeavailable(Protobuf)
224224
if(Protobuf_FOUND)
225225
message(STATUS "Using protobuf from find_package(or vcpkg). Protobuf version: ${Protobuf_VERSION}")
226226
else()
227-
if(protobuf_SOURCE_DIR)
228-
if(onnxruntime_USE_WEBGPU)
229-
set(DAWN_PROTOBUF_DIR ${protobuf_SOURCE_DIR})
230-
endif()
231-
endif()
232227
# Adjust warning flags
233228
if (TARGET libprotoc)
234229
if (NOT MSVC)
@@ -645,19 +640,28 @@ if (onnxruntime_USE_WEBGPU)
645640
set(DAWN_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
646641
set(DAWN_ENABLE_NULL OFF CACHE BOOL "" FORCE)
647642
set(DAWN_FETCH_DEPENDENCIES ON CACHE BOOL "" FORCE)
643+
set(DAWN_BUILD_PROTOBUF OFF CACHE BOOL "" FORCE)
648644
set(DAWN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
649645
if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
650-
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
651-
set(DAWN_BUILD_MONOLITHIC_LIBRARY ON CACHE BOOL "" FORCE)
646+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
647+
set(DAWN_BUILD_MONOLITHIC_LIBRARY SHARED CACHE BOOL "" FORCE)
652648
set(DAWN_ENABLE_INSTALL ON CACHE BOOL "" FORCE)
653649

654650
if (onnxruntime_USE_EXTERNAL_DAWN)
655-
message(FATAL_ERROR "onnxruntime_USE_EXTERNAL_DAWN and onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY cannot be enabled at the same time.")
651+
message(FATAL_ERROR "onnxruntime_USE_EXTERNAL_DAWN and onnxruntime_BUILD_DAWN_SHARED_LIBRARY cannot be enabled at the same time.")
656652
endif()
657653
else()
658654
# use dawn::dawn_native and dawn::dawn_proc instead of the monolithic dawn::webgpu_dawn to minimize binary size
659655
set(DAWN_BUILD_MONOLITHIC_LIBRARY OFF CACHE BOOL "" FORCE)
660656
set(DAWN_ENABLE_INSTALL OFF CACHE BOOL "" FORCE)
657+
658+
# use the same protobuf/abseil for ORT and Dawn when static linking
659+
if(abseil_cpp_SOURCE_DIR)
660+
set(DAWN_ABSEIL_DIR ${abseil_cpp_SOURCE_DIR})
661+
endif()
662+
if(protobuf_SOURCE_DIR)
663+
set(DAWN_PROTOBUF_DIR ${protobuf_SOURCE_DIR})
664+
endif()
661665
endif()
662666

663667
if (onnxruntime_ENABLE_PIX_FOR_WEBGPU_EP)
@@ -714,6 +718,7 @@ if (onnxruntime_USE_WEBGPU)
714718
set(DAWN_ENABLE_D3D11 OFF CACHE BOOL "" FORCE)
715719
endif()
716720
endif()
721+
717722
if (onnxruntime_CUSTOM_DAWN_SRC_PATH)
718723
# use the custom dawn source path if provided
719724
#
@@ -766,7 +771,7 @@ if (onnxruntime_USE_WEBGPU)
766771
endif()
767772

768773
if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
769-
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
774+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
770775
list(APPEND onnxruntime_EXTERNAL_LIBRARIES dawn::webgpu_dawn)
771776
else()
772777
if (NOT onnxruntime_USE_EXTERNAL_DAWN)

cmake/onnxruntime_java.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ if (WIN32)
197197
)
198198
endif()
199199
endif()
200-
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
200+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
201201
add_custom_command(TARGET onnxruntime4j_jni POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:dawn::webgpu_dawn> ${JAVA_PACKAGE_LIB_DIR}/$<TARGET_FILE_NAME:dawn::webgpu_dawn>)
202202
endif()
203203
endif()
@@ -223,7 +223,7 @@ else()
223223
if (onnxruntime_USE_QNN AND NOT onnxruntime_BUILD_QNN_EP_STATIC_LIB)
224224
add_custom_command(TARGET onnxruntime4j_jni POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:onnxruntime_providers_qnn> ${JAVA_PACKAGE_LIB_DIR}/$<TARGET_LINKER_FILE_NAME:onnxruntime_providers_qnn>)
225225
endif()
226-
if (onnxruntime_USE_WEBGPU AND onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
226+
if (onnxruntime_USE_WEBGPU AND onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
227227
add_custom_command(TARGET onnxruntime4j_jni POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:dawn::webgpu_dawn> ${JAVA_PACKAGE_LIB_DIR}/$<TARGET_LINKER_FILE_NAME:dawn::webgpu_dawn>)
228228
endif()
229229
endif()

cmake/onnxruntime_nodejs.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ if (onnxruntime_USE_WEBGPU)
6565
list(APPEND NODEJS_DLL_DEPS "$<TARGET_FILE_DIR:dxcompiler>/dxcompiler.dll")
6666
endif()
6767
endif()
68-
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
68+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
6969
list(APPEND NODEJS_DLL_DEPS "$<TARGET_FILE:dawn::webgpu_dawn>")
7070
endif()
7171
endif()

cmake/onnxruntime_providers_webgpu.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363

6464
set(onnxruntime_providers_webgpu_dll_deps)
6565

66-
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
66+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
6767
target_link_libraries(onnxruntime_providers_webgpu dawn::webgpu_dawn)
6868

6969
if (WIN32)

cmake/onnxruntime_python.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1100,7 +1100,7 @@ if (onnxruntime_USE_WEBGPU)
11001100
)
11011101
endif()
11021102
endif()
1103-
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
1103+
if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY)
11041104
add_custom_command(
11051105
TARGET onnxruntime_pybind11_state POST_BUILD
11061106
COMMAND ${CMAKE_COMMAND} -E copy

cmake/onnxruntime_unittests.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1258,7 +1258,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP)
12581258
onnx_test_runner_common onnxruntime_test_utils onnxruntime_common
12591259
onnxruntime onnxruntime_flatbuffers onnx_test_data_proto
12601260
${onnxruntime_EXTERNAL_LIBRARIES}
1261-
${GETOPT_LIB_WIDE} ${SYS_PATH_LIB} ${CMAKE_DL_LIBS})
1261+
absl::flags absl::flags_parse ${SYS_PATH_LIB} ${CMAKE_DL_LIBS})
12621262
if(NOT WIN32)
12631263
if(onnxruntime_USE_SNPE)
12641264
list(APPEND onnxruntime_perf_test_libs onnxruntime_providers_snpe)
@@ -1278,7 +1278,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP)
12781278
target_link_libraries(onnxruntime_perf_test PRIVATE debug dbghelp advapi32)
12791279
endif()
12801280
else()
1281-
target_link_libraries(onnxruntime_perf_test PRIVATE onnx_test_runner_common ${GETOPT_LIB_WIDE} ${onnx_test_libs})
1281+
target_link_libraries(onnxruntime_perf_test PRIVATE onnx_test_runner_common absl::flags absl::flags_parse ${onnx_test_libs})
12821282
endif()
12831283
set_target_properties(onnxruntime_perf_test PROPERTIES FOLDER "ONNXRuntimeTest")
12841284

0 commit comments

Comments
 (0)