Commit graph

863 commits

Author SHA1 Message Date
Scott McKay
c6abb17b8d
Use shared threadpool in LSTM (#1167) 2019-06-06 07:16:31 +10:00
Ryan Hill
7cd2d9f3c4
Change Path_lib to not use Shlwapi.dll if compiled as WINAPI_PARTITION_APP (#1161) 2019-06-05 11:05:33 -07:00
KeDengMS
7c4494a0bc
Fix CUDA thread_local to allow multiple CUDA execution providers (#1149)
This fixes #1034: Can't Create Model Sessions on Different GPU
The root cause of the bug is that CUDA execution provider uses thread_local to save per-thread-context and allocator, and when two CUDA execution providers are running on the same thread there's a conflict. The fix is to add a std::unordered_map to differentiate EPs in the same thread.
2019-06-04 16:32:27 -07:00
Hariharan Seshadri
a863c67ef8
Fix error message for legacy opset (6 and lower) models at model load time (#1147)
* Initial commit

* Resolve comments and revert changes in files that are not needed for this change

* Single line addition revert

* Resolve comments
2019-06-04 11:56:49 -07:00
jywu-msft
7316e54153 re-enable disabled tests on nGraph after fixing remaining subgraph resolve error (#1158)
* fix subgraph resolve error for nGraph.

* input_args need to be processed in order.
2019-06-04 09:40:24 -07:00
Ryan Hill
148141dd5f Change Compute function to return a status code instead of an integer. (#1139) 2019-06-04 08:34:32 -07:00
Changming Sun
c18de6817b
Rename MLValue to OrtValue (#1154) 2019-06-03 17:29:55 -07:00
Hector Li
b8a699f70b
Update MaxPool & AveragePool to support opset 10 (#1141)
* Update MaxPool & AveragePool to support opset 10

* fix build issue

* still use cudnn for MaxPool if dilation is not set or are default 1.

* fix build issue
2019-06-02 20:42:57 -07:00
Torkel
10ea77a3d1 add details aboud adding execution providers in the C api to comments and docs (i.e. need OrtSessionOptionsAppendExecutionProvider_CUDA to get CUDA) 2019-06-02 17:38:36 -07:00
Changming Sun
6c9d815de5 Revert "Remove openmp flag (#1140)" (#1146)
This reverts commit a7137a0f9d.
2019-05-31 18:48:14 -07:00
RandySheriffH
71cbd7679c
implement cuda slice opset 10 (#1137)
* implement cuda slice opset 10

* remove needless delaration
2019-05-31 13:38:19 -07:00
Changming Sun
a7137a0f9d
Remove openmp flag (#1140)
* Remove openmp flag
2019-05-31 12:41:08 -07:00
Du Li
05110a6558
Adding custom op ConvTransposeWithDynamicPads. (#638)
* Adding custom op ConvTransposeWithDynamicPads.

* Adding custom op ConvTransposeWithDynamicPads.

* adding cuda kernels

* fix a bug

* fix build issue.

* Integrate PR comments.
2019-05-31 11:48:43 -07:00
Klein Hu
6c408c3a75 Simplify ONNX Runtime Server CI build (#1136) 2019-05-30 17:31:41 -07:00
Hariharan Seshadri
facdf77f84
Fix shape inference bug in GatherND contrib op (#1132) 2019-05-30 17:05:44 -07:00
RandySheriffH
4757933afe
Exclude test by onnx version tag (#1073)
* add version filter to failed tests

* exclude test from backend

* exclude shrink from opset 9

* fix compile err

* exclude certain version of constant shape

* enable flatten test

* fix compile err

* comment mvn test

* disable constantofshape test in x86

* disable x86 test

* get model version from imported opset

* test linux x86 case

* disable nonzero opset 10

* make mutex const

* test filter by commit id

* adjust substr offset

* Limit test platform

* remove change impacting TFModleInfo.h

* refactoring

* refactoring

* test x86 pipeline with filter

* add comment

* restrict version extraction on non-win

* restrict version extraction on non-win

* add tag

* exclude case from backend test

* remove dup

* remove dup

* make script runnable

* hard code adsolute path

* refactor log

* fix x86 compile err

* fix x86 compile err

* fix x86 compile err

* sync with latest tensorrt

* switch to regex

* fix cpu pipeline err

* test filter

* disable nonzero from all versions
2019-05-30 16:19:06 -07:00
Ryan Hill
f9f6818e4c
Add comments and organize the C++ header into the main header plus a separate one of the inline methods. (#1130) 2019-05-30 14:24:25 -07:00
Changming Sun
66a6f2b0e3
Add a check for onnxruntime_USE_MKLML AND onnxruntime_USE_OPENMP (#1131)
* Add a check for onnxruntime_USE_MKLML AND onnxruntime_USE_OPENMP
2019-05-30 10:23:18 -07:00
Klein Hu
4e231ad907 Split binary/symbol and then upload ortsrv nightly build to blob storage (#1120)
* Upload ortsrv nightly build to blob storage

* Fix the binary directory

* Temporarily disable binary split

* Split binary in build container

* Update azcopy command

* Update getopts

* Pass blob sas url as string

* Avoid binary split on Windows

* Update build_server logic in build.py
2019-05-29 17:46:07 -07:00
Konstantinos Karanasos
2072d34d15
Fixing broken links for graph transformations in High Level Design doc (#1128) 2019-05-29 15:36:59 -07:00
Changming Sun
f51b081ec2
Revert "fixing clang build failure" (#1055)
Not needed any more. Because we don't build the date library.
And Sheil says: "It’s a little bit intrusive for callers to be forced onto cpp14 just because they are consuming onnxruntime."
2019-05-29 14:03:22 -07:00
Ke Zhang
ef66395060
remove unnecessary lock and code clean up (#1114)
* refactoring the ep codes.

* remove unnecessary lock.

* fix the comment to claim KernelRegistryManager is not thread safe.

* clarify that APIs to add custom op in inferencesession is not thread safe.
2019-05-29 13:20:38 -07:00
jywu-msft
eda4c5cb47
fix ngraph build (#1124)
* disable repeat_dim_overflow test for ngraph only.

* fix concat error.
2019-05-28 19:41:47 -07:00
Dmitri Smirnov
8c7e4eb3fb
Fix run_model api. (#1111) 2019-05-28 16:36:57 -07:00
Hariharan Seshadri
e19bc2d074
Raise max request size in ORT server (#1119) 2019-05-28 15:50:23 -07:00
KeDengMS
1ea3e8633c
CUDA opset9: Update Cast/MatMul version, add Erf (#1106)
* CUDA opset9: Update Cast/MatMul version, add Erf

* Address CR

* More fixes on node placement logic

* Fix typo

* Update CUDA ops Gemm and BatchNormalization to be registered in opset10
2019-05-28 13:52:13 -07:00
Pranav Sharma
71560843f8
Add Boost dependency for onnxruntime server. (#1112) 2019-05-28 11:37:49 -07:00
jignparm
2cf56639ed
Minor update to NuGet package tests -- allow model download in separate step (#1115)
* Update docker scripts to not fetch model data

* Update related files
2019-05-28 03:01:10 -07:00
Scott McKay
b9e8aac5f6 Enable some more tests (#1101)
Restructure a little so permanently disabled tests are clearer.
2019-05-25 08:41:42 -07:00
Ryan Hill
8808efd9e3 Add zero size check before setting thread pool so that the zero default value won't cause a failure. (#1109) 2019-05-24 23:27:36 -07:00
Scott McKay
f6df36b68b
Add rewrite rule to handle Relu + Clip (#1105)
* Remove Relu if followed by Clip. Update Clip 'min' if necessary.
Add unit test.

* Rename to match behaviour a little better.

* Update to match latest RewriteRule interface
2019-05-24 19:42:02 -07:00
Klein Hu
b54a292ba2 Add version and latest commit id to ONNX Runtime Server (#1078)
* Add version and latest commit id to ORT Server

* Update cmake

* Change build id to build number

* Use target_compile_definitions instead of add_definitions
2019-05-24 17:30:40 -07:00
daquexian
ea29a664cd Fix android build when API<23, fix android test, update build doc and pipeline (#884) 2019-05-24 16:26:32 -07:00
stevenlix
2d92b95729
Enable Unsqueeze elimination (#1104) 2019-05-24 16:15:42 -07:00
Konstantinos Karanasos
ee6217972b
Fix when rewrite rule gets registered to multiple op types; update constness of rule methods; enable dropout elimination (#1098) 2019-05-24 13:47:55 -07:00
Ryan Hill
9129a652c5
Ryanunderhill/cxx api2 (#1091)
More C++ API improvements and cleanup
Add templates to tensor creation
Add run method that allows preallocated outputs
Simplify CreateTensor<T> to multiply by sizeof(T)
Convert io_types code
Optimize away vector copies in Session::Run
2019-05-24 11:15:51 -07:00
stevenlix
723d5c782a
Improve TensorRT GetCapability to Enable More Models (#1012)
* Improve TensorRT GetCapability Accuracy

* Update onnxruntime_providers.cmake

* made changes based on feedback

* update unit tests for TensorRT

* update onnx-tensorrt submodule to v5.0 branch

* remove uncessary comments

* convert int32 to int64 at inferencing output

* add more data types in compute

* change returns in compute

* use StatusCode as return in compute
2019-05-24 10:12:55 -07:00
KeDengMS
b44a30bca7 CUDA CPU/GPU sync optimization (#1100)
* CUDA CPU/GPU sync optimization

Even though CUDA device is capable of handling certain ops, it may be better to leave them on CPU especially for dynamic shape computations starting from Shape.

* Fix TensorRT test crash when fused graph may have null node in topological sort
2019-05-24 09:25:48 -07:00
KeDengMS
cd9b9e6102
Accelerate CUDA transpose (#1102)
For NCHW <-> NHWC and 2D case
2019-05-23 21:10:50 -07:00
R. G. Esteves
f4a9ccae99 Enable nGraph Debug ci test. (#1000)
* Enable nGraph Debug ci test.

* nGraph doesn't work with stack trace.

* Fix corrupt patch.
2019-05-23 19:58:35 -07:00
Scott McKay
4a8d75386b
Clarify/state expected usage of non-const references and 'auto' in coding conventions (#1096)
* As we consistently use non-const reference for modifiable arguments that cannot be null, update the conventions to reflect that.

Add a note on qualifying 'auto' to make the intent clearer and it easier to notice accidental copies.

* Address PR comment by adding a statement around disabling copy/assignment/move for new classes until needed.
2019-05-23 19:28:01 -07:00
Pranav Sharma
11243253f2
Disable mvn model test when contrib ops are disabled since this model uses a contrib op (#1097) 2019-05-23 17:01:35 -07:00
Scott McKay
c7d1c007d5
Fix accidental copy where a reference was fine. (#1090)
Clarify a couple of other uses of 'auto'
2019-05-23 16:47:30 -07:00
Scott McKay
0157b6c209
Enable specifying tests for onnx_backend_test_series.py to run via the command line (#1099)
* onnx_backend_test_series.py update to allow specifying a single test to run.

The python unittest filtering is to a test method not test name so can't be used directly.

* Clarify help message.
2019-05-23 16:45:27 -07:00
ybrnathan
7421755198
Optimize ExecutionFrame to avoid mem re-allocation. (#1085) 2019-05-23 10:59:36 -07:00
Changming Sun
055f5af78d
Remove path change in build.py (#1089)
First, we don't need this line of code.
Second, it may change path unintentionally. That, you want to use gcc from /usr/lib/ccache/gcc, but cmake pickup it from /usr/bin.
2019-05-23 10:48:25 -07:00
KeDengMS
d865d34968
Fix CUDA crash in fast RCNN model (#1092)
It seems this model triggers a bug in thrust::fill when size is 300, replacing with a CUDA kernel.
2019-05-23 10:33:01 -07:00
Zhang Lei
2a07dc2fbf Add provider information for kernel in perf test. (#1082) 2019-05-22 21:35:11 -07:00
Bowen Bao
a6a4fef677
Support both Scalar tensor and 1-d tensor for Loop iter/cond input (#1052)
The shape of Loop inputs M and cond, according to below, could either be a scalar(rank 0), or a 1-d tensor(rank 1), and depending on the actual rank it may produce different outputs for subsequent nodes such as Gather. Thus ORT Loop operator cannot hard code these inputs to be rank 1. This PR also include some fixes for test failures caused by updating Conv shape inferences in ONNX(onnx/onnx#1988).

        .Input(
            0,
            "M",
            "A maximum trip-count for the loop specified at runtime. Optional."
            " Pass empty string to skip.",
            "I",
            OpSchema::Optional)
        .Input(
            1,
            "cond",
            "A boolean termination condition. Optional. Pass empty string to skip.",
            "B",
            OpSchema::Optional)
...
        .TypeConstraint(
            "I",
            {"tensor(int64)"},
            "tensor of int64, which should be a scalar.")
        .TypeConstraint(
            "B",
            {"tensor(bool)"},
            "tensor of bool, which should be a scalar.")
2019-05-22 16:13:01 -07:00
jignparm
376a8240ac
Add x86 legs to CI builds (#1005)
* add x86 legs to ci

* minor update

* update platform from x86 to Win32

* remove --use_mklml from x86 build

* add win x64 mklml pipeline

* remove pybind and use_tvm from win x86

* Add build pipelines for --disable_contrib_ops (mac, lnx, win)

* remove --gen-doc generation for x86

* set environment variables during build to disablecontribops=on

* update to match aiinfra pipelines

* update test data url

* update mac pipeline test data

* remove gen_doc from win x64 leg

* update model files for nocontribops

* reset win-ci-pipeline.yml

* remove confidential models
2019-05-22 14:08:28 -07:00