Commit graph

5874 commits

Author SHA1 Message Date
Sergii Dymchenko
ba339e667b
Add training performance investigation script (ONNX graph analyzer) (#9791)
* Add first version of performance investigation script.

* Simplify and update performance investigation script.
2021-11-19 13:27:00 -08:00
Zhang Lei
7e026286ae
Safe remove quantized inititalier which may still be used (#9788)
* safe clear unused initializers.

* Force quantize by default.

* add option for force quantize.

* Add transpose to quantize_dynamic.

* optimize remove initialiers, catch error on remove input entries as
original logic.

* fix change impact on th qdq quantizer.

* Fix a typo

* add logic handle empty input/output name.
2021-11-19 11:11:30 -08:00
Wei-Sheng Chin
e520bb5145
Improve print functions for NodeArg, Node, and Graph (#9801) 2021-11-19 09:48:27 -08:00
Gary Miguel
9d3c63263b
symbolic_shape_infer: Improve error message on mismatched types (#9809)
The previous assertion failure was basically impossible to debug.
2021-11-19 09:39:26 -08:00
Scott McKay
afd60a274c
Fix some places where there were unused parameters when sparse tensors were disabled. Doesn't break in an android/ios build. Does in a windows build. (#9807) 2021-11-19 14:17:53 +10:00
George Nash
b77a6cda50
squeeze and unsqueeze operators for the dnnl execution provider (#9798)
* Implementaiton of Squeeze op for dnnl ep

Signed-off-by: George Nash <george.nash@intel.com>

* Implementaiton of Unsqueeze op for dnnl ep

Tests were added to the unsqueeze_op_test to test Unsqueeze op
with a scalar input.

The OneDNN (dnnl) ep automatically converts scalars to a one dimentional
tensor.  For most operations this causes no problems. However, for
Unsqueeze the difference between a scalar vs. tensor couldn't be
ignored. A IsScalar member function was added to the DnnlSubgrapPrimitive
class that will return true if the ORT tensor was a scalar type. IsScalar()
is then used inside the Unsqueeze code.

updated the squeeze node capability to only accept ConstantInitializer
inputs.

All unsqueeze op tests that tested opset 13 now run with and without
constant initializers.

Signed-off-by: George Nash <george.nash@intel.com>
2021-11-18 19:36:48 -08:00
dependabot[bot]
df5eb98b6e Bump tmpl from 1.0.4 to 1.0.5 in /js/react_native
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-19 03:27:14 +00:00
Tang, Cheng
fcc167dd47
fix reshape implementation in eager mode (#9741) 2021-11-18 19:26:49 -08:00
dependabot[bot]
7ea19539f8 Bump path-parse from 1.0.6 to 1.0.7 in /js/react_native
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-19 01:51:02 +00:00
dependabot[bot]
0556b41127 Bump react-native from 0.63.4 to 0.64.1 in /js/react_native
Bumps [react-native](https://github.com/facebook/react-native) from 0.63.4 to 0.64.1.
- [Release notes](https://github.com/facebook/react-native/releases)
- [Changelog](https://github.com/facebook/react-native/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react-native/compare/v0.63.4...v0.64.1)

---
updated-dependencies:
- dependency-name: react-native
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-19 01:50:41 +00:00
dependabot[bot]
6977804804 Bump electron from 12.0.2 to 12.1.0 in /js/web
Bumps [electron](https://github.com/electron/electron) from 12.0.2 to 12.1.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v12.0.2...v12.1.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-19 01:50:27 +00:00
satyajandhyala
3af14fc554
Updated SoftmaxGrad and LogSoftmaxGrad to support version 13. (#9733)
* Updated SoftmaxGrad_13/LogSoftmaxGrad_13 to support version 13.
2021-11-18 17:39:16 -08:00
Scott McKay
dc1724b0e2
Reduce DataTypeImpl binary size (#9783)
* Reduce the number of virtual methods in DataTypeImpl to reduce binary size.
Refactor some helpers to reduce the amount of templatized code.
2021-11-19 10:29:12 +10:00
Vincent Wang
f390347c11
Add CUDA Kernels of RandomNormal[Like], RandomUniform[Like] (#9761) 2021-11-19 08:18:34 +08:00
Dmitri Smirnov
6284cbe833
Add TensorShape noexcept for move ops and fix some warnings (#9802)
Add TensorShape noexcept for move ops and fix some warnings
2021-11-18 15:27:24 -08:00
Zhang Lei
8ef6aff734
Zhalei/dwqconv3x3 5x5 arm64 (#9714)
* Arm64 Depthwise Convolution 3x3.

* Add 5x5 intrinsic dwqconv for arm64

* rebase to master, remove no-need logic after arm64 convsym enabled.

* Some more adjustment on the instrunction pipeling.

* Add specific test cases.

* Fix test dimension too small.

* Fix build warning as error on some CI.

* better format, etc.
2021-11-18 13:57:16 -08:00
Chi Lo
7242627fec
Integrate TensorRT into GPU Python package (#9785)
* add use_tensorrt build option

* Add use_tensorrt to running tests

* add use_tensorrt for Windows

* make trt ep to skip backend test

* make trt ep to skip backend test

* Fix bug

* Add/Modify description

* modify for debug

* swtich pool to test

* modify to debug

* modify to debug

* add vobersity

* refine the code

* refine the code

* refine the code

* fix flake8 warning

* refine the code

* add pre_load check for trt as well as add cupti lib to cuda depedencies

* modify script to make trt build path the same as cuda

* show error message when user wants to run TensorRT but TensorRT is not installed in the env

* fix bug

* fix bug

* add trt lib for manylinux

* include cuda_dependencies for trt

* rewrite the condition to throw exception

* make code more compact
2021-11-18 13:26:51 -08:00
Changming Sun
76715ad525
Delete ioscross code (#9793) 2021-11-18 11:31:13 -08:00
Scott McKay
1aa21df149
Fix issue with debug VS2022 build when python bindings are enabled (#9794)
* Add intermediate header between the ORT code and pybind11 to workaround an issue with VS2022 debug builds by making sure corecrt.h is included first.

This avoids the _STL_ASSERT macro being defined in an incompatible way for a debug build by pybind including the python headers with _DEBUG temporarily undefined .

See #9735 for details.
2021-11-18 16:58:02 +10:00
Hariharan Seshadri
e23892ddbe
Support disabling support for the optional type in ORT builds (#9745) 2021-11-17 19:13:28 -08:00
Sheil Kumar
9fb3fac5a0
Enable LearningModel::LoadFromFilePath in UWP Apps (#9790)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-11-17 19:09:31 -08:00
Vincent Wang
3654a5d60e
Register Custom Symbolic of torch.einsum for ORTModule (#9590)
* register custom symbolic for einsum

* bugfix for case needs permute at the end

* refactor

* refactor equation parser

* support new case, use ReduceProd

* optimize perf and graph

* remove some Gather node

* add more ut, fix gemm trans fusion
2021-11-18 10:13:58 +08:00
Scott McKay
6545e24b60
Update mobile prebuilt package ops to add support for opset 14 and 15 (#9717)
* Update required operators for prebuilt package to add opsets 14 and 15.
Add helper script to check if the prebuilt package will support the model and if not why not.

* Add support for multiple opsets being specified on a single line in the required operators config. This makes it easier to update the pre-built package config.

It's also required for validation tools to work as they only have a single opset from the model and not per-operator opsets. If we only list the incremental ops we could merge in the ops from the previous opset, but that wouldn't give a way to drop an operator from being supported.

Left the info on which ops changed though so we have a better feel for the cost of supporting each opset.
2021-11-18 10:44:39 +10:00
Brian Martin
20ec48129b
fix typo in LearningModelDevice.cpp (#9787)
Ivalid -> Invalid
2021-11-17 15:29:34 -08:00
Hariharan Seshadri
871d3fb839
Fix a bug in ReluClip fusion (#9764) 2021-11-16 17:59:02 -08:00
Suffian Khan
b409cbe62c
Fix incorrect library reference in Python manylinux package for CUDA (#9769) 2021-11-16 13:40:17 -08:00
satyajandhyala
421e4c03ce
Update default cast propagation strategy from None to FloodFill (#9713)
* Changed the default cast propagation strategy from None to FloodFill.
2021-11-16 13:15:57 -08:00
Edward Chen
9acbfeba09
Address some code scan issues. (#9752) 2021-11-16 10:24:46 -08:00
Chun-Wei Chen
ac57afc3a6
Update ONNX to 1.10 globally in CIs (#9751)
* Bump ONNX 1.10.2 globally

* load ONNX_VERSION from VERSION_NUMBER

* /
2021-11-15 15:28:26 -08:00
sfatimar
1d03baa8cc
Openvino ep 2021.4 v3.3 (#9588)
* Added checks for Hetero/Multi

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Remote Context Plugin

* changes for IO Buffer plugin

* erronous couts added

* erronous entry rectified

* Set the Openvino OP Buffer also as output

* Enable AUTO plugin in OpenVINO EP

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Remote Context Plugin

* changes for IO Buffer plugin

* erronous couts added

* erronous entry rectified

* Added checks for Hetero/Multi

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Set the Openvino OP Buffer also as output

* Enable AUTO plugin in OpenVINO EP

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Please commit error message and rectification of param.context

* Alignment fixed

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Changed the string to OpenVINO_GPU

* hanged OpenVINO to to OpenVINO_CPU

* Onnxruntime updated API for memory location

* Removing Duplicate LOG Error

* Tensor.h removed DeviceType function. Updated comment

* API Comments updated

* Removing changes to Provider Indo

* Erronous commit

* Removing Extra logs

* Merge CMAKE

* Not copy from a  local location

* Duplicate Entry

* Remove extra line

Co-authored-by: MaajidKhan <n.maajidkhan@gmail.com>
2021-11-15 13:41:12 -08:00
Changming Sun
4ca11b05a5
Remove python 3.10 from rocm docker image (#9749)
* Remove python 3.10 from rocm docker image

* update
2021-11-15 12:49:59 -08:00
Chen Fu
1c84621020
Adding ARM64 depthwise convolution kernel for symmetric quantization (#9655)
Adding ARM64 depthwise convolution kernel for symmetric quantization

Motivation and Context
Two improvements against current kernel code :

1. Signed int8 based instructions, no need to extend from 8b to 16b before multiplication.
2. Unrolled loop with manual software pipelining

Co-authored-by: Chen Fu <fuchen@microsoft.com>
2021-11-15 12:18:43 -08:00
raviskolli
9f4e8cf6a0
Update training pipelines to pytorch 1.10 (#9709)
* Update training pipelines to pytorch 1.10

* Fixed a typo in cuda version.

* Downgraded gcc to 8 for cuda 10.2
2021-11-15 11:21:55 -08:00
Tang, Cheng
99257eb8e3
support build option to include external graph transformers (#9478)
* temp code

* support external graph transformer  from build script

* remove debug code

* add test case

* support register rewrite rule

* fix source_group issue if external source is not share any common prefix

* fix python code style checker

* resolve merge conflict

Co-authored-by: Cheng Tang <chenta@microsoft.com>
2021-11-15 08:16:20 -08:00
pengwa
6e09fc5152
Implement block wise softmax for reduction dimention > 1024 cases. (#9696)
* implement block wise softmax for reduction dimention > 1024 cases.

* fix builds

* fix

* fix amd build

* fix amd build

* fix win-gpu build

* add tests

* remove cudnn path/add python tests
2021-11-14 11:47:58 +08:00
Sheil Kumar
3d0bd2596f
Enable creating OrtValues from ID3D12Resources from the onnxruntime C-API (#9686)
* Add onnxruntime-windows api.

* minor fixes

* add to package headers

* Build ort_dml_api for provider extensions.

* Cleanup

* misc comment

* remove winml specific comments

* use dml check in onnxruntime

* Update include/onnxruntime/core/providers/dml/dml_provider_factory.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update include/onnxruntime/core/session/onnxruntime_c_api.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update include/onnxruntime/core/providers/dml/dml_provider_factory.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update include/onnxruntime/core/providers/dml/dml_provider_factory.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update onnxruntime/core/session/onnxruntime_c_api.cc

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update onnxruntime/core/session/ort_apis.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update winml/test/adapter/AdapterSessionTest.cpp

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update onnxruntime/core/session/onnxruntime_c_api.cc

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update winml/adapter/winml_adapter_c_api.cpp

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update include/onnxruntime/core/session/onnxruntime_c_api.h

Co-authored-by: Pranav Sharma <prs@microsoft.com>

* Update onnxruntime/core/session/onnxruntime_c_api.cc

Co-authored-by: Pranav Sharma <prs@microsoft.com>

* Update winml/adapter/winml_adapter_c_api.cpp

* PR feedback

* Update include/onnxruntime/core/providers/dml/dml_provider_factory.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update include/onnxruntime/core/providers/dml/dml_provider_factory.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* Update include/onnxruntime/core/providers/dml/dml_provider_factory.h

Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>

* PR feedback

* merge resolution and unreference param

* (naming) Remove Dml prefix

* maybe unused version

* move DML code into DML path. CIs failing because DML is not available when --use_dml is not on

* fix warning causing local build failures after merging

* Change getvaluememoryinfo to gettensormemoryinfo

* minor breaks

* fix comment paste

* fix comment

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>
Co-authored-by: Pranav Sharma <prs@microsoft.com>
2021-11-13 03:34:54 -08:00
RandySheriffH
21eb747a0f
Custom thread creation and join hooks (#9426) 2021-11-12 19:10:31 -08:00
Edward Chen
9f69d8bbae
Disable partial runtime optimization implementation by default (#9748)
* Only serialize runtime optimization records container if non-empty.

* Remove runtime optimizations from onnxruntime/core/flatbuffers/schema/README.md as it's not completely implemented yet.

* Disable partial runtime optimization implementation by default.
2021-11-12 17:37:29 -08:00
Sheil Kumar
a17bdaf725
Enable JoinModels API in WinML+RT Experimental API (#9746)
* Dynamic onnx model fusion

* empty node names shoudl remain empty

* comments and cleanup

* logic reversed for promoting_unlined_outputs

* PR feedback

* type

* typo

* fix model outputs with promote unlinked output

* remove disembodied model

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-11-12 16:56:31 -08:00
Guoyu Wang
5ad6dbb314
Remove experimental from ORT format namespace (#9729)
* schema change

* cc channges

* remove temp debug code

* Adding fbs namespace to session_state_flatbuffers_utils.h

* Add fbs namepsace to all ort format utils
2021-11-11 19:46:30 -08:00
Aidan Beggs
f6edf13513
Implement a Gemm/Sum fusion pattern (#9699)
When the pattern Sum(Gemm(A, B), C) exists, we can convert it to
Gemm(A, B, C), assuming that C the output of the original Gemm is
not used elsewhere, and this change does not break broadcasting.
2021-11-11 18:33:13 -08:00
Edward Chen
997266a620
Add build.py option to disable ORT format model runtime optimization (#9723)
ORT format model runtime optimization implementation is in progress.
This change adds a build.py option to disable the partial runtime optimization implementation, adds CI builds to test it, and disables runtime optimizations in mobile package builds.
2021-11-11 18:05:45 -08:00
Gary Miguel
93e239747f
Construct valid graphs for ONNX checker for IR version < 4. (#9665)
* Construct valid graphs for ONNX checker for IR version < 4.

Previously the constructed graph was not guaranteed to have its
initializers be a subset of its inputs, which is required for IR
version < 4. This resulted in spurious failures.

Fixes #9663
2021-11-12 09:13:28 +10:00
zhaoyang-intel
32c896df6d
Add DynamicQuantizeLinear to DNNL EP (#9620)
implement dynamicquantizelinear in DNNL EP

add debug log in EP for operator coverage

block gpu elementwise op with 5 dims or more

Signed-off-by: Wang <zhaoyang.wang@intel.com>
2021-11-11 14:01:09 -08:00
Nick Kreeger
559adbb534
Replace deprecated PyEval_CallObject() call with PyObject_CallObject(). (#9737)
This API was changed in 3.9:
https://docs.python.org/3/whatsnew/3.9.html#changes-in-the-c-api
https://docs.python.org/3/c-api/call.html#c.PyObject_Call
2021-11-11 15:37:55 -06:00
Scott McKay
724009289b
Fix Issue #9671 (#9691)
* Fix #9671 by running the level 1 rewrite rules first and allowing the transpose optimizer to run multiple times to ensure it completes in level 1.

Removed unnecessary call to GenerateRuleBasedGraphTransformer as there are no level 2 rewrite rules.
2021-11-12 07:18:16 +10:00
Yi-Hong Lyu
03f9d77e17
Fix index out of bound bug of generated Gather (#9673)
Handle the NHWC support for quantized Resize that roi and scales are
rank 0
2021-11-11 11:32:50 -08:00
Suffian Khan
e6f0fdd653
Strip AMD libraries bundled with Python package due to libonnxruntime_providers_rocm.so change (#9679)
* remove AMD library depedence from libonnxruntime_providers_rocm.so

* fix flake error

* remove rocm dependency from original library as well
2021-11-11 09:32:09 -08:00
Sherlock
acb5459268
Random CPU kernels should respect global seed (#9726)
* Random CPU kernels should respect global seed
2021-11-10 22:28:48 -08:00
Viswanath Boga
9d84811fb6
fixing pypi pipeline for release (#9716)
* fixing pypi pipeline for release

* updated the script and correct python version

* updated the version correctly with script changes

* Remove 1.9.1
2021-11-10 17:33:51 -08:00