Commit graph

6904 commits

Author SHA1 Message Date
RandySheriffH
0d4f0f8ad2
Cherry for release 1.12.0 final (#12218)
* support optimizer opt for deepspeed 0.5.9

* resolve comments

* resolve comments

* FP16_Optimizer Support for more Deepspeed Versions (#12046)

* fp16_optimizer for more ds versions

* change ds version

* bugfix

* fix bug

* Fix unused function warning for decodeMIDR(). (#12069)

Changed from static function defined in header to function declared in header and defined in separate .cc file.

* pin protobuf version to be compatible with onnx (#12132)

Co-authored-by: Ashwini Khade <askhade@microsoft.com@orttrainingdev10.d32nl1ml4oruzj4qz3bqlggovf.px.internal.cloudapp.net>

* RoiAlign CPU EP add warning for max mode with samples != 1 (#12136)

* RoiAlign add warning about incorrect max summation when sample size not 1

* include coreml_provider_factory.h in macos build instead of coreml_ex… (#12138)

include coreml_provider_factory.h in macos build instead of coreml_execution_provider.h

* List 3.10 as supported python version and remove 3.6 (#12141)

list 3.10 as supported python version and remove 3.6

Co-authored-by: Randy Shuai <rashuai@microsoft.com>

* Use updated symbolic_helper.check_training_mode (#11900)

Co-authored-by: Jingyan Wang, Baiju Meswani

* Fix GH issue 12151 by using inverse perms for updating DQ axis attribute (#12158)

* Fix GH issue 12151.

Need to use inverse perms for updating that axis to what is used for transposing the input. This only applies if the DQ node is doing per-axis dequantization.

* fixing positions for beam search gpt2 (#12156)

* fixing positions for beam search gpt2
Co-authored-by: Tianlei Wu <tlwu@microsoft.com>

* remove wrong placed libs (#12201)

* Add file mapping for windows platform. (#12183)

* Add file mapping for windows platform.

* Add unit test for file mapping for windows. Also add an error message for mis-aligned offset

* Add unit test for file mapping for windows. Also add an error message for mis-aligned offset

* Update data type to avoid warnings

* Compitable data type to avoid warnings. Update CreatFileMapping2 condition for winml compiling.

* Add type conversion to avoid warnings for X86 release build.

Co-authored-by: Ting Cao <ticao@microsoft.com>

* Fix bug where onnxruntime_USE_NCCL flag would default to ON (#12195)

Fix bug where onnxruntime_USE_NCCL flag would default to ON, causing ORT to not build properly. New functionality: flag is ON when training is enabled and NCCL is not disabled. Flag is OFF otherwise

Co-authored-by: zhijxu <zhijxu@microsoft.com>
Co-authored-by: zhijxu <zhijxu>
Co-authored-by: Vincent Wang <wangwchpku@outlook.com>
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
Co-authored-by: Ashwini Khade <askhade@microsoft.com>
Co-authored-by: Ashwini Khade <askhade@microsoft.com@orttrainingdev10.d32nl1ml4oruzj4qz3bqlggovf.px.internal.cloudapp.net>
Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>
Co-authored-by: Carson Swope <carsonswope@users.noreply.github.com>
Co-authored-by: Randy Shuai <rashuai@microsoft.com>
Co-authored-by: jingyanwangms <47403504+jingyanwangms@users.noreply.github.com>
Co-authored-by: Scott McKay <skottmckay@gmail.com>
Co-authored-by: Viswanath Boga <44417868+viboga@users.noreply.github.com>
Co-authored-by: leqiao-1 <61653207+leqiao-1@users.noreply.github.com>
Co-authored-by: caoting-dotcom <71617901+caoting-dotcom@users.noreply.github.com>
Co-authored-by: Ting Cao <ticao@microsoft.com>
Co-authored-by: Sean Murray <59740888+seanmurr1@users.noreply.github.com>
2022-07-19 09:11:51 -07:00
RandySheriffH
62226d030f
Cherry-pick tagged commits to 1.12.0 release candidate (#12097)
* Update ONNX to 1.12 (#11924)

Follow-ups that need to happen after this and before the next ORT release:
* Support SequenceMap with https://github.com/microsoft/onnxruntime/pull/11731
* Support signal ops with https://github.com/microsoft/onnxruntime/pull/11778

Follow-ups that need to happen after this but don't necessarily need to happen before the release:
* Implement LayerNormalization kernel for opset version 17: https://github.com/microsoft/onnxruntime/issues/11916

Fixes #11640

* Dll version fix ovep4.1 (#11953)

* Setting default version values for ovep dlls as well

* Update backend_manager.cc

Co-authored-by: mayavijx <mayax.vijayan@intel.com>
Co-authored-by: mohsin <mohsinx.mohammad@intel.com>

* Optimize t5 encoder in beam search (#11926)

* ooptimize t5 encoder

* update

* update

* update

* refactor expand impl

* cuda tests passed

* update

* alignment

* more alignments

* review comments

* Allow saving on CPU usage for infrequent inference requests by reducing thread spinning (#11841)

Introduce Start/Stop threadpool spinning switch
Add a session config option to force spinning stop at the end of the Run()

* Restructure function inliner (#11731)

* Add nested function call tests

* Add overload for Specialize

* Pass symboltable to onnx shape inference

* Avoid renaming empty names

* Enable sequence_map tests which failed before this change

* Deprecate APIs returning raw ptrs and provide replacements (#11922)

Provider better documentation

* register signal ops for opset 17 (#11778)

* Register signal ops for op set 17

Note code is mostly being moved, not added. These ops were previously
only registered as Microsoft contrib ops and only built if
`BUILD_MS_EXPERIMENTAL_OPS=1`. They've been added to the ai.onnx
standard op set in version 17.

Main components of this change:

* Move the kernels from the conrib_ops directory to the
  core directory.
* Add function bodies for ms experimental ops. This will allow
  old models that use the contrib ops to continue to function.
  All the function bodies consist of a single op (the
  new standard op), so performance overhead should be minimal.

Minor clean-up also in this change:

* De-duplicate get_scalar_value_from_tensor: put it in a new utils.h.
* Fix some bugs that caused compilation errors with the experimental
  ops. Tested with `build.sh --ms_experimental`
* Fix some spelling errors and lint violations.
* Replace a couple of switch statements with `MLTypeCallDispatcher`.
* Use `InlineVector` instead of `std::vector`.

Unblocks https://github.com/microsoft/onnxruntime/issues/11640

* Include opset 15 in Conv+BatchNormalization fusion (#11960)

* Fix WinML Tests are still targetting deprecated (deleted) experimental signal op definitions (#12006)

* fix winml tests

* remove legacy test

* switch idft -> dft+inverse attr

* upgrade opset 13->17 for signal ops tests

* [C# Tests] Add support for double tensor output in TestPreTrainedModels. (#12008)

Add support for double tensor output in TestPreTrainedModels.

* DML EP ResNet50 opset 15 fails in ONNX checker for FusedBatchNormalization lacking training_mode attribute (#12010)

FusedBatchNormalization include training_mode attribute

* Generalize native op creation (#11539)

* create op from ep

* read input count from context

* create holder to host nodes

* fix typo

* cast type before comparison

* throw error on API fail

* silence warning from minimal build

* switch to unique_ptr with deleter to host nodes

* fix typo

* fix build err for minimal

* fix build err for minimal

* add UT for conv

* enable test on CUDA

* add comment

* fix typo

* use gsl::span and string view for Node constructor

* Added two APIs - CopyKernelInfo and ReleaseKernelInfo

* pass gsl::span by value

* switch to span<NodeArg* const> to allow for reference to const containers

* fix typo

* fix reduced build err

* fix reduced build err

* refactoring node construction logic

* rename exceptions

* add input and output count as arguments for op creation

* refactor static member

* use ORT_CATCH instead of catch

* cancel try catch

* add static value name map

* format input definition and set err code

* fix comments

* fix typo

* [DML EP] Pad operator: Handle negative pad counts (#11974)

* Pad fallback to CPU

* Added queryPad in operatorRegistration.cpp

* Acknowledged PR comments

* Used any_of

* used none_of instead of any_of

Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>

* Add warning about future computation change for ConvTranspose with auto_pad (#11984)

* Add warning about future computation change for Convtranspose with auto_pad

* improve msg

* update TODO to make lint happy

* update more contents for warning and add if

* valid was not infected

* move it into kernel registration

* parse auto_pad myself

* try to use conv_transpose_attrs_.auto_pad directly

* update roialign cuda impl to onnx opset16 (#12036)

* roialign opset16

* fix

* fix

* Fix windows eager build break by pinning to torch version 1.11.0 (#12033)

Fix windows and linux eager build to torch 1.11.0.

* Skip Constant Folding for ops producing an optional type output (#11839)

* Disable sequence-type tests since C# infra doesn't support well (#12037)

* Extend lifetime of KernelDef when creating a standalone op (#12057)

place tmp kernel def as local variable to cover the lifetime of kernel creation

* Add targets files for new .net6 frameworks (#12016)

* Add net6 targets.
Remove maccatalyst as we don't have a native build targetting that.

* Set platform in macos targets

* Add targetFramework entries

* Move NativeLib.DllName definition and set using preprocessor values for simplicity. Couldn't get it to build with the preprocessor based setup when it was in a separate file.

Update the nuspec generation to set platform version for .net6 targets. TODO: Validate versions. I copied them from the managed nuget package the packaging pipeline generated prior to adding targets. Possibly w could/should lower some of the versions.

Hopefully the need to specify a version goes away when the release version of VS2022 supports .net6.

* Try android 31.1 as https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md suggests that should be available on the CI machines

* Fix patch version mismatch
Add some extra debug info in case it helps

* Debug nuget location in CI

* Add workspace entry back in

* Add steps

* One more attempt with hardcoded nuget.exe path and original android31.0 version

* Better fix - found explicit nuget download and updated version there.

* flake8 fixes

* Fix black complaints.

* Exit Microsoft_ML_OnnxRuntime_CheckPrerequisites for net6 iOS.

* Removed outdated comment

* Fix DML custom operators which set descriptor heap to command list (#12059)

* Make C# runtest.sh automatically set latest opset (#12039)

* Update C# runtest.sh for opset 17

Should have been part of https://github.com/microsoft/onnxruntime/pull/11924

* get appropriate opset version from onnx doc

* use absolute rather than relative path

* fix typo in var name

* Disable DML command list reuse for Xbox (#12063)

disable cl reuse for xbox

* Add data type check in ConvAddRelu fusion (#12058)

* Add undocumented attribute to disable generation of Java bindings from the Android AAR. (#12075)

The generated bindings causes C# build errors that require workaround code. Disabling generation should avoid the need for any workarounds.

As the user has the C# ORT package with the C# to C bindings there's no need for binding generation that calls the ORT Java API (which is C# -> Java ->C).

* enable the extensions custom build for java and android (#11823)

* generate quantization parameter for outputs (#12089)

* DML EP Update to DML 1.9 (#12090)

* Update to DML 1.9

* Appease obnoxious Python formatting tool

* Fix orttraining-linux-ci-pipeline - Symbolic shape infer (#11965)

fix symbolic shape error due to upgraded numpy + legacy sympy

* check consumers of dq node before swap dq and transpose (#12099)

* check consumers of dq node before swap dq and transpose

* add unit test

Co-authored-by: Gary Miguel <garymiguel@microsoft.com>
Co-authored-by: Preetha Veeramalai <preetha.veeramalai@intel.com>
Co-authored-by: mayavijx <mayax.vijayan@intel.com>
Co-authored-by: mohsin <mohsinx.mohammad@intel.com>
Co-authored-by: Ye Wang <52801275+wangyems@users.noreply.github.com>
Co-authored-by: Dmitri Smirnov <yuslepukhin@users.noreply.github.com>
Co-authored-by: G. Ramalingam <grama@microsoft.com>
Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>
Co-authored-by: Sheil Kumar <smk2007@gmail.com>
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
Co-authored-by: sumitsays <sumitagarwal330@gmail.com>
Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>
Co-authored-by: Chun-Wei Chen <jacky82226@gmail.com>
Co-authored-by: George Wu <jywu@microsoft.com>
Co-authored-by: Wil Brady <25513670+WilBrady@users.noreply.github.com>
Co-authored-by: Hariharan Seshadri <shariharan91@gmail.com>
Co-authored-by: Wei-Sheng Chin <wschin@outlook.com>
Co-authored-by: Scott McKay <skottmckay@gmail.com>
Co-authored-by: Jeff Bloomfield <38966965+jeffbloo@users.noreply.github.com>
Co-authored-by: Justin Stoecker <justoeck@microsoft.com>
Co-authored-by: Wenbing Li <10278425+wenbingl@users.noreply.github.com>
Co-authored-by: Yufeng Li <liyufeng1987@gmail.com>
Co-authored-by: pengwa <pengwa@microsoft.com>
2022-07-06 21:35:19 -07:00
Dwayne Robinson
64f95d400a
Update DML 1.9 Nuget package to fix WindowsAI nuget pipeline build issue (#11934) 2022-06-21 15:55:51 -07:00
Scott McKay
3b1224dc08
Add .net6 support to the C# nuget package. (#11908)
* Add .net6 support to the C# nuget package.

Currently requires jumping through a lot of hoops due to .net 6 only being supported in the preview release of VS 2022.

Build existing targets using msbuild.
Add .net6 targets and build using dotnet.
Create nuget package with combined targets.

A few misc automated changes from VS to spacing and adding a couple of properties.
2022-06-22 08:08:24 +10:00
Arseny
8c8a781cdb
fix: handle setBindingDimensions return value in TensorRT EP (#11929) 2022-06-21 14:30:27 -07:00
Edward Chen
5646410f65
Enable Pad test cases with initializer inputs only when building NNAPI EP on Android. (#11932) 2022-06-21 14:16:55 -07:00
sfatimar
61a74f2f4d
Mohsin/enable dynamic shapes (#11867)
* Add pypi build changes to latest Master

* Add ORT training part of OV build

* Disabling SqueezeOpTest.BadAxes

* Add ONNXruntime branch ARG to Docker build

* Changes to include file details versions

* Commit File Version Updates

* Change naming for linux build

* Add fix for pylint format errors

* Fix pylint warnings.

* Enable Dynamic Shapes for OV_API_20

* Update requirements.txt whl version- internal_ci fix

* Update backend_manager.cc MYRIAD Fix

* Update wheel version in requirements.txt

* Update backend_manager.cc

* Update backend_manager.cc

* Update backend_manager.cc

* Update setup.py

* Fix pylint warnings

* Fix pylint warnings 2

* Update backend_manager.cc

* Update backend_manager.cc

* Update backend_manager.cc

* Update backend_manager.cc

* Update backend_manager.cc

* Update backend_manager.cc

* Update backend_manager.cc

* Update backend_manager.cc

Co-authored-by: Preetha Veeramalai <preetha.veeramalai@intel.com>
Co-authored-by: mayavijx <mayax.vijayan@intel.com>
Co-authored-by: Sahar Fatima <sfatima.3001@gmail.com>
Co-authored-by: mohsinmx <mohsinx.mohammad@intel.com>
2022-06-21 08:03:58 -07:00
Adrian Lizarraga
b20daeda81
Update Linux Multi GPU TensorRT pipeline to TensorRT 8.4 (#11923)
* Try manually installing trt8.4 in multi-gpu pipeline

* Remove stmts that clean up cmake, ctest. Update tensorrt repository name passed to get_docker_image.py

* Update trt and cudnn home

* Don't install trtexec cli tool.

* Increase job timeout

* Revert timeout change and use trt placeholder builder build option
2022-06-21 07:59:11 -07:00
Ye Wang
859ef277a0
apply zcode changes to the beam search op (#11880)
* apply zcode  changes to the beam search op

* fix pipeline failure

* add doc

* workaround for C#

* update

* update

* use name zcode

* review comment

* review comments

* fix cpplint

* review coments
2022-06-20 18:39:07 -07:00
RandySheriffH
cefceff5c9
Mark the end of APIs for release 1.12 (#11914)
* mark the end of APIs for 1.12

* add static assert for C API 1.12
2022-06-20 15:22:55 -07:00
Adrian Lizarraga
ca35ea417a
[EP-Perf] Install new wheel>=0.35.1 dependency (#11917) 2022-06-20 15:09:27 -07:00
Yi Zhang
7f1e9e8c67
Bash: there should be a whitespace after not operator. (#11910)
add whitespace after not
2022-06-21 05:14:32 +08:00
Chi Lo
457ce6cb89
Make symbolic shape inference script support external weight (#11909)
* add support for external data

* fix format

* fix format

* fix typo

* fix typo
2022-06-20 13:07:45 -07:00
Dwayne Robinson
c1577d08ca
DML EP QuantizeLinear defer axis validation for test_quantizelinear_cpu (#11906)
DML EP QuantizeLinear defer axis validation
2022-06-20 11:03:32 -07:00
Chih-Hsuan Yen
0736c604c7
Fix building DNNL EP with GCC 12 (#11667)
This issue is similar to [1], where template two-phase lookups break the
build. Apparently GCC 12 is now as strict as Clang:

```
[ 69%] Building CXX object CMakeFiles/onnxruntime_providers_dnnl.dir/build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_reduce.cc.o
In file included from /build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/common.h:36,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/shared_library/provider_api.h:19,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_subgraph.h:11,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_reduce.h:5,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_reduce.cc:3:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h: In instantiation of ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&) [with T = gsl::span<long int>; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:39:17:   recursively required from ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&, const Args& ...) [with T = long unsigned int; Args = {const char*, long int, const char*, gsl::span<long int>}; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:39:17:   required from ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&, const Args& ...) [with T = const char*; Args = {long unsigned int, const char*, long int, const char*, gsl::span<long int>}; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:46:17:   required from ‘std::string onnxruntime::detail::MakeStringImpl(const Args& ...) [with Args = {const char*, long unsigned int, const char*, long int, const char*, gsl::span<long int>}; std::string = std::__cxx11::basic_string<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:93:32:   required from ‘std::string onnxruntime::MakeString(const Args& ...) [with Args = {char [20], long unsigned int, char [23], long int, char [9], gsl::span<long int>}; std::string = std::__cxx11::basic_string<char>]’
/build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_reduce.cc:276:11:   required from here
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: error: no match for ‘operator<<’ (operand types are ‘std::ostringstream’ {aka ‘std::__cxx11::basic_ostringstream<char>’} and ‘const gsl::span<long int>’)
   33 |   ss << t;
      |   ~~~^~~~
In file included from /usr/include/c++/12.1.0/istream:39,
                 from /usr/include/c++/12.1.0/sstream:38,
                 from /build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/common.h:27:
/usr/include/c++/12.1.0/ostream:108:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ostream_type& (*)(__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:108:36: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)’ {aka ‘std::basic_ostream<char>& (*)(std::basic_ostream<char>&)’}
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/ostream:117:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ios_type& (*)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>; __ios_type = std::basic_ios<char>]’
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:117:32: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)’ {aka ‘std::basic_ios<char>& (*)(std::basic_ios<char>&)’}
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/ostream:127:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:127:30: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘std::ios_base& (*)(std::ios_base&)’
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/ostream:166:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  166 |       operator<<(long __n)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:166:23: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘long int’
  166 |       operator<<(long __n)
      |                  ~~~~~^~~
/usr/include/c++/12.1.0/ostream:170:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  170 |       operator<<(unsigned long __n)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:170:32: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘long unsigned int’
  170 |       operator<<(unsigned long __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/12.1.0/ostream:174:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  174 |       operator<<(bool __n)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:174:23: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘bool’
  174 |       operator<<(bool __n)
      |                  ~~~~~^~~
In file included from /usr/include/c++/12.1.0/ostream:833:
/usr/include/c++/12.1.0/bits/ostream.tcc:91:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]’
   91 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/bits/ostream.tcc:92:22: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘short int’
   92 |     operator<<(short __n)
      |                ~~~~~~^~~
/usr/include/c++/12.1.0/ostream:181:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  181 |       operator<<(unsigned short __n)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:181:33: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘short unsigned int’
  181 |       operator<<(unsigned short __n)
      |                  ~~~~~~~~~~~~~~~^~~
/usr/include/c++/12.1.0/bits/ostream.tcc:105:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’
  105 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/bits/ostream.tcc:106:20: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘int’
  106 |     operator<<(int __n)
      |                ~~~~^~~
/usr/include/c++/12.1.0/ostream:192:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  192 |       operator<<(unsigned int __n)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:192:31: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘unsigned int’
  192 |       operator<<(unsigned int __n)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/12.1.0/ostream:201:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  201 |       operator<<(long long __n)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:201:28: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘long long int’
  201 |       operator<<(long long __n)
      |                  ~~~~~~~~~~^~~
/usr/include/c++/12.1.0/ostream:205:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  205 |       operator<<(unsigned long long __n)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:205:37: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘long long unsigned int’
  205 |       operator<<(unsigned long long __n)
      |                  ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/12.1.0/ostream:220:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  220 |       operator<<(double __f)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:220:25: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘double’
  220 |       operator<<(double __f)
      |                  ~~~~~~~^~~
/usr/include/c++/12.1.0/ostream:224:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  224 |       operator<<(float __f)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:224:24: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘float’
  224 |       operator<<(float __f)
      |                  ~~~~~~^~~
/usr/include/c++/12.1.0/ostream:232:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  232 |       operator<<(long double __f)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:232:30: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘long double’
  232 |       operator<<(long double __f)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/12.1.0/ostream:245:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>]’
  245 |       operator<<(const void* __p)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:245:30: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘const void*’
  245 |       operator<<(const void* __p)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/12.1.0/ostream:250:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::nullptr_t) [with _CharT = char; _Traits = std::char_traits<char>; __ostream_type = std::basic_ostream<char>; std::nullptr_t = std::nullptr_t]’
  250 |       operator<<(nullptr_t)
      |       ^~~~~~~~
/usr/include/c++/12.1.0/ostream:250:18: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘std::nullptr_t’
  250 |       operator<<(nullptr_t)
      |                  ^~~~~~~~~
/usr/include/c++/12.1.0/bits/ostream.tcc:119:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; __streambuf_type = std::basic_streambuf<char>]’
  119 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/bits/ostream.tcc:120:34: note:   no known conversion for argument 1 from ‘const gsl::span<long int>’ to ‘std::basic_ostream<char>::__streambuf_type*’ {aka ‘std::basic_streambuf<char>*’}
  120 |     operator<<(__streambuf_type* __sbin)
      |                ~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/c++/12.1.0/bits/basic_string.h:48,
                 from /usr/include/c++/12.1.0/string:53,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_subgraph.h:7:
/usr/include/c++/12.1.0/string_view:672:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, basic_string_view<_CharT, _Traits>)’
  672 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/12.1.0/string_view:672:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   ‘gsl::span<long int>’ is not derived from ‘std::basic_string_view<_CharT, _Traits>’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/bits/basic_string.h:3883:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)’
 3883 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/12.1.0/bits/basic_string.h:3883:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   ‘const gsl::span<long int>’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>’
   33 |   ss << t;
      |   ~~~^~~~
In file included from /usr/include/c++/12.1.0/bits/ios_base.h:46,
                 from /usr/include/c++/12.1.0/streambuf:41,
                 from /usr/include/c++/12.1.0/bits/streambuf_iterator.h:35,
                 from /usr/include/c++/12.1.0/iterator:66,
                 from /usr/include/oneapi/dnnl/dnnl.hpp:28,
                 from /usr/include/dnnl.hpp:20,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_subgraph.h:10:
/usr/include/c++/12.1.0/system_error:279:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const error_code&)’
  279 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/system_error:279:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘const std::error_code&’
   33 |   ss << t;
      |   ~~~^~~~
In file included from /usr/include/c++/12.1.0/memory:77,
                 from /usr/include/oneapi/dnnl/dnnl.hpp:29:
/usr/include/c++/12.1.0/bits/shared_ptr.h:70:5: note: candidate: ‘template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __shared_ptr<_Tp, _Lp>&)’
   70 |     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
      |     ^~~~~~~~
/usr/include/c++/12.1.0/bits/shared_ptr.h:70:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   ‘const gsl::span<long int>’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:507:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, _CharT)’
  507 |     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:507:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘gsl::span<long int>’)
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:517:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, char)’
  517 |     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:517:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘char’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:523:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char)’
  523 |     operator<<(basic_ostream<char, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:523:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘char’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:534:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, signed char)’
  534 |     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:534:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘signed char’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:539:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, unsigned char)’
  539 |     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:539:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘unsigned char’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:598:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const _CharT*)’
  598 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:598:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   mismatched types ‘const _CharT*’ and ‘gsl::span<long int>’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/bits/ostream.tcc:302:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const char*)’
  302 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/bits/ostream.tcc:302:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘const char*’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:615:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const char*)’
  615 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:615:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘const char*’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:628:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const signed char*)’
  628 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:628:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘const signed char*’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:633:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const unsigned char*)’
  633 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:633:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘t’ (type ‘const gsl::span<long int>’) to type ‘const unsigned char*’
   33 |   ss << t;
      |   ~~~^~~~
/usr/include/c++/12.1.0/ostream:754:5: note: candidate: ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)’
  754 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/12.1.0/ostream:754:5: note:   template argument deduction/substitution failed:
/usr/include/c++/12.1.0/ostream: In substitution of ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::__cxx11::basic_ostringstream<char>&; _Tp = gsl::span<long int>]’:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:39:17:   recursively required from ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&, const Args& ...) [with T = long unsigned int; Args = {const char*, long int, const char*, gsl::span<long int>}; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:39:17:   required from ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&, const Args& ...) [with T = const char*; Args = {long unsigned int, const char*, long int, const char*, gsl::span<long int>}; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:46:17:   required from ‘std::string onnxruntime::detail::MakeStringImpl(const Args& ...) [with Args = {const char*, long unsigned int, const char*, long int, const char*, gsl::span<long int>}; std::string = std::__cxx11::basic_string<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:93:32:   required from ‘std::string onnxruntime::MakeString(const Args& ...) [with Args = {char [20], long unsigned int, char [23], long int, char [9], gsl::span<long int>}; std::string = std::__cxx11::basic_string<char>]’
/build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_reduce.cc:276:11:   required from here
/usr/include/c++/12.1.0/ostream:754:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
In file included from /build/python-onnxruntime/src/onnxruntime/build/_deps/abseil_cpp-src/absl/container/inlined_vector.h:40,
                 from /build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/inlined_containers_fwd.h:18,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/shared_library/provider_api.h:21:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h: In instantiation of ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&) [with T = gsl::span<long int>; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:39:17:   recursively required from ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&, const Args& ...) [with T = long unsigned int; Args = {const char*, long int, const char*, gsl::span<long int>}; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:39:17:   required from ‘void onnxruntime::detail::MakeStringImpl(std::ostringstream&, const T&, const Args& ...) [with T = const char*; Args = {long unsigned int, const char*, long int, const char*, gsl::span<long int>}; std::ostringstream = std::__cxx11::basic_ostringstream<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:46:17:   required from ‘std::string onnxruntime::detail::MakeStringImpl(const Args& ...) [with Args = {const char*, long unsigned int, const char*, long int, const char*, gsl::span<long int>}; std::string = std::__cxx11::basic_string<char>]’
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:93:32:   required from ‘std::string onnxruntime::MakeString(const Args& ...) [with Args = {char [20], long unsigned int, char [23], long int, char [9], gsl::span<long int>}; std::string = std::__cxx11::basic_string<char>]’
/build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_reduce.cc:276:11:   required from here
/usr/include/c++/12.1.0/cstddef:123:5: note: candidate: ‘template<class _IntegerType> constexpr std::__byte_op_t<_IntegerType> std::operator<<(byte, _IntegerType)’
  123 |     operator<<(byte __b, _IntegerType __shift) noexcept
      |     ^~~~~~~~
/usr/include/c++/12.1.0/cstddef:123:5: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/include/onnxruntime/core/common/make_string.h:33:6: note:   cannot convert ‘ss’ (type ‘std::ostringstream’ {aka ‘std::__cxx11::basic_ostringstream<char>’}) to type ‘std::byte’
   33 |   ss << t;
      |   ~~~^~~~
In file included from /build/python-onnxruntime/src/onnxruntime/onnxruntime/gsl/gsl:25,
                 from /build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/shared_library/provider_api.h:15:
/build/python-onnxruntime/src/onnxruntime/onnxruntime/gsl/gsl-lite.hpp:1477:37: note: candidate: ‘template<class IntegerType, class> constexpr gsl::byte gsl::operator<<(byte, IntegerType)’
 1477 |   gsl_api inline gsl_constexpr byte operator<<(byte b, IntegerType shift) gsl_noexcept {
      |                                     ^~~~~~~~
/build/python-onnxruntime/src/onnxruntime/onnxruntime/gsl/gsl-lite.hpp:1477:37: note:   template argument deduction/substitution failed:
/build/python-onnxruntime/src/onnxruntime/onnxruntime/gsl/gsl-lite.hpp:237:5: error: no type named ‘type’ in ‘struct std::enable_if<false, gsl::detail::enabler>’
  237 |   , typename = typename std::enable_if<(VA), gsl::detail::enabler>::type
      |     ^~~~~~~~
/build/python-onnxruntime/src/onnxruntime/onnxruntime/gsl/gsl-lite.hpp:1405:3: note: in expansion of macro ‘gsl_REQUIRES_T’
 1405 |   gsl_REQUIRES_T((std::is_integral<T>::value))
      |   ^~~~~~~~~~~~~~
/build/python-onnxruntime/src/onnxruntime/onnxruntime/gsl/gsl-lite.hpp:1476:31: note: in expansion of macro ‘gsl_ENABLE_IF_INTEGRAL_T’
 1476 |   template <class IntegerType gsl_ENABLE_IF_INTEGRAL_T(IntegerType)>
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/onnxruntime_providers_dnnl.dir/build.make:342: CMakeFiles/onnxruntime_providers_dnnl.dir/build/python-onnxruntime/src/onnxruntime/onnxruntime/core/providers/dnnl/subgraph/dnnl_reduce.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1611: CMakeFiles/onnxruntime_providers_dnnl.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
```

Error messages above are from gcc 12.1.0 on Arch Linux.

[1] https://github.com/microsoft/onnxruntime/pull/10014
2022-06-20 10:41:04 -07:00
Dmitri Smirnov
267a424e52
Retry Rework execution frame to reduce memory allocations (#11897)
* Revert "Revert "Refactor ExecutionFrame and SessionState to reduce memory all… (#11888)"

This reverts commit d2cbae3a04.

* Revert prepacked_weights to avoid indirect inclusion in CUDA and TRT code that breaks the build.
2022-06-20 10:29:43 -07:00
Tianlei Wu
6ee2c1b5fc
Remove temperature input from BeamSearch operator (#11896)
* remove temperature input
* update index of remaining inputs
2022-06-20 09:50:45 -07:00
Chi Lo
eb41bfb7b5
Fix graph viewer to proto (#11862)
* Add test for case where main const initialier in subgraph

* update test to use trt ep

* add initializer when converting from graph viewer to proto

* add comments

* add comments

* add comments

* only add initialier that is outer scope value

* make including outer scope value optional

* modify python format

* modify python format

* modify python format

* Remove test

* remove redundant argument
2022-06-19 19:28:18 -07:00
sumitsays
52f2b3bf89
[DML EP] Remove suffix removal adhoc logic for fusedNodeArgNames (#11879)
* DML EP: Remove suffix removal hack for fusedNodeArgName

* Acknowledged PR comments

* Removed reference from gsl::span

Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>
2022-06-17 17:04:16 -07:00
sfatimar
f97bd38c4f
UEP 4.1 release (#11834)
* Add pypi build changes to latest Master

* Add ORT training part of OV build

* Disabling SqueezeOpTest.BadAxes

* Add ONNXruntime branch ARG to Docker build

* Changes to include file details versions

* Commit File Version Updates

* Change naming for linux build

* Add fix for pylint format errors

* Fix pylint warnings.

* Fix pylint errors - stage 2

Signed-off-by: Preetha Veeramalai <preetha.veeramalai@intel.com>

* Fix pylint errors - stage 3

* Fix pylint format - stage4

Signed-off-by: Preetha Veeramalai <preetha.veeramalai@intel.com>

* Commit for Wheel Release >0.35.1

Co-authored-by: Preetha Veeramalai <preetha.veeramalai@intel.com>
Co-authored-by: mayavijx <mayax.vijayan@intel.com>
Co-authored-by: Sahar Fatima <sfatima.3001@gmail.com>
Co-authored-by: nmaajidk <n.maajid.khan@intel.com>
2022-06-17 14:49:04 -07:00
Edward Chen
a93fe7824a
Update EP compile API deprecation warning message. (#11808)
Minor wording update to warning message to clarify that the function style Compile API is deprecated now and will be removed soon.
Also updated some code comments.
2022-06-17 12:49:24 -07:00
Yi Zhang
f70201c801
Make sure the command works in both centos and ubuntu. (#11894)
make one bash condition compatible with POSIX
2022-06-17 12:19:22 -07:00
Rachel Guo
1494120423
[NNAPI EP] Unsqueeze op support (#11864)
* wip

* save unsqueeze support

* minor update

* remove unnecessary line

* address pr comments

* add comments
2022-06-17 12:07:18 -07:00
Yi-Hong Lyu
4ac72e305c
NHWC Resize optimization (#11825)
The optimization consists of:

* Use int32_t instead of int64_t
* Use different code path for tf_crop_and_resize or other
  coordinate_transformation_mode to avoid redundant conditions
* Loop-invariant code motion of offset, coefficient and extrapolation_value
  check
* Use fixed point to avoid floating-point computation

Besides, it always transforms NCHW Resize to NHWC because it has higher perf in
the NHWC variant when the input X is 4D int8/uint8 tensor and the mode is
linear on ARM.

It improves DeepLab V3 with int8 quantization by 26%~27% on big core and 37% on
LITTLE core on AArch64. It also improves DeepLab V3 with uint8 quantization by
24%~25% on big core and 34% on LITTLE core on AArch64.

Co-authored-by: Yufeng Li liyufeng1987@gmail.com
2022-06-17 11:00:36 -07:00
Edward Chen
adcf7e66c8
[NNAPI EP] Pad Op (#11860)
Add basic support for Pad Op in NNAPI EP.
2022-06-17 10:05:31 -07:00
Adrian Lizarraga
ad4abbd75e
[EP-Perf-Dashboard] Add support for TensorRT 8.4 to EP Perf Dashboard (#11876)
Co-authored-by: George Wu <jywu@microsoft.com>
2022-06-17 09:16:51 -07:00
Yi Zhang
8bb0062873
add manylinux_2_27 CPU wheel (#11886)
* add manylinux_2_27

* minor refactory

* change base image

* minor refactor

* add tests

* fix condition
2022-06-17 19:38:38 +08:00
Yi Zhang
d2cbae3a04
Revert "Refactor ExecutionFrame and SessionState to reduce memory all… (#11888)
Revert "Refactor ExecutionFrame and SessionState to reduce memory allocations and improve data locality (#11804)"

This reverts commit 2ecba6fd25.
2022-06-17 17:07:21 +08:00
stevenlix
bd65acd08d
Share execution context memory between TensorRT subgraphs (#11859)
* share trt context memory

* update parser to 8.4-EA

* update parser to 8.4-GA

* add context memory sharing enable option

* update parser to 8.2-GA

* fix format issue

* reverse orders

* fix format

* fix format

* fix issues
2022-06-16 22:42:40 -07:00
Changming Sun
10478a09ca Revert "add manylinux_2_27 wheel (#11832)"
This reverts commit bbace23d0c.
2022-06-16 18:28:12 -07:00
Dmitri Smirnov
2ecba6fd25
Refactor ExecutionFrame and SessionState to reduce memory allocations and improve data locality (#11804)
Refactor ExecutionFrame and SessionState for better data locality and less memory allocations.
2022-06-16 16:50:48 -07:00
Dwayne Robinson
3d99f16e98
Merge pull request #11827 from microsoft/user/dwayner/DmlEp1.9
Integrate WindowsAI feature branch with DML EP features and DML 1.9
2022-06-16 13:04:00 -07:00
George Wu
df5ee6aa4e
[TensorRT EP] support TensorRT 8.4 (#11866)
* update trt 8.4ga

* trt 8.4 linux ci pipeline

* fix cmake

* placeholder_builder

* trt 8.4 windows pipeline

* gpu package pipeline

* trt 8.4.1.5 , packaging pipeline updates

* python packaging

* ctest timeout

* python packaging test

* bump timeout

* python format

* format

* revert

* newline

* enable trt python tests

* typo

* python format

* disable on windows
2022-06-16 07:46:40 -07:00
Dwayne Robinson
fe7b8b80ae Revert BatchNormalization change for now, falling back to CPU on mixed types until a more advanced solution is written 2022-06-15 21:49:18 -07:00
Dwayne Robinson
babd6e3fcd Update DirectML preview package with unmangled names 2022-06-15 18:16:58 -07:00
Maxiwell S. Garcia
3f8c9146d5
ppc64le: specialize generic 'mlas' functions to use VSX instructions (#11845) 2022-06-15 16:49:38 -07:00
Scott McKay
d64f23fec0
EP factory creation cleanup and enhancements. (#11798)
* Rework the EP factory creation setup so we're not cut-and-pasting function declarations in multiple places.
Convert append EP for SNPE to be generic, and also use for XNNPACK.
Add XNNPACK to C# API

* Don't need stub for MIGraphX as it's using provider bridge.

* Remove old 'create' functions that aren't applicable now that the EPs are built as separate libraries.

* Only use EPs that require the layout transform if the opset is supported by the layout transformer.

* Update wasm registration of xnnpack.
2022-06-16 07:01:41 +10:00
Rachel Guo
1a1c360a80
[NNAPI EP] Add Gather op support (#11824)
* initial gather support nnapi

* update

* minor update

* address pr comments

* add int32 indices test case for nnapi

* remove nnapi ep limitation for added UT

* add link for memcpy type punning usage
2022-06-15 09:44:07 -07:00
Vincent Wang
02457ec30a
[CUDA] GatherElements[Grad]/ScatterElements Bugfix and Perf Improve (#11374)
* gather elements bugfix and perf improve

* fix win build

* fix ut on some eps

* ut change

* resove comments

* resolve comments

* fix win build
2022-06-15 16:29:17 +08:00
Xavier Dupré
a805a49363
Move OrtValueVector from onnxruntime-training to onnxruntime (#11176)
* Move OrtValueVector from onnxruntime-training to onnxruntime

* disable dlpack on onnxruntime

* disable dlpack

* dlpack

* opaque inlcuded in any cc file of the python binding

* fix type issue

* fix incomplete name

* remove len()

* remove unused parameter

* black

* black

* black

* remove unused import

* add unit test to check the output type

* black

* lint

* lint

* lint

* fix method name

* Update onnxruntime/python/onnxruntime_pybind_ortvalue.cc

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* Update onnxruntime/python/onnxruntime_pybind_ortvalue.cc

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* Update onnxruntime/python/onnxruntime_pybind_ortvalue.cc

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* Update onnxruntime/python/onnxruntime_pybind_ortvalue.cc

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* Update onnxruntime/python/onnxruntime_pybind_ortvalue.cc

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* Update onnxruntime/test/python/onnxruntime_test_python_sparse_matmul.py

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* Update onnxruntime/test/python/onnxruntime_test_python_sparse_matmul.py

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* check return type of C API

* lint

* lint

* fix missing ;

* fix type issue

* fix merge issue

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>
2022-06-15 09:36:28 +02:00
Dwayne Robinson
ff8b173286 Typo in DirectML.Debug.dll 2022-06-15 00:18:40 -07:00
Dwayne Robinson
508c76a246 Add missing DirectML.Debug.dll 2022-06-15 00:16:10 -07:00
Dwayne Robinson
e3ec30efb6 Add missing GELU to ApiHelpers.h 2022-06-14 23:28:15 -07:00
Dwayne Robinson
4c1a410d54 Unmangle DML preview package filenames 2022-06-14 23:12:58 -07:00
Yi Zhang
bbace23d0c
add manylinux_2_27 wheel (#11832)
* add manylinux_2_27
2022-06-15 10:26:51 +08:00
Changming Sun
51ed27cf22
Delete win-gpu-cuda-10-2-pipeline.yml (#11847) 2022-06-14 18:34:56 -07:00
daquexian
3cbbf9dcae
Fix wasm static lib in sub-project (#11671)
* wasm_static_lib_global

Signed-off-by: daquexian <daquexian566@gmail.com>

* make wasm static lib global

Signed-off-by: daquexian <daquexian566@gmail.com>

* fix the property

Signed-off-by: daquexian <daquexian566@gmail.com>

* add code missing after merge

Signed-off-by: daquexian <daquexian566@gmail.com>
2022-06-14 15:18:11 -07:00
Gary Miguel
e8b0d24071
Support per-test tolerances for ONNX tests (#11775)
Prior to this every test shared the same tolerances. This meant
that if an ONNX test failed due to a small but acceptable difference in
output, the only alternative was to disable the test entirely.

In op set 17, the DFT operator is being added. Without this change, the
tests for that operator fail because the output is off by about 5e-5.
It's better to keep test coverage for this new op rather than disable
the test entirely.

Also prior to this change, the global tolerances were not shared between
C++, JavaScript, and Python tests. Now they are.

Also fix various minor issues raised by linters.

Unblocks https://github.com/microsoft/onnxruntime/issues/11640.
2022-06-14 15:12:23 -07:00
Chen Fu
d936751aad
QlinearConv threading adjustments (#11228)
* Reserve the first core for the main thread

Currently in "auto affinity" mode the worker threads are affinized to cores 0..(N-1), leaving the very last core for the main thread. This patch preserves core #0 for the main thread, and affinizes the worker threads to cores 1..N.

* Avoid unneeded spin_pause in thread pool's worker threads

Remove unneeded PAUSE instruction (0.1-0.2 usec latency) after a worker thread finds a task to execute.

* MLAS/x86: optimize QLinearConv on hybrid CPUs

Existing 4x task granularity for task partitioning on hybrid CPUs is
not sufficient to compensate the difference of VNNI instructions
throughput
between performance and efficient cores. This patch...

* Increases granularity for QLinearConv by 2x, to have 2x more tasks
with 2x
  smaller output count

  * Limits QLinearConv task count from above, to avoid output count per
  task
    getting smaller than kernel's capability

    * Remove hardcoded task count for QLineConv as it limited scaling on
      16+ cores CPUs

* MLAS/x86: optimize QLinearConv on hybrid CPUs

Existing 4x task granularity for task partitioning on hybrid CPUs is not sufficient to compensate the difference of VNNI instructions
throughput between performance and efficient cores. This patch...

  * Increases granularity for QLinearConv by 2x, to have 2x more tasks
  with 2x smaller output count

  * Limits QLinearConv task count from above, to avoid output count per
  task getting smaller than kernel's capability

  * Remove hardcoded task count for QLineConv as it limited scaling on
  16+ cores CP

* Addressing comments

* combining x86 ARM branches in qlinearconv threaded job partition

* revert first core assignment

Co-authored-by: Saurabh <saurabh.tangri@intel.com>
Co-authored-by: Chen Fu <fuchen@microsoft.com>
2022-06-14 14:42:12 -07:00
Yufeng Li
80d8c4c7ff
add data type check before quantizing (#11840) 2022-06-14 14:22:34 -07:00