Commit graph

6027 commits

Author SHA1 Message Date
RajalakshmiSR
8564fc1933
POWER10: Add optimized dgemm kernel (#9652)
* POWER10: Add optimized dgemm kernel

This patch makes use of POWER10 matrix multiply assist feature and
adds new DGEMM kernel.

* Indentation update

Co-authored-by: Rajalakshmi Srinivasaraghavan <rajis@linux.ibm.com>
2021-11-22 20:28:21 -08:00
jingyanwangms
bf5e9a5044
bumping up ORT_API_VERSION to 10 (#9838)
Co-authored-by: Jingyan Wang <jingywa@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-11-22 20:27:45 -08:00
Scott McKay
fb4a8e12fc
Limit inclusion of Xamarin mobile target frameworks. (#9834)
- Only set them as targets for the ORT nuget package
    - Use OrtPackageId as the condition for inclusion, if installed
      - need to do the nuget restore via msbuild so that this property is set correctly
  - Add desktop-only version of the C# sln as there is no way to exclude the mobile specific csproj's from an sln
    - use this when applicable if someone is running build.py with the `--build_nuget` flag

Other
  - remove attempt to include symbols in the nuget package as nuget doesn't support symbols in native packages
  - update build.py to use `nuget` and not a windows specific path and filename for a linux build with `--build_nuget`
2021-11-23 11:29:53 +10:00
Yulong Wang
74ca417c0e
[js/web] optimize bundle file size (#9817)
* es2017 by default for ort-common

* add visualizer and define plugin

* es2017 for ort-web. also add build target for es5

* add multiple reduced size build for ort-web

* resolve comments, add e2e tests and add docs
2021-11-22 13:56:55 -08:00
Edward Chen
bcc6ab29f6
Trim DataTypeImpl binary size (#9813)
* De-virtualize DataTypeImpl::AsXType() functions.
* Refactor helpers.
2021-11-22 12:06:24 -08:00
Dmitri Smirnov
567749b2dc
Expose IOBinding SynchronizeInputs/Outputs via C/C++/C# And Python APIs (#9823)
Add C/C++ APIs for SynchronizeBoundInputs/Outputs
 Add python bindings
 Expose SynchronizeBoundInputs/Outputs to C# API
2021-11-22 09:45:31 -08:00
dependabot[bot]
8dcd388ec5 Bump ansi-regex from 5.0.0 to 5.0.1 in /js
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 16:04:10 +00:00
dependabot[bot]
c779f2cad5 Bump path-parse from 1.0.6 to 1.0.7 in /js
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-22 16:03:45 +00:00
Changming Sun
88d8d2d02a
Remove Copy NuGet Package to Azure Blob Store build step (#8991) 2021-11-22 08:03:02 -08:00
Yi-Hong Lyu
efcdbac4e7
Fix ONNX Runtime Mobile link in js/web/README.md (#9828) 2021-11-21 17:58:03 -08:00
Chi Lo
3a85ade511
Avoid segmentation fault when creating session with TRT EP or OpenVINO EP using python (#9814)
* fix segmentation fault

* fix typo

* fix bug

* make logic the same as CUDA ep

* Modify for OpenVINO

* Add env variable check for OpenVIO

* refine the code

* refine EP failed registration warning messages.

* update OpenVINO exception message.

Co-authored-by: George Wu <jywu@microsoft.com>
2021-11-20 07:52:50 -08:00
Dwayne Robinson
7396689c2b
Merge pull request #9765 from microsoft/user/dwayner/DML1.8forORT1.10
Update DirectML 1.5.1 to 1.8.0 for ORT1.10
2021-11-19 22:39:07 -08:00
Ye Wang
6856619b18
Decoder Attention CUDA Op (#9792)
* add kernel interface

* register kernel

* add self/cross qkv projection without cache

* add LaunchTransQkv2 for (S,B,X,N,H) -> (X,B,N,S,H)

* refactor ConcatPastToPresent

* DecoderQkvToContext interface

* q,k,v buffer and cache as output

* qk, pv and transctx

* fix compiler error on linux machine

* key_padding_mask

* add test_parity file. However not runnable

* add partial unittest

* made partial attributes to inputs

* --gen_doc

* change kernel interface, add more tests

* morre parity tests

* fix test

* fix typo

* transpose optimizer has bug. remove it temporarily

* add input shape checks

* add type/shape inference

* fix cache shape check

* fix rocm build failure

* fix rocm build error

* review comments

* review comments
2021-11-19 19:25:36 -08:00
Zhang Lei
16ddaf564c
Fix uninitialized warning by some compiler. (#9822)
Co-authored-by: Lei Zhang <phill.zhang@gmail.com>
2021-11-19 17:47:14 -08:00
Dwayne Robinson
f28d7eca67 Disable DML dynamicquantizelinear in backend tests DML Bug 33073263 2021-11-19 16:29:34 -08:00
Ryan Hill
1b953c6423
Fix some code defects (#9810) 2021-11-19 15:48:15 -08:00
Dwayne Robinson
d1b772e09a Mark dynamicquantizelinear as broken in DML 2021-11-19 15:06:44 -08:00
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
Dwayne Robinson
f047be55d4 Merge branch 'master' into user/dwayner/DML1.8forORT1.10 2021-11-19 12:42:52 -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
Dwayne Robinson
289b1bdc86 Merge remote-tracking branch 'ado_wai_ort/DmlDev' into user/dwayner/DML1.8forORT1.10 2021-11-19 05:35:00 -08:00
Dwayne Robinson
32419974ad Merge remote-tracking branch 'origin/master' into user/dwayner/DML1.8forORT1.10 2021-11-19 05:20:26 -08:00
Dwayne Robinson
e0ffc30a0b Update to 1.8.0 2021-11-19 04:44:32 -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
Numfor Mbiziwo-Tiapo
a2787ca67c Merged PR 6688023: ORT GitHub to DmlDev RI
https://microsoft.visualstudio.com/WindowsAI/_build/results?buildId=41740400&view=results

![Screenshot (42).png](https://dev.azure.com/microsoft/274e76ac-6b29-4f77-a85d-7914c77cabd5/_apis/git/repositories/853d2ddc-663c-4fe8-8036-dbf0d50db2d9/pullRequests/6688023/attachments/Screenshot%20%2842%29.png)

![Screenshot (43).png](https://dev.azure.com/microsoft/274e76ac-6b29-4f77-a85d-7914c77cabd5/_apis/git/repositories/853d2ddc-663c-4fe8-8036-dbf0d50db2d9/pullRequests/6688023/attachments/Screenshot%20%2843%29.png)
2021-11-18 22:55:23 +00:00
nums11
533b20c6ca Merge remote-tracking branch 'upstream/master' into dmldev_temp 2021-11-18 14:21:34 -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
Dwayne Robinson
191bc518a1 Merged PR 6676705: Add opset 13 for ops which are unchanged
Add opset 13 for ops which are unchanged.

The culled list, removing any operators that changed signature (beyond just data type) or any that we don't support:

Abs-13
Add-13
ArgMax-13
ArgMin-13
Cast-13
Ceil-13
Clip-13
Concat-13
Constant-13
DepthToSpace-13
Div-13
Equal-13
Erf-13
Exp-13
Expand-13
Flatten-13
Floor-13
Gather-13
GatherElements-13
GatherND-13
Gemm-13
Greater-13
Identity-13
IsNaN-13
LRN-13
Less-13
Log-13
MatMul-13
Max-13
Mean-13
MeanVarianceNormalization-13
Min-13
Mod-13
Mul-13
Neg-13
Pad-13
Pow-13
Reciprocal-13
ReduceL1-13
ReduceL2-13
ReduceLogSum-13
ReduceLogSumExp-13
ReduceMax-13
ReduceMean-13
ReduceMin-13
ReduceProd-13
ReduceSumSquare-13
Relu-13
Reshape-13
Scatter-13
ScatterElements-13
ScatterND-13
Sigmoid-13
Sign-13
Slice-13
SpaceToDepth-13
Sqrt-13
Sub-13
Sum-13
Tanh-13
Tile-13
Transpose-13
Upsample-13

Related work items: #36946821
2021-11-18 03:34:52 +00: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