Commit graph

1246 commits

Author SHA1 Message Date
Colin Versteeg
60e5eee52a Improve Session Capabilities in ORTServer (#1862)
* add unload and fixtures

* update to create logger

* clang-format
2019-09-19 09:04:12 -07:00
Scott McKay
b43254282f
Handle bad alloc exception in bfc arena (#1846)
* Handle std::bad_alloc when growing arena.
Allow more than one attempt at reducing the buffer if allocation fails. More memory may have become available so never trying to backpedal more than once means we potentially fail when a large enough buffer could have been allocated.
2019-09-19 17:56:39 +10:00
Pranav Sharma
a9ce941579
Refine threading control options and move inter op thread pool to session state. (#1841)
Description: Refine threading control options and move inter op thread pool to session state.
Added thread_utils.h/cc to centralize the decision around the thread pool size under various conditions.

Motivation and Context
Currently the thread pool size of the parallel executor is hardcoded to 32 for some reason. This PR makes the options to configure the thread pool sizes clearer.
2019-09-18 22:36:23 -07:00
Scott McKay
938b3627b8
Improve error message if node throws (#1847)
* Handle exception during node execution and include node type and name in error output.
2019-09-19 11:43:59 +10:00
KeDengMS
6792e00e1e
Revert accidental TVM change (#1874) 2019-09-18 17:50:16 -07:00
Hariharan Seshadri
55f5a52b23
Support opset-11 DepthToSpace CPU kernel (#1759)
* Initial commit

* Uncomment tests

* Updates

* Updates

* Disable CRD mode DepthToSpace for NGraph builds

* Disable test

* Update tests

* PR feedback

* Add unit test for CRD mode

* Reflect class variable in naming

* Add a test to NGRAPH disabled list

* Update main.cc

* Update main.cc
2019-09-18 17:17:28 -07:00
KeDengMS
80bda77203
Fix symbolic shape inference for faster_rcnn, mask_rcnn, yolov3 (#1867)
* Fix symbolic shape inference for faster_rcnn, mask_rcnn, yolov3

Force merge when --auto_merge, on symbolic dims which sympy cannot simplify
Add symbolic inference for Resize opset 10
Add support for step != 1 in Slice
Add support for computed dim in TopK
Bug fixes in passing symbolic dims from subgraph
Fix an outdate comment in Nuphar provider header
2019-09-18 14:18:32 -07:00
Hector Li
582a27f546
remove sudo from the cleanup step for Linux so that we don't need the sudo access for vstsagent build user
1. remove sudo from the cleanup step for Linux so that we don't need the sudo access for vstsagent build user
2. a minor fix in the install_ubuntu.sh to make the image smaller for openvino
2019-09-18 11:22:37 -07:00
shahasad
6e4e764146
upgraded CSharp test and sample projects to netcoreapp2.1 (#1869) 2019-09-17 21:35:04 -07:00
Hariharan Seshadri
c0d953a268
Support opset-11 Loop CPU kernel (#1816)
* Add support for opset 11 Loop

* Change test name to be more verbose

* Add a new kernel for Loop - 11
2019-09-17 14:17:25 -07:00
Changming Sun
dc03ce0278
New OP: CDist (#1808)
Add a new op for scikit-learn converter. It's for scikit's cdist function:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cdist.html

Will add docs and shape-inference function later.
Will convert it to an ONNX function before pushing into ONNX.
2019-09-17 10:55:31 -07:00
ybrnathan
d646dc73e4
OpSet 11 Operator Update: Supporting Neg Axis (#1835)
* OpSet 11 Update: Neg Axis handling for 5 ops:
ArgMax, ArgMin, HardMax, LogSoftmax, Softmax.

* Add unit test for ArgMax, ArgMin and HardMax

* Add lp_norm and exclude nGraph from hardmax test.

* Exclude nGraph from Neg Axis test.

* Exclude nGraph from NegAxis test

* fix excluded ep.

* Fix nGraph test failure

* add test.run
2019-09-16 21:36:15 -07:00
Yulong Wang
2f7f83c655
ROIAlign: add cuda kernel implementation (#1823) 2019-09-17 12:11:54 +08:00
Yang Chen
71d414cacb
update tvm submodule to the latest (#1849)
* update tvm submodule to the latest

* also update manifest for tvm submodule
2019-09-16 17:16:33 -07:00
Scott McKay
fc1c9971a3
Support replacing OrtValue of feed in IOBinding instance (#1819)
* Reinstate support for replacing a feed in the IOBinding class.
Add unit test to validate.
2019-09-17 07:43:47 +10:00
Changming Sun
166b1f86db
A small improvement to the parallel_for when task count > thread count (#1839)
* Revert "MlasGetMaximumThreadCount: plus 1 to the NumThreads from ORT thread pool (#1646)"

This reverts commit 413730365f.

* A small fix to the parallel for
2019-09-16 10:44:02 -07:00
Yulong Wang
8a9c4cd936
ROIAlign: fix bilinear interpolate in 'max' mode (#1821) 2019-09-15 10:07:11 +08:00
KeDengMS
a1eecd8087
Fix C# build (#1834) 2019-09-13 23:50:06 -07:00
kile0
125900c961 Enable integration with mimalloc memory allocator (#1673)
* add mimalloc submodule

* basic hooks into execution provider header and build script option

* pull mimalloc into build

* windows has to use the override vcxproj already set up, and disable bfcarena when using mimalloc

* fix import_location

* generalize build msbuild command

* add mimalloc dependency to python package as well as various commenting cleanups

* update mimalloc commit as stop gap

* include mimalloc changes from master

* create capi directory if doesn't exist for mimalloc copying over

* disable runtime hooks and remove old comment

* temporary change to test CI

* fetch the mimalloc output name property

* uniformly call target_link_libraries

* query cmake to get the correct windows sdk to target

* revert change to trailing directory slash

* pickup windows sdk off msbuild path if possible

* copy the produced dll/so at install time, not configure time

* deal with mimalloc unimplemented atomic

* move to dev branch of mimalloc to avoid atomic issues on gcc

* for windows specify solution settings (x86) rather than individual project settings

* pin mimalloc submodule to updated commit

* typo

* Revert "temporary change to test CI"

This reverts commit 764867376936a5d307dded3cc37f00a34e3b0c96.
2019-09-13 17:12:48 -07:00
Changming Sun
bd5451b4ed
Don't define USE_OPENMP if the compiler doesn't support OpenMP (#1836) 2019-09-13 16:42:50 -07:00
shahasad
aac6021549
Add NuGet feed publish to nuget pipeline (#1833) 2019-09-13 15:27:35 -07:00
Vinitra Swamy
2a21df2309
Updates to CUDA and TensorRT dockerfiles for v0.5.0 (#1731)
* updates to cuda and tensorrt dockerfiles for v0.5.0

* add table of build tags
2019-09-13 14:16:47 -07:00
jywu-msft
634f554471
python api's for execution provider registration (#1826)
* add python api's for get/set execution providers, checking available and all providers.

* add back deleted code.

* minimize peak memory consumption for sess.set_providers() api. need to remove references to underlying _sess object

* fix typo.

* add validation for set_providers(), addr other review feedback.
2019-09-13 11:25:18 -07:00
KeDengMS
cf22ea6893
Upgrade TVM for a fix in tvm::Integer with int64_t input (#1824)
* Upgrade TVM for a fix in tvm::Integer with int64_t input
2019-09-12 23:15:13 -07:00
Faith Xu
a60283845b
Update link format and example sections in readme (#1729)
* Fix broken link and minor wording updates

* Update links to use relative paths

* Update sample section organization

* Fix a few more links

* Update links to relative paths

* Fix link urls

* Update links to relative paths

* Update link to perf test doc page

* Update links to relative paths

* Update to relative paths for links

* Update link
2019-09-12 17:49:29 -07:00
Hector Li
a0ba25f98f
Fix the issue that it run into alloc failed on multiple cuda device. We have some place hard code the allocator always use device 0. (#1815)
Fix the issue that it run into alloc failed on multiple cuda device. We have some place hard code the allocator always use device 0.
2019-09-12 15:31:59 -07:00
KeDengMS
18f7377269
[Nuphar] improvements in symbolic_shape_infer and model editor (#1787)
* use unaligned buffer for Nuphar in onnxruntime_perf_test to avoid crash
symbolic shape inference fixes to support more sophiscated models
remove useless code from model_quantizer
* Run symbolic shape inference for subgraphs in Loop/Scan
* Allow a symbolic dimension to merge with an int dimension
2019-09-12 15:11:52 -07:00
Bowen Bao
8712a523a4
Bump onnx to latest (#1756)
* Bump onnx to latest

Update onnx.in.proto with changes for SparseTensor.

* add temp skip tests

* remove passed tests from skip list

* skip more tests for new ops in opset 11

* skip crashing tests

* update handling of new attribute types sparse tensor and sparse tensors

* advance onnx commit and remove skip cpu_flaky_tests

* temporarily skip yolo3 model test due to resize opset10 shape inference regression

* update proto for onnxruntime server

* advance onnx commit further
2019-09-12 11:46:49 -07:00
Pranav Sharma
f8c3442880
Part 2 of renaming AllocatorInfo to MemoryInfo. (#1804)
* Mention OrtCreateSessionFromArray in C API doc

* Part 2 of renaming AllocatorInfo to MemoryInfo.

* pr comments

* fix comment
2019-09-12 08:19:29 -07:00
ybrnathan
397713a2d1
Add Int64 support to ReduceMin, and Add Double support to Neg op (#1812) 2019-09-11 17:15:02 -07:00
Hector Li
2b8677b210
Enable Openvino nightly build on edge device (#1684)
1. Add openvino GPU nightly build pipeline, this test is running on Intel Up square Edge device. The device are host locally not from Azure VM. We persist a smaller model test data on Edge device.

2. Update the build condition for openvino GPU so it works for GPU_FP32, GPU_FP16

3. add option to install_ubuntu.sh to exclude the package used for nuphar, so that we can save some disk space as the Edge device usually have limited disk space.
2019-09-11 16:36:12 -07:00
Dmitri Smirnov
fe8915863c
Implement C API entry points for creating and fetching non-standard types to OrtValue (#1714)
C/C++ Opage APIs
 Add new virtual interfaces for NonTensorType
 Implement entry points.
 Add shared header for the data container.
 Add export symbols.
 Add serialization/deserialization.
 Implement model with Opaque types.
 Rework opqaue_api_test as a standalone executable.
2019-09-11 14:52:47 -07:00
Chi Lo
d9fa632863
Add Cuda Kernel for Not operator (#1801)
* Add Cuda Kernel for Not operator
* Register Not CUDA Kernel
2019-09-11 14:30:44 -07:00
Dmitri Smirnov
a9e4de2cea
Follow up on proto3 compatiblity. (#1799)
This provides additional has_*() methods abstraction/replacement for proto3 compatibility.
2019-09-11 11:36:13 -07:00
Scott McKay
3b7f047a49
General performance testing tooling improvements (#1577)
* Miscellaneous updates to help with perf testing
2019-09-11 19:46:59 +10:00
Scott McKay
6586afc8eb
Refine the output shape calculation to avoid unnecessary re-allocations and vector insert operations. (#1781) 2019-09-11 14:31:53 +10:00
Scott McKay
35c5c4d418
A subgraph may have no inputs (e.g. subgraph in If has no explicit inputs) or value infos (e.g. a subgraph with just an If node in it). (#1083)
It should always have outputs but in case it doesn't (nothing fails currently if it doesn't even though that makes it meaningless) make sure it also has a node.
2019-09-11 11:03:55 +10:00
Hariharan Seshadri
206278ca44
Fix error message in Cast op (#1792) 2019-09-10 15:40:53 -07:00
Pranav Sharma
f9d85d654a
Add GetDataTransfer() interface in the EP. (#1773)
* Mention OrtCreateSessionFromArray in C API doc

* Add GetDataTransfer() interface in the EP.

* Check return status of RegisterDataTransfer

* Address PR comments
2019-09-10 14:07:17 -07:00
ybrnathan
bd48660592
Add Cuda Kernel for Less operator (#1790)
* Add Cuda Kernel for operator Less

* Register Less CUDA Kernel
2019-09-10 11:33:57 -07:00
Ran Cohen
b32f24a3f9 added support for Less(double) (#1722) 2019-09-10 11:15:01 -07:00
Pranav Sharma
0b609d3e68
Add make_unique implementation for use with C++11. (#1793)
* Mention OrtCreateSessionFromArray in C API doc

* Add make_unique implementation for use with C++11

* Add cgmanifest and TPN files as well

* Add annotation to cgmanifest to identify the component that uses the dependency
2019-09-09 23:55:44 -07:00
Scott McKay
98dbdb1e0b
Rework the feed/fetch copy setup so that it can be calculated prior to subgraph execution (#1761)
* Rework the feed/fetch copy setup so that it can be calculated upfront by the control flow nodes. Also simplifies how it all works.
Update the control flow nodes to do the calculation prior to graph execution.
2019-09-10 15:46:00 +10:00
Scott McKay
2e242a4089
Clarify naming of the API involving the RunOptions terminate flag. (#1768)
* Clarify naming of the RunOptions terminate flag.

* Update C# code to use new names.
2019-09-10 08:32:33 +10:00
Dmitri Smirnov
75f241d02c
Enhance compatibility with proto3 and replace or abstract has_*() methods. (#1778)
Enhance proto3 compatibility.
  Replace has_*() method to corresponding enum handling so we can deal with
  proto3 generated stream from proto2 code.
  Add utility wrappers for remaining has_*() methods so we can
  easily deal with them if/when we switch to proto3.
2019-09-09 14:07:30 -07:00
shahasad
6a5b11756b
Conditionally export execution provider apis in chsarp (#1724) 2019-09-09 11:17:44 -07:00
Tracy Sharpe
071a0c2522
MLAS: MlasSgemm refactoring (#1749)
Refactor the SGEMM kernels to resynchronize the code between Windows/Linux and remove unneeded binary bloat from a different zero/add mode kernel. Another goal is to get to a cleaner state for then doing a DGEMM kernel.
2019-09-06 22:26:28 -07:00
Tracy Sharpe
a324ad7b96
MLAS: clang u8u8 GEMM fix 2019-09-06 09:11:10 -07:00
Ashwini Khade
b2a2326a45
add dequantize and quantize back to contrib ops (#1712) 2019-09-06 08:55:42 -07:00
Scott McKay
e1a12b1760
Fix some unnecessary copies of the Node attributes (#1763) 2019-09-06 17:00:35 +10:00