Commit graph

6070 commits

Author SHA1 Message Date
Chi Lo
02aa16e3ea
QDQ tool modification part3 (#9904)
* refine per channel quantization for qdq

* remove old option

* add comment

* add import itertools
2021-12-03 10:09:34 -08:00
Dwayne Robinson
4ff78aae45
Merge pull request #9917 from microsoft/user/dwayner/FnsCandyTolerance30696168
Update WinML model tests for FNS candy and Inception float16
2021-12-02 22:45:45 -08:00
Sheil Kumar
5edaa75ef6
Fix LoadFromStream to not use wss::Buffer internally (#9918)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-12-02 21:29:06 -08:00
Tang, Cheng
8db49e3d0f
add ortmodule and eager mode test (#9888)
* add ortmodule and eager mode test

* add ortmodule dependency

* fix eager pipeline

* skip tthe ortmodule test for windows due to win ci issue

* remove useless win ci change

* add torch

Co-authored-by: Abhishek Jindal <abjindal@microsoft.com>
2021-12-02 19:49:18 -08:00
Dwayne Robinson
6e4c534ce2 Relax tolerance slightly more for Intel after autopilot run 2021-12-02 19:42:31 -08:00
George Nash
1c38ceda49
Add fusion support for Dnnl execution provider (#9897)
* Op fusion support added

In addition the following op fusions are detected
 - ConvRelu
 - MatMulAdd

This change includes
  - Change abstraction of Subgraph + node + tensor to support delete insert
    modify
  - add nodearg class to establish connection from tensor to node
  - add graphtransformer class to support fusion
  - add topological sort to ensure propoer node ordering after fusion
  - add convrelu + matmuladd primitive to support execution of fused nodes
  - Fix FusionResolution with missing tensors

    when fusing, if the target node contains fewer tensors then original
    patterns (Gelu and FastGelu ignores many initializers), potentially delete them
    also from inputs and initializers

    Also check tensor has no producer and consumer before deleting

Signed-off-by: Wang <zhaoyang.wang@intel.com>

* Gelu and FastGelu Fusion for DNNL EP

The basics of the Gelu/FastGelu code is modeled after:
   - core/optimizer/fast_gelu_fusion.cc and
   - core/optimizer/gelu_fusion.cc

OneDNN does not have support for 'Erf' unless it is part of 'Gelu'.

This results in detecting 'Gelu' fusion twice. Once when detecting
if the 'Erf' Operator is supported and again in the subgraph transformer
code. The capability code is finding the Gelu using onnxruntime:GraphViewer
and onnxruntime::Node.  While the transformer code is using DnnlSubgraph
and DnnlNode.  This results in two parts of code looking for the same
pattern but unfortanatly having little code reuse.

This also adds support for Biased versions of Gelu and FastGelu if they already
exist in a model.

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

* Code Clean Up

Signed-off-by: Wang <zhaoyang.wang@intel.com>

Co-authored-by: Wang <zhaoyang.wang@intel.com>
2021-12-02 18:11:19 -08:00
Abhishek Jindal
06e63218be
changing commit for windows build for eager mode (#9912) 2021-12-02 14:07:46 -08:00
Dwayne Robinson
77e67a6de7 Add one more example line 2021-12-02 13:34:01 -08:00
Dwayne Robinson
ef7671b938 Comment out old lines 2021-12-02 13:30:34 -08:00
Scott McKay
912e50f61c
Add CI minimal build with all options disabled. Fix python binding code if sparse tensors are disabled. (#9898)
* Add 2 builds to validate the cmake defines for excluding optional components work in both full and minimal builds.

* Create empty config for no-ops build

* Create empty config for no-ops build - attempt #2

* Create empty config for no-ops build - attempt #3

* Update python binding code to work when sparse tensors are disabled.
2021-12-03 06:56:51 +10:00
Dwayne Robinson
5ba4079546 Merge branch 'DmlDev' into user/dwayner/FnsCandyTolerance30696168 2021-12-02 01:04:49 -08:00
Dwayne Robinson
7a3abd863f Update WinML model test tolerances for tiny_yolov2 and FNS_Candy 2021-12-02 00:48:54 -08:00
Scott McKay
3f5c1e1c58
Update to include the Xamarin targets for internal ORT builds so the managed nuget package is consistent as both CPU and GPU builds produce a package called Microsoft.ML.OnnxRuntime.Managed. (#9906) 2021-12-02 18:43:34 +10:00
Jeff Daily
8d88a6ac7f
add --amdgpu-target=gfx90a (#9820) 2021-12-01 22:28:52 -08:00
Scott McKay
00c979db4d
Update doc for operators/opsets supported by mobile package (#9899) 2021-12-02 13:51:22 +10:00
RandySheriffH
078782ea3c
exclude test case from reduced-op build (#9895)
Co-authored-by: Randy Shuai <rashuai@microsoft.com>
2021-12-01 15:50:36 -08:00
Ryan Lai
3f82b2d5b1 Merged PR 6723735: Need to unsquash the last RI to maintain history
Related work items: #37220320
2021-12-01 22:13:25 +00:00
Ryan Lai
73d106e33a Merge commit '9345894c823de67f913d907da91dbc07ac322041' into HEAD 2021-12-01 14:11:29 -08:00
Sherlock
175acf08f4
ScatterND supports negative indices (#9739)
* ScatterND supports negative indices
2021-11-30 21:17:32 -08:00
Hariharan Seshadri
c161813217
Misc InstanceNorm CUDA kernel changes (#9879) 2021-11-30 19:15:45 -08:00
Sherlock
6de79d82c8
Fix Training Packaging pipeline (#9885)
* Fix Training Packaging pipeline
2021-11-30 15:26:10 -08:00
Ryan Lai
d8a7e1d159 Merged PR 6718335: RI 11/30 from github
Pipeline green https://microsoft.visualstudio.com/WindowsAI/_build/results?buildId=42142807&view=results

![image.png](https://microsoft.visualstudio.com/274e76ac-6b29-4f77-a85d-7914c77cabd5/_apis/git/repositories/853d2ddc-663c-4fe8-8036-dbf0d50db2d9/pullRequests/6718335/attachments/image.png)

Related work items: #37220320
2021-11-30 21:29:25 +00:00
Abhishek Jindal
740679d329
Abjindal/fix windows ci pipeline (#9883)
* switching to /wd4800 for eager mode

* fixing compile flags ignore warnings, previously it was only using the last one
2021-11-30 10:33:13 -08:00
RandySheriffH
9345894c82
Add build option to enable cuda profiling (#9875) 2021-11-29 22:44:50 -08:00
RandySheriffH
16bfd3c771
Cancel transpose optimizer for resize (#9870)
* cancel transpose optimizer for resize

* add UT

* addressing comments

* fix build err
2021-11-29 22:30:16 -08:00
Chi Lo
0baf687f2d
QDQ tool modification part2 (#9720)
* Add finetuned qdq options

* Add description

* Add unit tests

* Modify for channel axis

* Remove too specific feature. Move this implementation to e2e example

* Add OpTypesSupportPerChannelQuantization

* fix bug for unit test

* Keep flags OpTypesSupportPerChannelQuantization and QDQChannelAxis for internal use 

Will have a follow-up PR to fine tune the code

* remove unnecessary warning

Co-authored-by: stevenlix <38092805+stevenlix@users.noreply.github.com>
Co-authored-by: Yufeng Li <liyufeng1987@gmail.com>
2021-11-29 21:45:41 -08:00
Ryan Lai
57a6f7c205
Various fixes to fix WindowsAI RI build. (#9877)
* WAI RI fixes

* span changes

* Spaces

* Additional warnings to fix

* Fix redundant commment
2021-11-29 21:33:15 -08:00
Yufeng Li
a0afd7303d
add int8_t support for pool operators (#9852)
* add int8_t support for pool operators
2021-11-29 18:43:43 -08:00
George Wu
ec9b0ed800
[python manylinux package] emit warning if missing CUDA/TensorRT dependency causes ld_preload to fail and user tries to register either CUDA/TensorRT EP (#9872)
* add warning if ld_preload fails for CUDA or TRT when trying to register either provider

* refactor

* change wording from register to create
2021-11-29 16:04:23 -08:00
Yulong Wang
27e337ed7a
[js/node] npm audit fix (#9861) 2021-11-29 13:11:19 -08:00
Ye Wang
bf716e667c
layernorm throw error if input has no data (#9837) 2021-11-29 12:43:17 -08:00
cristei
9e75ebf0dc
Remove redundant inline specifiers, sync server IsLittleEndianOrder with runtime core (#9856)
* Remove redundant inline

* Make server IsLittleEndianOrder represent runtime core endianness implementation, make the endianness check constexpr
2021-11-29 08:32:16 -08:00
Tang, Cheng
37bf46eb19
support print in ort eager mode (#9825)
* fix reshape implementation in eager mode

* test code

* update opgen script to support fallback to cpu

* enhance the eager backend to support torch cpu fallback

* add more testes

* disable the printensor test for now, as we need to erge a PR to pytorch first
2021-11-29 08:03:57 -08:00
George Wu
1e9e57df3e
no fallback when enforcing explicit EP registration. (#9863)
* no fallback when enforcing explicit EP registration.

* add explicit ep registrations for python.
2021-11-25 07:26:51 -08:00
Yulong Wang
a3ebc5e082
[js/web] do not use nodejs type 'Buffer' in web (#9839)
* [js/web] do not use nodejs type 'Buffer' in web

* resolve comments and validate tests

* remove 'Buffer' in test
2021-11-24 14:14:42 -08:00
Yulong Wang
6eb0c8d420
fix build break in release pipeline for Node.js binding test (#9850) 2021-11-24 13:54:43 -08:00
Sheil Kumar
53c43e9949
WinML RT API: Add PixelRange Metadata to Bind() call PropertySet (#9827)
* Enable Normalization Binding Metadata

* copy paste error

* Small fix.

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-11-24 13:44:25 -08:00
Hariharan Seshadri
18fd2cf457
Fix potential data race with OrtValue usage in Python (#9841) 2021-11-23 14:34:24 -08:00
Maajid khan
0ae0f29f14
[OpenVINO-EP] V3.4 Release with OpenVINO 2021.4.2 LTS Release (#9848)
* Changes to ensure openvino build go through in Windows

* Modified Hetero plugin Logic

*Modified Hetero Feature logic. In Hetero,
if the operator to be marked true in getcapability(),
it should be supported by either of the devices
specified with HETERO in the device_type.

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

* OV updated to 2021.4.2 version

* OV updated to 2021.4.2 version

* Updated OV to 2021.4.2 version, mono download  link and dotnet version

* Copying Managed nugets in openvino c# docker file

*Copying Managed nuget to nugets artifacts
directory

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

Co-authored-by: saharfraza <sfatima.3001@gmail.com>
Co-authored-by: mayavijx <mayax.vijayan@intel.com>
Co-authored-by: Aravind Gunda <aravindx.gunda@intel.com>
2021-11-23 13:12:08 -08:00
Ginés Hidalgo
926109bd63
Added algorithm for std::clamp (#9797) 2021-11-23 12:58:05 -08:00
Dmitri Smirnov
d012d9fb91
Fix memset size (#9840) 2021-11-23 09:19:55 -08:00
Ryan Hill
6749e9fd44
Cuda instance_norm fix (#9826)
* Fix allocation size & initial values
2021-11-22 22:59:20 -08:00
Vincent Wang
24f3d72b77
relax atol and rtol for einsum ut (#9842) 2021-11-23 14:39:14 +08:00
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