Commit graph

2234 commits

Author SHA1 Message Date
Jian Chen
5108e87b33 undo dml-vs-2022.yml 2025-02-06 19:02:41 -08:00
Jian Chen
979a1a78a1 undo dml-vs-2022.yml 2025-02-06 19:01:25 -08:00
Jian Chen
3d8da4d0b0 undo Binary c-api-cpu.yml 1 2025-02-06 18:59:24 -08:00
Jian Chen
645f2370ab undo Binary c-api-cpu.yml 1.25
1ES.PublishPipelineArtifact@0 to 1ES.PublishPipelineArtifact@1
2025-02-06 18:58:00 -08:00
Jian Chen
abb684873e undo Binary c-api-cpu.yml 1.25 2025-02-06 18:56:10 -08:00
Jian Chen
73b7200ffe undo Binary c-api-cpu.yml 1.5 2025-02-06 18:55:00 -08:00
Jian Chen
bcb0652298 undo Binary c-api-cpu.yml 1.75 2025-02-06 18:53:08 -08:00
Jian Chen
9746f1cb9b undo Binary c-api-cpu.yml 1.5 2025-02-06 18:51:58 -08:00
Jian Chen
791304291f undo Binary c-api-cpu.yml 1 2025-02-06 18:50:18 -08:00
Jian Chen
503b159f18 undo Binary c-api-cpu.yml 2 2025-02-06 18:49:15 -08:00
Jian Chen
073a6c5675 undo Binary c-api-cpu.yml 3 2025-02-06 18:48:07 -08:00
Jian Chen
b16aac39a2 undo Binary c-api-cpu.yml 3 2025-02-06 18:47:35 -08:00
Jian Chen
4bdec8e0bf Binary c-api-cpu.yml 3 2025-02-06 18:45:32 -08:00
Jian Chen
27eadb158b Binary c-api-cpu.yml 2 2025-02-06 18:44:52 -08:00
Jian Chen
10355d77e3 Binary c-api-cpu.yml 2 2025-02-06 18:44:14 -08:00
Jian Chen
165d968fb7 Binary c-api-cpu.yml 2 2025-02-06 18:43:55 -08:00
Jian Chen
faa38bffbf Binary c-api-cpu.yml 2025-02-06 18:41:35 -08:00
Jian Chen
de9ce655fc Disable c-api-cpu.yml 2025-02-06 18:40:03 -08:00
Jian Chen
1b3dcc89fe Update c-api-cpu.yml 2025-02-06 18:39:15 -08:00
Jian Chen
41f2aa32e1 Disable java-cuda-packaging-stage.yml 2025-02-06 18:34:04 -08:00
Jian Chen
471f287235 Disable c-api-cpu.yml 2025-02-06 18:33:11 -08:00
Jian Chen
77110697f4 Disable nuget-combine-cuda-stage.yml 2025-02-06 18:32:11 -08:00
Jian Chen
05dae73477 Disable dml 2025-02-06 18:30:52 -08:00
Jian Chen
7e22fb64cb 1ES 2025-02-06 18:27:42 -08:00
Jian Chen
39ab30674d publish 2025-02-06 18:24:30 -08:00
Jian Chen
6e45a7bf1d Try to skip validate-package.yml 2025-02-06 18:22:40 -08:00
Jian Chen
f9aa616b04 Try to skip validate-package.yml 2025-02-06 18:20:53 -08:00
Jian Chen
60749a2e5f Try to skip validate-package.yml 2025-02-06 18:17:58 -08:00
Jian Chen
5cf3f47137 Try to skip validate-package.yml 2025-02-06 18:16:42 -08:00
Jian Chen
361c41ed0a Try to skip ESRP 2025-02-06 18:15:27 -08:00
Jian Chen
9efa0b4965 Migrate Zip-Nuget Package Pipeline to 1ES 2025-02-06 18:07:35 -08:00
Jian Chen
33e6ebfe2f Migrate Zip-Nuget Package Pipeline to 1ES 2025-02-06 17:59:23 -08:00
Jian Chen
0469e1577d Migrate Zip-Nuget Package Pipeline to 1ES 2025-02-06 17:58:54 -08:00
Jian Chen
d9dda06456 Migrate Zip-Nuget Package Pipeline to 1ES 2025-02-06 17:57:59 -08:00
Jian Chen
702ed1ce0f Migrate Zip-Nuget Package Pipeline to 1ES 2025-02-06 17:56:34 -08:00
Changming Sun
328a13c06d
Enable VCPKG in more pipelines (#23590)
### Description
Enable VCPKG in more pipelines
2025-02-06 10:10:31 -08:00
Yifan Li
6728d6085d
[TensorRT EP] support TensorRT 10.8-GA (#23592)
### Description
<!-- Describe your changes. -->



### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
2025-02-06 10:05:57 -08:00
Changming Sun
5f6a3158f8
Enable VCPKG in CI build (#23426)
### Description
1. Enable VCPKG flag in Windows CPU CI build pipelines. 
2. Increased the min supported cmake version from 3.26 to 3.28. Because
of it, drop the support for the old way of finding python by
"find_package(PythonLibs)". Therefore, in build.py we no longer set
"PYTHON_EXECUTABLE" cmake var when doing cmake configure.
3. Added "xnnpack-ep" as a feature for ORT's vcpkg config.
4. Added asset cache support for ORT's vcpkg build
5. Added VCPKG triplet files for Android build.
6. Set VCPKG triplet to "universal2-osx" if CMAKE_OSX_ARCHITECTURES was
found in cmake extra defines.
7. Removed a small piece of code in build.py, which was for support CUDA
version < 11.8.
8. Fixed an issue that CMAKE_OSX_ARCHITECTURES sometimes got specified
twice when build.py invoked cmake.
9. Added more model tests to Android build. After this change, we will
test all ONNX versions instead of just the latest one.
10. Fixed issues that are related to build.py's "--build_nuget"
parameter. Also, enable the flag in most Windows CPU CI build jobs.
11. Removed a restriction in build.py that disallowed cross-compiling
Windows ARM64 nuget package on Windows x86.
 
### Motivation and Context
Adopt vcpkg.
2025-02-05 10:58:53 -08:00
Hector Li
c29ca1cb41
Update QNN default version to 2.31 (#23573)
Update QNN default version to 2.31
2025-02-04 16:24:54 -08:00
Tianlei Wu
75a9b40da2
[ROCm] Update CI to use rocm 6.3.2 (#23577)
### Description
* Update rocm to 6.3.2;
* Remove dependency on cupy (which does not support rocm 6.3 yet).

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
2025-02-04 11:01:12 -08:00
Yifan Li
816e8cb2fb
[EP Perf] Update env to ubuntu 22.04 (#23570)
### Description
<!-- Describe your changes. -->
* Update env to cuda 12.6/ubuntu 22.04 (ubuntu 20.04 uses outdated py38
by default)
* Clean old trt8.6 test config


### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
2025-02-03 17:35:33 -08:00
Changming Sun
61fae9bb91
Remove "--enable_pybind" from webgpu pipeline (#23550)
There is a crash in the WebGPU CI pipeline. It crashed at process
shutdown when unloading onnxruntime_pybind11_state.pyd.
Here is the callstack:

```
 	dxil.dll!DxcSwapThreadMalloc()	Unknown
 	dxil.dll!DxcThreadMalloc::DxcThreadMalloc(struct IMalloc *)	Unknown
 	dxil.dll!DxcValidator::Release(void)	Unknown
 	[Inline Frame] webgpu_dawn.dll!Microsoft::WRL::ComPtr<IDxcValidator>::InternalRelease() Line 235	C++
 	[Inline Frame] webgpu_dawn.dll!Microsoft::WRL::ComPtr<IDxcValidator>::{dtor}() Line 290	C++
 	webgpu_dawn.dll!dawn::native::d3d12::Backend::`scalar deleting destructor'(unsigned int)	C++
 	webgpu_dawn.dll!`eh vector destructor iterator'(void * ptr, unsigned __int64 size, unsigned __int64 count, void(*)(void *) destructor)	C++
 	webgpu_dawn.dll!dawn::native::InstanceBase::~InstanceBase() Line 197	C++
 	webgpu_dawn.dll!dawn::native::InstanceBase::`scalar deleting destructor'(unsigned int)	C++
 	webgpu_dawn.dll!dawn::native::InstanceBase::DeleteThis() Line 218	C++
 	ucrtbase.dll!<lambda>(void)()	Unknown
 	ucrtbase.dll!__crt_seh_guarded_call<int>::operator()<<lambda_7777bce6b2f8c936911f934f8298dc43>,<lambda>(void) &,<lambda_3883c3dff614d5e0c5f61bb1ac94921c>>()	Unknown
 	ucrtbase.dll!_execute_onexit_table()	Unknown
 	onnxruntime_pybind11_state.pyd!dllmain_crt_process_detach(const bool is_terminating) Line 182	C++
>	onnxruntime_pybind11_state.pyd!dllmain_dispatch(HINSTANCE__ * const instance, const unsigned long reason, void * const reserved) Line 293	C++
 	ntdll.dll!LdrpCallInitRoutine()	Unknown
 	ntdll.dll!LdrShutdownProcess()	Unknown
 	ntdll.dll!RtlExitUserProcess()	Unknown
 	kernel32.dll!ExitProcessImplementation()	Unknown
 	ucrtbase.dll!exit_or_terminate_process()	Unknown
 	ucrtbase.dll!common_exit()	Unknown
 	python312.dll!00007ff9cab3ec8d()	Unknown
 	python312.dll!00007ff9cab3efbf()	Unknown
 	python312.dll!00007ff9cab3edee()	Unknown
 	python312.dll!00007ff9cab57f4c()	Unknown
 	python312.dll!00007ff9cab57579()	Unknown
 	python312.dll!00007ff9cab573be()	Unknown
 	python312.dll!00007ff9cab5729b()	Unknown
 	python312.dll!00007ff9cabacfcb()	Unknown
 	python312.dll!00007ff9cabacd7d()	Unknown
 	python312.dll!00007ff9cab99e2d()	Unknown
 	python.exe!00007ff78a641230()	Unknown
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown
```
It might be because the destruct order of some global variables was
wrong. I saw DX DLLs were getting destroyed earlier than the WebGPU
instance in our code in onnxruntime_pybind11_state.pyd.
2025-01-31 08:43:58 -08:00
Karim Vadsariya
655a23ff1d
[onnxruntime/build] Add new flag enable_generic_interface to build primary EPs by default (#23342)
### Description
- Add new build flag in build.py to build onnxruntime.dll supporting
interfaces for all primary EPs( QNN, TensoRT, OpenVino, VitisAI).
- Modify onnxruntime.dll/onnxruntime_shared.dll build settings to remove
dependency of IHV SDK Toolset to be installed on the system.
- Change CMake variables to be explicit when building EP vs ORT. e.g.
onnxruntime_USE_TENSORRT vs onnxruntime_USE_TENSORRT_INTERFACE, to
evolve the build system to build ORT independent of EPs.



### Motivation and Context
Changes in the build system required to evolve the repo to build the
components independently while removing unnecessary dependencies

---------

Co-authored-by: Lei Cao <jslhcl@gmail.com>
Co-authored-by: Karim Vadsariya <kvadsariya@microsoft.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-28 15:24:09 -08:00
Yulong Wang
8db97a68f2
[webgpu] Bump version of Dawn to b9b4a370 (#23494)
### Description

This PR updates the version of Dawn to
`b9b4a37041dec3dd62ac92014a6cc1aece48d9f3` (ref:
[chromium](67f86f01dd/DEPS (399)))
in the `deps.txt` file.

The newer version of Dawn includes the previous changes from dawn.patch
so that we can remove the patch file.

There is a little interface changes and code is updated correspondingly.
2025-01-27 14:02:06 -08:00
Changming Sun
1fc9c4823d
Enable coremltools for Linux build (#23481)
### Description

Enable coremltools for Linux build. In order to do this, I did:

1. Add uuid-devel to the Linux images and regenerate them.
2. Patch the coremltools code a little bit to add some missing header
files.

### Motivation and Context
To make the code simpler. Later on I will create another PR to remove
the COREML_ENABLE_MLPROGRAM C/C++ macro.
Also, after this PR I will bring more changes to
onnxruntime_provider_coreml.cmake to make it work with vcpkg.
2025-01-24 18:18:37 -08:00
Adrian Lizarraga
3b4c7df4e9
[QNN EP] Make QNN EP a shared library (#23120)
### Description
- Makes QNN EP a shared library **by default** when building with
`--use_qnn` or `--use_qnn shared_lib`. Generates the following build
artifacts:
- **Windows**: `onnxruntime_providers_qnn.dll` and
`onnxruntime_providers_shared.dll`
- **Linux**: `libonnxruntime_providers_qnn.so` and
`libonnxruntime_providers_shared.so`
  - **Android**: Not supported. Must build QNN EP as a static library.
- Allows QNN EP to still be built as a static library with `--use_qnn
static_lib`. This is primarily for the Android QNN AAR package.
- Unit tests run for both the static and shared QNN EP builds.

### Detailed changes
- Updates Java bindings to support both shared and static QNN EP builds.
- Provider bridge API:
- Adds logging sink ETW to the provider bridge. Allows EPs to register
ETW callbacks for ORT logging.
- Adds a variety of methods for onnxruntime objects that are needed by
QNN EP.
- QNN EP:
- Adds `ort_api.h` and `ort_api.cc` that encapsulates the API provided
by ORT in a manner that allows the EP to be built as either a shared or
static library.
- Adds custom function to transpose weights for Conv and Gemm (instead
of adding util to provider bridge API).
- Adds custom function to quantize data for LeakyRelu (instead of adding
util to provider bridge API).
  - Adds custom ETW tracing for QNN profiling events:
    - shared library: defines its own TraceLogging provider handle
- static library: uses ORT's TraceLogging provider handle and existing
telemetry provider.
- ORT-QNN Packages:
- **Python**: Pipelines build QNN EP as a shared library by default.
User can build a local python wheel with QNN EP as a static library by
passing `--use_qnn static_lib`.
- **NuGet**: Pipelines build QNN EP as a shared library by default.
`build.py` currently enforces QNN EP to be built as a shared library.
Can add support for building a QNN NuGet package with static later if
deemed necessary.
- **Android**: Pipelines build QNN EP as a **static library**.
`build.py` enforces QNN EP to be built as a static library. Packaging
multiple shared libraries into an Android AAR package is not currently
supported due to the added need to also distribute a shared libcpp.so
library.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
2025-01-22 12:11:00 -08:00
Jian Chen
628c0e00c4
Change MacOS-13 to ubuntu on for android-java-api-aar-test.yml. (#23444)
### Description
<!-- Describe your changes. -->



### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
2025-01-21 17:07:20 -08:00
Jian Chen
899ea21ffe
Moving RN_CI Android Testing to Linux (#23422)
### Description
Moving Android E2E test steps from Mac-OS13 to unbunt22.04



### Motivation and Context
Deduced the dependency on MacOS, which is deprecating the x64 version.
2025-01-21 11:55:29 -08:00
Jian Chen
83cb1e4a3c
Seperate RN andriod and IOS into 2 separated Stages. (#23400)
### Description
Seperate RN andriod and IOS into 2 separated Stages.



### Motivation and Context
Speed up the PR process.
2025-01-20 18:08:01 -08:00
Hector Li
f35924a891
Update Qnn SDK default version to 2.30 (#23411)
### Description
Update Qnn SDK default version to 2.30
2025-01-17 22:36:35 -08:00