Commit graph

4842 commits

Author SHA1 Message Date
baijumeswani
37f69fcee5
Regain performance by caching initializer names in ORTModule (#7685) 2021-05-13 20:54:49 -07:00
Edward Chen
19704aedbb
Update Objective-C API (#7675)
- Add session/run configuration
- Add additional supported tensor data types
- Clean up
2021-05-13 18:47:22 -07:00
ashbhandare
56e993a434
Bump to rel-1.9.1 (#7684) 2021-05-13 18:41:28 -07:00
Xueyun Zhu
32d8278c2f
reshape fix (#7678) 2021-05-13 16:34:03 -07:00
raviskolli
4b37901f10
Aten support for rocm (#7680)
* Aten support for rocm

* Removed aten_ops.cc as it is resued from cuda version
2021-05-13 15:56:03 -07:00
Aswin John Mathews
4afdc19958
ROCm optimized layernorm for MI100 (#7682)
* layernorm optimizations

* Changed HIP flag from HIP_VERSION to __HIP_PLATFORM_HCC__
2021-05-13 15:54:06 -07:00
satyajandhyala
d90a99aad5
Fix the build on dev machines by replacing std::tuple with two arguments with std::pair (#7683) 2021-05-13 15:11:51 -07:00
Hariharan Seshadri
7bb3f243ff
Revert (#7663) 2021-05-13 14:11:17 -07:00
Sunghoon
1ab8a95eb6
Bind existing SessionOptions and RunOptions in Javascript API with WebAssembly (#7621)
* support session options and run options. use onnxruntime c api.

* fix lint errors

* add an error code on throwing an exception

* resolve comments. change remaining C++ APIs to C API
2021-05-13 10:50:04 -07:00
Guoyu Wang
333318af04
[CoreML EP] add clip support (#7666) 2021-05-13 10:41:30 -07:00
Zhang Lei
46246f1bbd
Add nhwc transformer support and unittest for qlinear concat. (#7587) 2021-05-13 09:50:37 -07:00
satyajandhyala
3a407b40dd
Add the missing source file to the target onnxruntime_test_debug_node… (#7676)
* Add the missing source file to the target onnxruntime_test_debug_node_inputs_outputs
2021-05-13 09:14:12 -07:00
harshithapv
31ca21b782
Replace Where Grad "Mul" with "Where" (#7672)
* replace where grad mul with where

* clean up

* auto formatting

* remove not for second input
2021-05-13 08:54:43 -07:00
George Nash
b4e8e9b004
Add DnnlOpManager (#7521)
* Add  DnnlOpManager

The DnnlOpManager is able to more accurately check if a node is
supported by the DNNLExecutionProvider.

The DNNLExecutionProvider::GetCapability function has been updated
to use the DnnlOpManager.

This commit adds the ability to check if data type, attributes,
and tensor dimensions of the node are supported.

The IsDimensionSupported function is no longer needed since the checks
it was doing have been moved into the individual implementations of
the virtual class DnnlNodeCapability.

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

* Fix AveragePool entry in the DnnlOpManager

Added check for ceil_mode attribute in the PoolNodeCapability
check.  DnnlExecutionProvider does not support ceil_mode other
than the default value.

Signed-off-by: George Nash <george.nash@intel.com>
2021-05-12 22:04:26 -05:00
Vincent Wang
dac24f7d63
Add ATenOp and call aten::embedding and its Backward Op from ORT (#7590)
* build with libtorch and impl torchembedding

* fix op shape infer

* local commit

* atenfunctionop

* call aten operator from online extension

* rollback build.py

* resolve comments

* bugfix

* fix build

* fix ortmodule test

* remove external outputs, resolve comments

* resolve comments

* export embedding to microsoft::atenop

* bugfix
2021-05-13 09:24:27 +08:00
ashari4
c808621e9d
Better detection of MPI using FindMPI (#7653)
* Better detection of MPI using FindMPI.

* Remove REQUIRED from find_package(MPI)
2021-05-12 17:54:20 -07:00
Guoyu Wang
a47a234b7e
Add minsdkver for AAR and AndroidTest (#7669) 2021-05-12 16:01:25 -07:00
Chi Lo
760828b2d4
Add FromProviderOptions()/ToProviderOptions() for TensorRT EP (#7654)
* integrate existed provider option configuration method

* add GetProviderOptions()

* fix bug

* Add tests

* Update test
2021-05-12 15:26:27 -07:00
Zhang Lei
1c7e683a95
Add Squeeze and Unsqueeze support for quantizaton tools. (#7673) 2021-05-12 14:56:46 -07:00
Zhang Lei
31d4413919
fix quantization tool bug when existing pass through only input (#7674) 2021-05-12 14:54:42 -07:00
Faith Xu
7cb9077043
Fix readme page (#7659)
* Delete mobile page

Moved to: https://www.onnxruntime.ai/docs/how-to/deploy-on-mobile.html

* Delete ONNX_Runtime_Mobile_NNAPI_perf_considerations.md

Moved to: https://www.onnxruntime.ai/docs/reference/execution-providers/NNAPI-ExecutionProvider.html#performance-tuning

* Fix links to website docs

* Update some summary text

* Add space
2021-05-12 14:30:23 -07:00
Weixing Zhang
9241f62e4c
enable MatMulScale and cast propagation for ROCm EP. (#7657) 2021-05-12 13:43:24 -07:00
M. Zeeshan Siddiqui
5d9885f706
Fix BadNames. (#7658) 2021-05-11 16:06:10 -07:00
Scott McKay
8deca24b1a
Don't remove an unused initializer if it is overridable. (#7649) 2021-05-12 07:03:54 +10:00
baijumeswani
c5aeaa9419
Support for unused model initializers (#7631)
* Support for unused model initializers

* Change graph_info.initializer* to sets
2021-05-11 12:26:56 -07:00
Sunghoon
88d2fc8f1e
ONNX Runtime React Native Library (#7564)
* onnxruntime react native binding

* add react native backend

* fix lint comments

* fix react native backend for ios

* remove unnecessary files to check in

* move onnxruntime-common to devDependency

* create two podspec files for iphoneos and iphonesimulator

* revise README.md and add third party notices for react native

* rename a package

* rename a package and revise README

* add a license into package.json

* revise README and comments

* fix typo

* fix lint errors

* fix lint errors

* add a prepack script. touch index.tsx and App.tsx to resolve CI issue

* remove a unsupported tsx format from clang-format

* fix a type and add steps tp publish a react native npm package

* resolve comments

* fix clang format

* remove promise wrap. change prepack to typescript
2021-05-11 10:34:40 -07:00
Olivia Jain
29172d8f54
Setup EP Dashboard (#7321)
* setting up dashboard
* posting to ort dashboard
* creating separate docker file
* including common deps
* tracking latency over time
2021-05-11 10:33:39 -07:00
Guoyu Wang
ce8473a4ea
Add script to build fat iOS framework (#7607) 2021-05-11 09:46:24 -07:00
Scott McKay
d39db89fbb
Add info on some additional pytorch models that were added to the test models. No new operators are required. (#7644) 2021-05-11 19:48:28 +10:00
Scott McKay
5276bab268
Fail model loading if node input is a missing value (#7459)
* Add check for a node with an invalid input so we fail during model load. Without this we get a more cryptic failure in the allocation planner.

* Add handling for manually created subgraph where outer scope node arg names are in a different place.

* Update onnxruntime/core/graph/graph.cc

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

* Ignore Fused nodes when checking inputs are valid. DML EP will remove initializers it has moved across, so they're available when the node runs but are no longer part of the ORT Graph instance.

We have to fully resolve the graph before any node fusion happens, so the model was valid in the beginning (which is the main thing we are trying to validate).

* Skip check in training build. Rules for allowing an 'invalid' input are unknown for those scenarios.

* Only check the initial load for a training build.

Co-authored-by: Pranav Sharma <prs@microsoft.com>
2021-05-11 19:48:17 +10:00
Changming Sun
90c65ac171
Fix a bug in inference_session.cc (#7639) 2021-05-10 23:39:50 -07:00
Guoyu Wang
69d1db83ac
Enable bitcode for iOS by default (#7640) 2021-05-10 21:27:45 -07:00
satyajandhyala
9f69b2f291
Added InsertAndReduce strategy to PropagateCastOps transformation in addition to FloodFill strategy (#7454)
* Moved GraphTransformerConfiguration to a separate file and added strategy option to PropagateCastOps transformation.

* Added testing both FloodFill and InsertAndReduce stratigies for cast propagation.

* Added AddConsumer and RemoveConsumer functions to in graph.h for efficient graph editing.

* Added PropagateCastOps code documentation

* Added GraphTransformationConfiguration class hierarchy information

* Added RemoveInputOutputUpDownCasts
2021-05-10 20:46:28 -07:00
baijumeswani
08fbfe9607
Resolve issue where a registered buffer was parsed incorrectly as a user input (#7617) 2021-05-10 19:04:27 -07:00
Pranav Prakash
a684e9aa52
Add pre-training transform to convert BatchNorm to BatchNormInternal (#7539)
* Add transformer for BatchNorm -> BN Internal

* Add test for BN replacement transformer
2021-05-10 15:13:59 -07:00
ankurverma85
de4089f8cb
GCC11/Libstdc++11 Compilation fixes (#7599)
Authored-by: Ankur Verma <ankurv@microsoft.com>
2021-05-10 12:50:08 -07:00
Tracy Sharpe
16297a8e61
Implement NCHWc Upsample linear mode (#7623)
Extend the existing NCHWc Upsample operator to support linear modes too.
2021-05-10 12:16:16 -07:00
Yulong Wang
ec885040ef
[js] specify correct config for terser (#7627)
* add copyright banner

* fix worker loading failure

* add a section in document for formatter and linter
2021-05-10 11:50:39 -07:00
Xueyun Zhu
c5d28097e8
[js/web] adding conv fuse logic (#7604)
* adding conv fuse logic

* fixing merge

* fix file name in kebab case

* fix lint error
2021-05-10 11:41:50 -07:00
baijumeswani
88c95ef06b
Support for primitive types in ortmodule (#7588) 2021-05-10 10:59:47 -07:00
Hariharan Seshadri
4b691a5c0d
Add ability for memory arenas to "shrink" periodically (#7284) 2021-05-08 07:53:21 -07:00
Ye Wang
803837df63
Add 4dmask support for attention cuda kernel (#7591)
* checkin

* add 4dmask support in attention cuda op

* trim

* add comments

* fix build/test error

* review comments and add tests

* sync doc

* review comments

* minor change
2021-05-07 20:17:29 -07:00
Tianlei Wu
55c086b664
symbolic shape inference improvements for contrib ops (#7606)
* add EmbedLayerNormalization
* use onnx shape inference for Unsqueeze
* Fix type warning in Attention
2021-05-07 17:03:24 -07:00
Edward Chen
5a5fec0452
Fix logs getting skipped in single-line conditionals. (#7589)
Fix an issue where a log message got skipped.

A log call like this:
```
LOGS(...) << "message";
```
expands to something like this:
```
if (<output enabled>)
  logging::Capture(...).Stream() << "message";
```

This if statement without brackets is handy for logging arbitrary arguments with the `<<` operator. However, it has other drawbacks like possibly associating with a subsequent `else`.

```
if (cond)
  LOGS(...) << "a";
else
  <do something> // not run when !cond

// equivalently:
if (cond)
  if (<output enabled>)
    logging::Capture(...).Stream() << "a";
  else
    <do something> // not run when !cond
```

Updated the logging macros to handle this case by replacing `if (<enabled>) logging::Capture(...).Stream()` with `if (!<enabled>) {} else logging::Capture(...).Stream()`.

Thanks @tlh20 for the idea for the fix!
2021-05-07 15:40:47 -07:00
Derek Murray
e91bdbde20
Add myself to CODEOWNERS for ORTModule python code (#7453) 2021-05-07 15:35:45 -07:00
Changming Sun
41e370c2b3
Update protobuf to 3.16 (#7616) 2021-05-07 14:09:23 -07:00
Tixxx
3c39fcc1fa
[js/web] port fixes for packed concat over to ort repo (#7605)
* port fixes for packed concat over to ort repo

* fix format
2021-05-07 13:04:53 -07:00
Yulong Wang
bdefc6c4d8
[js/web] support multi-thread for wasm backend (#7601) 2021-05-07 12:12:37 -07:00
stevenlix
8ab0deceed
Add DLA support to TensorRT EP (#7532)
* Add DLA to TensorRT EP, enable device_id options in pybind, fix cycledetection issue

* fix format

* remove unecessary passing by pointer

* fix issue
2021-05-07 10:31:42 -07:00
Scott McKay
9fc4116d51
Use ASSERT_STATUS_OK so the error message is output if there's a failure. (#7515) 2021-05-07 20:23:34 +10:00