Commit graph

1776 commits

Author SHA1 Message Date
Tracy Sharpe
c907881852
MLAS: optimize QuantizeLinear (#2660)
This adds MLAS support to quantize a buffer using vector instructions for x86/x64/ARM64. This helper is now used for the QuantizeLinear and DynamicQuantizeLinear ops.
2019-12-16 10:56:23 -08:00
Yang Chen
f7412899a1
added cache version for nuphar JIT binaries (#2646)
* added cache version for nuphar JIT binaries

Previously, when the user wrongfully loaded a JIT binary generated
from a Nuphar version different from the current used one, she
would get mysterious runtime failures, because we didn't perform
any version check on JIT binaries.

This change added cache versions to the Nuphar runtime and
JIT binaries. The Nuphar runtime will issue verbose message that
informs the user version-mismatch errors.

* address CR feedback

* include NUPHAR_CACHE_VERSION in python wheel
2019-12-14 22:46:30 -08:00
Dmitri Smirnov
7c87070b24
Import Featurizers (#2643)
Import FeaturizerLibrary as ExternalPorject which is optional and is not registered as git submodule.
2019-12-13 16:07:12 -08:00
Changming Sun
a46a28b7d8
Windows CI changes(#2650) 2019-12-13 12:23:49 -08:00
Adam Pocock
35ceb1a6a6 Java API for onnxruntime (#2215) 2019-12-10 08:28:46 -08:00
Changming Sun
6e08efa6a2 Fix lto bug for protobuf and ubuntu 2019-12-09 17:34:06 -08:00
Sreekanth Yalachigere
4c996a8699 DNNL CMAKE update (#2548) 2019-12-05 13:48:57 -08:00
Xiang Zhang
3e7aaf8fa1 User/xianz/telemetry (#2458)
* enabme telemetry

* enable telemetry

* set enable telemetry as default

* for debugging

* remove log and set disable telemetry as default back

* delete private file while testing

* resolve comment: mainly add license header, rename macro and update docs

* rewording in privacy.md
2019-12-03 23:34:53 -08:00
stevenlix
293b15480b Add dynamic shape support in TensorRT execution provider (#2450)
* remove onnx-tensorrt submodule

* add new onnx-tensorrt submodule (experiment) for trt6

* update engine build for trt6

* update compile and compute for tensorrt6.0

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* switch to onnx-tensorrt master for TensorRT6'

* Update tensorrt_execution_provider.cc

* Handle dynamic batch size and add memcpy in TensorRT EP

* update test cases

* Update tensorrt_execution_provider.cc

* update onnx-tensorrt submodule

* Update Dockerfile.ubuntu_tensorrt

* Update Dockerfile.ubuntu_tensorrt

* Update run_dockerbuild.sh

* Update run_dockerbuild.sh

* Update install_ubuntu.sh

* Update concat_op_test.cc

* Update tensorrt_execution_provider.cc

* Upgrade TensorRT to version 6.0.1.5

* Update onnxruntime_providers.cmake

* Update CMakeLists.txt

* Update reduction_ops_test.cc

* Update install_ubuntu.sh

* Update Dockerfile.ubuntu_tensorrt

* Update Dockerfile.tensorrt

* Update BUILD.md

* Update run_dockerbuild.sh

* Update install_ubuntu.sh

* Update onnxruntime_providers.cmake

* Update install_ubuntu.sh

* Update install_ubuntu.sh

* Update gemm_test.cc

* Update gather_op_test.cc

* Update CMakeLists.txt

* Removed submodule

* update onnx-tensorrt submodule

* update header file

* Removed submodule

* add submodule onnx-tensorrt kevin's branch shape-test'

* add debugging code

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* merge master

* Removed submodule

* update onnx-tensorrt submodule

* add more changes for dynamic shapes

* Update tensorrt_execution_provider.cc

* update for dynamic shape

* update dynamic shape processing

* fix logger issue

* remove submodule onnx-tensorrt

* add submodule onnx-tensorrt

* add env variable min_subgraph_size

* remove redundency

* update document

* use onnxruntime::make_unique

* fix multi-run issue

* remove some tests to save CI build time

* Add dynamic shape test

* Update TensorRT-ExecutionProvider.md

* Add example of running Faster R-CNN model on TensorRT EP

* Add more details on env variables

* update environment variables

* Update tensorrt_basic_test.cc

* Update model tests

* Update tensor_op_test.cc

* remove --use_full_protobuf

* Update build.py
2019-12-03 23:18:33 -08:00
Hariharan Seshadri
5c2e474751
Add provision in ORT for session options to be parsed when available via model file (#2449)
* Initial commit

* Fix gitmodules

* Nits

* Nits

* Updates

* Update

* More changes

* Updates

* Update

* Some updates

* More changes

* Update

* Update

* Merge

* Update

* Updates

* More changes

* Update

* Fix nits

* Updates

* Fix warning

* Fix build

* Add comment

* PR feedback

* PR feedback

* Updates

* Updates

* Update

* More changes

* Fix build break

* Comment test for now

* Updates

* Updates

* PR feedback

* Updates

* Nits

* Add tests

* Fix build

* Fix build

* Fix build

* Fix build break

* Fix build

* Nits

* PR feedback

* More change

* Expose GetSessionOptions in pybind logic and add unit test for python

* Fix build

* PR feedback

* PR feedback
2019-12-03 16:56:07 -08:00
Sreekanth Yalachigere
31ea11a696 Renaming MKL-DNN as DNNL (#2515)
* DNNL: Moving Files to rename file names

* DNNL name change

* azure pipeline updated

* disable ceil/dialation and enable Opset10

* disable ceil/dialation tests in Python

* mlperf_ssd_resnet34_1200 disabled
2019-12-03 07:34:23 -08:00
Changming Sun
4354023913
Make link time optimization work on Linux (#2477) 2019-12-02 22:25:41 -08:00
KeDengMS
60208463a9
[NupharEP] Enable parallel schedule (#2505)
* [NupharEP] Enable parallel schedule
* Update TVM with the fix to TVM threadpool to use OpenMP if possible
* Add parallel schedule when trying to vectorize
With this change, BERT squad perf on a 4-core (8 HT) CPU goes from 187ms to 150ms

* Address CR, docs and cmake update

* Doc fix

* Fix mkl

* Fix TVM windows build when using mklml
2019-11-28 08:35:56 -08:00
shahasad
ca0ed96621
CSharp api and test for loading custom op shared library (#2420)
- Added C-API test for loading custom op shared lib.
- Made some changes in C++ api header and C-api implementation to get it working.
- Added C# API and corresponding test for loading custom op shared library.
2019-11-21 15:45:49 -08:00
Changming Sun
109b3cb450
Avoid using the default logger in the graph lib and optimizers (#2361)
1. Use the session logger if it is available.
2. Don't disable warning 4100 globally. We should fix the warnings instead of disabling it.
2019-11-14 13:23:28 -08:00
Ilya Lavrenov
b90d55b7ea Fixed compilation with ngraph (#2388) 2019-11-13 17:49:00 -08:00
Changming Sun
fc6773a65b
Add Tracelogging for profiling (#1639)
Enabled only if onnxruntime_ENABLE_INSTRUMENT is ON
2019-11-11 21:34:10 -08:00
avidiyal
3d3cf0e159 Openvino EP R3.1 onnxrt server (#2357)
* onnxrt server with OVEP

* onnxrt server with OVEP

* Update Dockerfile.server.openvino

* onnxrt server OVEP fix reviews

* onnxrt server OVEP fix reviews
2019-11-11 12:22:19 -08:00
Changming Sun
080a0a3186
Nuget pipeline changes (#2305)
1. refactor the pipeline, remove some duplicated code
2. Move Windows_py_GPU_Wheels job to Win-GPU-CUDA10. We'll deprecated the "Win-GPU" pool
3. Delete cpu-nocontribops-esrp-pipeline.yml and cpu-nocontribops-pipeline.yml
4. In Linux nuget jobs, run "make install" before creating the package. So that extra RPAH info will be removed
2019-11-08 09:45:52 -08:00
Patrick Foley
151075790d [OpenVINO-EP] Update to latest version: OpenVINO 2019 R3.1 (#2308)
* Updates OpenVINO EP to latest version: 2019 R3.1

* Reviews fixed

* Update Dockerfile.openvino

* Addressed PR comments and disabled model tests temporarily

* Update Dockerfile.ubuntu_openvino
2019-11-05 19:55:46 -08:00
George
8a102c6e99 apply eigen patch only for ACL. 2019-11-05 13:53:53 -08:00
mikecaraman
358b517d49 [v2] Add ACL (Arm Compute Library) execution provider (#2258)
* Guard unused parameter

Guard unused parameter for Linux Arm and other cases.

* Add ACL (Arm Compute Library) execution provider

Add a new execution provider targeting Arm architecture based on Arm Compute Library.
Validated on NXP i.MX8QM CPU with ResNet50, MobileNetv2 and VGG models.
All unit tests are passing.

Comparative performance improvements for ResNet50v1 model obtained with
onnxruntime_perf_test:
		A72	2xA72	A53	4xA53
ACL vs CPU  	16%	9%	21%	13%

Usage documentation available in ACL-ExecutionProvider.

* Fix eigen unused parameter

Fix eigen unused parameter error for Arm cross-compilation.
2019-10-31 12:25:36 -07:00
Changming Sun
a5da5ff6f4 Remove onnxruntime_USE_EIGEN_THREADPOOL cmake option 2019-10-30 21:51:54 -07:00
zhijxu
ce23d628a5 fix bug in cmake/onnxruntime_server.cmake 2019-10-28 10:03:18 -07:00
Yuri
a2596b706b FreeBSD compatibility patch.
* Treat the 'amd64' architecture the same way as 'x86_64'
* Use thr_self() instead of gettid() on FreeBSD
2019-10-26 12:44:12 -07:00
edgchen1
6a27cb5ad6 Fixed tensor reference to const data and cleaned up Env API. (#1979) 2019-10-24 10:28:13 -07:00
kile0
bede664af7 mimalloc allocator (#2071) 2019-10-23 22:34:00 -07:00
Changming Sun
4b62241c77
Update ONNX to 1.6.1 (#2235) 2019-10-23 13:47:45 -07:00
Paul McDaniel
02dc3a9dcb build break for arm64, adding advapi32.lib (#2206) 2019-10-21 08:48:28 -07:00
Scott McKay
5c86889beb
Fix linux build issue with debug dump of shapes and data. (#2202)
Add option to dump just shapes or shapes and data.
2019-10-20 20:35:48 -07:00
Pranav Sharma
69970d1f2a
Include the new Privacy.md file in all release packages. (#2200) 2019-10-20 07:58:36 -07:00
Changming Sun
cff7879d89
Update C API pipeline to use CentOS 6 (#2198) 2019-10-19 22:25:42 -07:00
Paul McDaniel
d1159b7008 Adding platform telemetry (#2109) 2019-10-19 18:25:57 -07:00
Changming Sun
021073b5e5
Update python packaging pipelines (#2167) 2019-10-19 07:42:54 -07:00
Tomasz Dołbniak
72110d3508 Patch for the MKLDNN v1 segfaults (#2145) 2019-10-17 12:10:00 -07:00
Scott McKay
3fcb4ee7d4
Refine optimizers (#1407)
* Refine optimizers

* Address PR comments

* Changes from PR comments and discussion.

* Fixed signed/unsigned mismatch

* Address PR comments

* Address PR comments

* Fix linux build

* Fix issue with mkldnn logic.

* Turn off optimizers by default for operator unit tests.

* Handle edge case of graph with no nodes in partitioner so all execution providers don't need to.

* Comment out change to turn off optimizers for unit tests. Add details on what needs to be done to re-enable.
2019-10-15 14:49:59 -07:00
Sreekanth Yalachigere
485c24b62d MKL-DNN 1.0 (#2134)
* MKL-DNN 1.0

* changed libmkldnn version to 1
2019-10-15 12:06:34 -07:00
Adrian Tsai
4090d0d0de
Add DirectML Execution Provider (#2057)
This change adds a new execution provider powered by [DirectML](https://aka.ms/DirectML).

DirectML is a high-performance, hardware-accelerated DirectX 12 library for machine learning on Windows. DirectML provides GPU acceleration for common machine learning tasks across a broad range of supported hardware and drivers.

The DirectML execution provider is capable of greatly improving evaluation time of models using commodity GPU hardware, without sacrificing broad hardware support or requiring vendor-specific extensions to be installed.

**Note** that the DML EP code was moved verbatim from the existing WindowsAI project, which is why it doesn't yet conform to the onnxruntime coding style. This is something that can be fixed later; we would like to keep formatting/whitespace changes to a minimum for the time being to make it easier to port fixes from WindowsAI to ORT during this transition.

Summary of changes:
* Initial commit of DML EP files under onnxruntime/core/providers/dml
* Add cmake entries for building the DML EP and for pulling down the DirectML redist using nuget
* Add a submodule dependency on the Windows Implementation Library (WIL)
* Add docs under docs/execution_providers/DirectML-ExecutionProvider.md
* Add support for DML EP to provider tests and perf tests
* Add support for DML EP to fns_candy_style_transfer sample
* Add entries to the C ABI for instantiating the DML EP
2019-10-15 06:13:07 -07:00
Yufeng Li
8c5db7f973
use legacy stream mode (#2076)
In ORT, there is only 3 cuda stream: default, HtoD, DtoH. And both HtoD and DtoH are non-blocking stream. Thus, per-thread stream mode doesn't have any benefit.
I also tried in multiple thread env and the legacy mode is also better than per-thread model.
Below is the perf of a 3 layer bert on v100. Unit is ms:
batch size 1:
 concurrency | c=1 | c=2 | c=4
legacy | 0.54 | 1.17 | 2.68
per-thread | 0.66 | 1.37 | 2.86
 
batch size 4:  
 concurrency | c=1 | c=2 | c=4
legacy | 1.1 | 2.22 | 4.6
per-thread | 1.21 | 2.44 | 4.98

batch size 64:
concurrency  | c=1 | c=2 | c=4
legacy | 8.09 | 16.13 | 32.37
per-thread | 8.18 | 16.26 | 32.45
2019-10-14 16:03:04 -07:00
Tomasz Socha
f93be8af90 Update nGraph to version 0.26 (#1965)
* Adjust ngraph cmake files to onnx 1.5.0

* Enable LSTM reverse direction mode in nGraph EP

* Enable full support for the Split op in nGraph EP

* Revert "Disable the unsigned input Shrink op tests for nGraph until the next update"

This reverts commit 257b42a55bdd98f804d4846868542b8e3aeb4b4e.

* Enable Gather and remove unused subgraph attribute

* Remove the unused param from AppendClusterToSubGraph

* Fix for the incorrect onnx opset version

* Use the r0.26 release branch before the tag is created

* Enable the quantizelinear and dequantizelinear for NGEP

* Use the v0.26.0-rc.2 tag in ngraph.cmake

* Add skip for modes others than default in Pad operator

* Reenable negative axis tests for ngraph

* Use temporary ngraph version

* Use branch name instead of SHA for temporary ngraph branch

* Use ngraph v0.26.0-rc.4

* Remove patch for missing symbol in MKLDNN

* Use MKLDNN 1.0 in ngraph

* Exclude the Pad op for opsets greater than 10

* Disable quantizelinear and dequantizelinear tests for ONNX 1.5.0

* Fix the onnx-headers related compilation errors

* ONNX libs linking fix

* Use a tag for ngraph and support more Pad modes

* Use the v0.26.0 release tag for nGraph

* Update ngraph to RC8 - bigobj flag for Windows builds

* Fix the MKLDNN constexpr error on Windows
2019-10-14 10:37:48 -07:00
Changming Sun
c24d7a8a0a
Update eigen to the latest version (#1910) 2019-10-11 10:44:19 -07:00
Changming Sun
a314402097
Downgrade python gpu package to CUDA 10.0 (#2086) 2019-10-10 18:31:24 -07:00
Dmitri Smirnov
af9dbb70f2
Introduce a separate check and conditional for AVX512BW build (#2083)
Separate checks for AVX512f and AVX512BW
  Make AVX512BW cmake instructions nested within AVX512F support.
2019-10-10 16:14:00 -07:00
Tracy Sharpe
57e0099425
MLAS: Implement U8S8 GEMV kernels (#2069)
This implements an optimization for U8S8 MlasGemm when M=1, aka GEMV.
2019-10-09 11:54:16 -07:00
Dmitri Smirnov
cae571c713 Add a test for AVX512 compilation before compiling 512 asm (#2055) 2019-10-08 21:18:04 -07:00
Scott McKay
db0dd09ded
Cleanup some aspects of the Initializer class used by optimizers (#2005)
* Move check on data type outside of the Initializer class as it's specific to Conv processing.
Use references for arguments that can't be null.
2019-10-09 10:37:44 +10:00
RandySheriffH
f501b6e234
pack pyop in nightly build (#2018)
* pack pyop in nightly build

* correct logic

* add comment

* exclude debug build

* add dependency

* reset postbuild rule

* remove dep
2019-10-08 12:02:45 -07:00
Changming Sun
8f7657fa32
Ignore some gcc warnings (#1996) 2019-10-07 16:32:34 -07:00
stevenlix
544e53e24e Update TensorRT to version 6.0.1.5 (#1966)
* remove onnx-tensorrt submodule

* add new onnx-tensorrt submodule (experiment) for trt6

* update engine build for trt6

* update compile and compute for tensorrt6.0

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* switch to onnx-tensorrt master for TensorRT6'

* Update tensorrt_execution_provider.cc

* Handle dynamic batch size and add memcpy in TensorRT EP

* update test cases

* Update tensorrt_execution_provider.cc

* update onnx-tensorrt submodule

* Update Dockerfile.ubuntu_tensorrt

* Update Dockerfile.ubuntu_tensorrt

* Update run_dockerbuild.sh

* Update run_dockerbuild.sh

* Update install_ubuntu.sh

* Update concat_op_test.cc

* Update tensorrt_execution_provider.cc

* Upgrade TensorRT to version 6.0.1.5

* Update onnxruntime_providers.cmake

* Update CMakeLists.txt

* Update reduction_ops_test.cc

* Update install_ubuntu.sh

* Update Dockerfile.ubuntu_tensorrt

* Update Dockerfile.tensorrt

* Update BUILD.md

* Update run_dockerbuild.sh

* Update install_ubuntu.sh

* Update onnxruntime_providers.cmake

* Update install_ubuntu.sh

* Update install_ubuntu.sh

* Update gemm_test.cc

* Update gather_op_test.cc

* Update CMakeLists.txt

* Removed submodule

* update onnx-tensorrt submodule

* Add Ubuntu18.04 build option

* Add Ubuntu18.04 build option

* Add Ubuntu18.04 build option

* Add Ubuntu18.04 build option

* Remove redundency

* Fix issue that it does not add memcopy node correctly if some nodes fall back to CUDA EP.
e.g. after partition, there's TRT_Node -> Cuda_node (with CPU memory expected), we still need to add memcpy node between them.

* update for Trt Windows build

* Update onnxruntime_providers.cmake

* Disable opset11 tests on TensorRT

* Update pad_test.cc

* Update build.py

* update scripts for ubuntu18.04

* Disable warning for Windows build
2019-10-06 10:40:53 -07:00
baowenlei
4bb6385dca
Weba/merge ngemm (#2021)
* save status: add tiling layout; add avx512 skylake cpuid info

* unit tests and matmul integer model passed on skylake, need to verify model

* save commit before update master

* fix check

* address comments
2019-10-05 12:09:22 -07:00
Hariharan Seshadri
f528da35f2
Update ONNX to a newer commit (#2015)
* Update ONNX to a newer version

* PR comments
2019-10-04 19:41:00 -07:00
Dmitri Smirnov
f5a8a23951 Replace std::regex with re2 bc CentOS std::regex is broken (#2017) 2019-10-04 18:47:03 -07:00
daquexian
e071a1249b Android CI (#1600) 2019-10-04 17:39:51 -07:00
Dmitri Smirnov
627f853a44
Downgrade compiler to CentOS 4.8.5 (#1985)
Make onnxruntime CPU build and run on CentOS GCC 4.8.5
2019-10-03 15:40:46 -07:00
Dmitri Smirnov
d1b1cdc5c4
Replace GSL with GSL-LITE submodule and fix up refs (#1920)
Remove gsl subodule and replace with a local copy of gsl-lite
  Refactor for onnxruntime::make_unique
  gsl::span size and index are now size_t
  Remove lambda auto argument type detection.
  Remove constexpr from fail_fast in gsl due to Linux not being happy.
  Comment out std::stream support due to MacOS std lib broken.
  Move make_unique into include/core/common so it is accessible for server builds.
  Relax requirements for onnxruntime/test/providers/cpu/ml/write_scores_test.cc
  due to x86 build.
  Add ONNXRUNTIME_ROOT to Server Lib includes so gsl is recognized
2019-10-01 12:43:29 -07:00
KeDengMS
e361174f78
Add nuphar python scripts to wheel, and notebook tutorial (#1952)
* Fixed a bug of missing tvm in python wheel
* Put Nuphar Python scripts into wheel
* Add note book tutorial
* Some improvements in symbolic shape inference for quantized models
2019-09-30 10:39:02 -07:00
Tracy Sharpe
4c995d3251 MLAS: add DGEMM support (#1953)
* rename existing kernels

* add dgemm support

* rename existing kernels

* add dgemm support

* synchronize with amd64

* dgemm

* remove test code

* remove more test code

* fix file extension
2019-09-30 10:04:59 -07:00
baowenlei
611dd3ea0c update ort-tvm version (#1945)
* update ort-tvm version

* update tvm patch
2019-09-27 22:11:14 -07:00
suryasidd
ceaaff0f81 [OpenVINO-EP] Enabling VAD-F in OpenVINO Execution Provider (#1885)
* Added support for Hetero plugin

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Fixed spelling error in cmake for hetero plugin

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Added listener to print messages from the plugin

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Updated Documentation for VAD-F enablement

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Added VAD-F option for FPGA

*Disabled unit tests and backed tests because FPGA only accepts NCHW models

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Added comment for why tests need to be disabled on VAD-F

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
2019-09-26 18:32:16 -07:00
Yulong Wang
e6ce384402
add dependency 'cub' as submodule (#1924) 2019-09-26 16:10:39 +08:00
Hariharan Seshadri
dbff8272e7
Update ONNX to newer commit (#1907) 2019-09-24 19:25:34 -07:00
Tracy Sharpe
28a62f7728
MLAS: add U8S8 MatMul operation (#1895)
Implement the second round of changes for quantization inside MLAS. This adds a MatMul operation for U8xS8=S32 for x86/x64 processors.
2019-09-24 18:15:11 -07:00
avidiyal
ca89387817 Build OnnxRT with Openvino EP on Windows (#1865)
* Avoid variable length stack array variables for VC++ compatibility

Use dynamically allocated arrays or vectors instead.

* windows enabling

* openvino windows build

* Update build instructions

* resolve conflicts for PR

* remove debug messages from cmake

* PR fix for window support
2019-09-23 13:36:49 -07:00
Hariharan Seshadri
aacfa2af65
Bump up ONNX to the latest commit (#1868)
* Initial commit

* Delete unnecessary files

* Update generated proto files

* Update server proto file

* Update submodule onnx

* Update OnnxMl.cs

* update OnnxMl.cs

* Update OnnxMl.cs

* Comment one test

* Update disabled test list

* Update backend tests

* Formatting fix

* Formatting

* Disable a test

* More tests updated

* commit id update

* Update to a newer commit

* More updates

* More test updates

* Update

* Update

* Updates

* Update
2019-09-20 18:15:16 -07:00
Changming Sun
561f2c4a9a
Update pybind (#1876) 2019-09-19 17:44:33 -07:00
KeDengMS
6792e00e1e
Revert accidental TVM change (#1874) 2019-09-18 17:50:16 -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
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
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
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
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
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
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
KeDengMS
58fe5a6bf1
Enable Nuphar docker build, and reinstate Nuphar tests (#1757)
Enable Nuphar EP docker build
Revert back to LLVM 6.0.1
Reinstate disabled Softmax tests caused by LLVM 8.0.1
Reinstate Nuphar Python test due to stale sympy version
Increase build timeout of Linux CI
2019-09-05 08:50:48 -07:00
Changming Sun
94d9161166
Add nuphar to Linux CI build (#1750) 2019-09-03 11:39:27 -07:00
KeDengMS
c9240f4e93
Implementation of Nuphar execution provider (#881)
* Implement Nuphar execution provider

Nuphar execution provider is a TVM-based compilation provider. It has shown great speedups for RNN models using Scan.
This PR is mainly for a preview of the shared codegen library for other TVM-based providers.

* Fix submodules

* Fix TVM submodule

* Update Nuphar to latest and resolve confliction

* Remove stale files caused by merge -X theirs

* Revert heap buffer change to not introduce onnxruntime_framework into onnxruntime_perf_test

* Fix bad merge

* Merge from Nuphar

* Fix warning treated as error, revert some unnecessary changes

* Revert some more test changes

* Some more test revert or comments to make review easier
New tests could be added later

* One more revert of unnecessary changes

* More change revert. Test could be added back later.
2019-09-01 23:01:47 -07:00
Changming Sun
81ad48080b
Remove TaskThreadPool (#1713) 2019-08-28 18:00:10 -07:00
Tracy Sharpe
73312b8195
MLAS: Android sgemm kernel build fix (#1710)
Fix the aarch64 kernel to build properly with the Android NDK (specifically clang).
2019-08-28 16:14:12 -07:00
Ashwini Khade
961b14ac4a
use MLAS for QGEMM in matmulInteger and convInteger (#1692)
* use mlas qgemm for u8u8_s32 gemms

* update test
2019-08-26 18:13:22 -07:00
Changming Sun
4de0aa8049
Optimize kernel index (#1672) 2019-08-22 10:26:35 -07:00
Changming Sun
7be5695fad
Remove --whole-archive (#1655) 2019-08-20 12:04:10 -07:00
jywu-msft
bdc694314c
update MKLML to version which contains fix for thread hang. (#1636)
* update MKLML which has bugfix for thread hang. move PATCH_COMMAND outside BUILD_FOR_NATIVE_MACHINE check.

* MKLML_VERSION 2020.0.20190813 is for windows only.
2019-08-19 10:34:48 -07:00
Tracy Sharpe
bc72c2dba7
MLAS: add U8U8 MatMul operation (#1644)
Implement the first round of changes for quantization inside MLAS. This adds a MatMul operation for U8xU8=S32 for x86/x64 processors.
2019-08-18 18:15:48 -07:00
Changming Sun
6b89c7ad04
Let mlas use session thread pool (#1609)
1.Let mlas use session thread pool
2.Remove onnxruntime_USE_MLAS cmake option
3. Remove the win32 thread pool code inside mlas

mlas will:

1.use ort thread pool if it get passed in
2.use openmp if the threadpool parameter is nullptr
3.run single threaded if the threadpool parameter is nullptr and openmp is disabled.
2019-08-16 13:21:15 -07:00
Ashwini Khade
0044be6259
update onnx to latest commit (#1622)
* update onnx to latest commit

* Disable and/or fix failing tests

* disable not yet implemented tests for opset 11

* disable tests

* fix bug in mkldnn fp16 graph check
2019-08-15 17:10:32 -07:00
Dmitri Smirnov
17c8fe44e3
Integrate featurizers (#1573)
Added Sample Featurizer and Infrastructure
  Make featurizers and unit tests compile and run with GTest.
  Create definitions for the first featurizer kernel.
  Add new operator domain.
  Create datetime_transformer kernel and build.
  Move OPAQUE types definitions for featurizers kerneles out to a separate cc.
  Register them with the type system.
 Provide unit tests for new AutoML DateTimeTransformer kernel.
  Make necessary adjustments to the test infrastructure to make it run
  with new types.
2019-08-15 13:59:59 -07:00
Pranav Sharma
a6a4c4c079
Fix perf test executable. (#1598)
* Mention OrtCreateSessionFromArray in C API doc

* Fix perf test executable due to removal of certain C APIs

* fix linux build

* Avoid duplication

* Fix mem leak
2019-08-12 09:49:29 -07:00
Tomasz Dołbniak
69baf9e800 Update nGraph to v0.22.1 (#1582)
* Update nGraph to 0.21 and adjust the EP

* Share the graph initializers between custom ops

* Update nGraph to 0.22 and exclude Gather entirely

* Enable building on Windows with nGraph v0.21.1-rc.0

* Disable the unsigned input Shrink op tests for nGraph until the next update

* Line-shortening code refactor

* Fix for the master branch merge artifact

* MKLDNN patches adjustment for Windows

* Exclude MatMulInteger for non-const zero points

* Exclude ConvInteger for non-const zero points

* Enable full Cast op support

* Use the v0.22.1 tag

* Skip ConvTranspose_InvalidKernelShape test for ngraph provider

* Create sub-graph ModelProto from fused_node
2019-08-10 17:41:08 -07:00
Ashwini Khade
7be40b2946
put all gemmlowp common code in one place (#1590)
* put all gemmlowp common code in one place

* fix gpu build failures

* minor update
2019-08-10 17:01:07 -07:00
stevenlix
1c5b15c2b8
Remove memory copy between TensorRT and CUDA (#1561)
* remove memory copy between CUDA and TRT

* add info to RegisterExecutionProvider input

* use new IDeviceAllocator for trt allocator

* remove SetDefaultInputsMemoryType from TRT EP

* remove onnx-tensorrt 5.0

* add submodule onnx-tensorrt branch 5.1

* remove redundancy

* Update transformer_memcpy.cc

* Update tensorrt_execution_provider.cc

* switch to TensorRT 5.1.5.0

* update python binding

* disable failed test case on TensorRT

* Update activation_op_test.cc

* upgrade to TensorRT container 19.06

* update according to feedback

* add comments

* remove tensorrt allocator and use cuda(gpu) allocator

* update onnx-tensorrt submodule

* change ci build cuda directory name
2019-08-08 19:31:39 -07:00
Pranav Sharma
a443b013dd
Remove unneeded C APIs + some refactoring. (#1555)
* Mention OrtCreateSessionFromArray in C API doc

* c api changes after review (1)

* updates...

* fixes

* Reorder include
2019-08-07 11:05:29 -07:00
S. Manohar Karlapalem
05bbb3065c [OpenVINO-EP] Update hardware branding of VAD-R as VAD-M (#1552)
Replaces all occurrences of VAD-R/VAD_R with VAD-M/VAD_M.
Aligns with the official hardware branding.
2019-08-05 15:28:46 -07:00
Ashwini Khade
b599360014
enable sse4.1 optimizations for gemmlowp (#1529) 2019-07-31 18:44:02 -07:00
xkszltl
33ae28ccb1 Empty double quota "" is passed to find_package(Thread), causing a test command gcc ... "" ... failed while trying to compile a source file with empty name. (#1508)
```
[user@******** /]# gcc ""
gcc: error: : No such file or directory
gcc: fatal error: no input files
compilation terminated.
```
2019-07-26 03:11:37 -07:00
xkszltl
be16b274fc Upgrade mklml and set march with official option. (#1469)
1. There's formal way for setting march.
2. Upgrade to new MKLML.

Besides, the mem patch can be drop for v1.0.0 since it's fixed in upstream.
2019-07-25 19:37:59 -07:00
daquexian
ec3c553501 NNAPI EP Update (#1483)
* Update DNNLibrary

* Allow fp16 by default

* Add nnapi build in ci

* Fix nnapi ep after #1268

* Remove unused variables

* Support nnapi in onnx_test_runner

* Update DNNLibrary to fix tests

* Update build.py for android build support, solve conflict of
tools/ci_build/build.py

* Support non-ARM Android build, solve conflict of tools/ci_build/build.py

* Enable android test by x86_64 android emulator

* Add dnnlibrary/NNAPI support in build.py

* suppress the verbose adb output

* Remove debug logs

* Install cmake by pip

* Fix undefined host_protoc_path

* cmake==3.13.2 in pypi is actually 3.12.2, so install 3.13.2.post1 instead

* Fix Android ARM64 build

* Use android ndk r20 instead of r19c, fix conflicts in install_deps_android.sh
2019-07-24 13:20:05 -07:00
shahasad
768ced703c
Expose provider factory C API, especially for CUDA users (#1461)
Exposed provider factory C API, for cpu and cuda providers, into the published packages.
2019-07-22 19:03:06 -07:00
Yufeng Li
6be93f11e5
build mklml/ngraph without openmp (#1460)
cleanup the option to build mklml/ngraph without openmp
2019-07-22 16:59:32 -07:00
Ke Zhang
638398e675
sync onnx to get equal op with float support (#1432)
* sync onnx to get equal op with float support

* doc update

* fix test failure because of updated shape inference logic for roialign.

* filter consum test cases since it's not implemented yet.
2019-07-19 13:19:09 -07:00
suryasidd
e9e777925f [OpenVINO-EP] Added support for OpenVINO R1.1 (#1438)
* Initial commit for OpenVINO R1

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Fixed MO dynamic shape error

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Add debug messages for failure

* Update install_openvino.sh script

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Try catch included.  Return type of Isgraphsupported function changed to void

* Removed error_msg variable and commented code

* formatting cleanup

* Added missing return statement

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Changed MO to be compatible with both R5 and R1

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Updated docker scripts to include openvino version number

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Ignore compiler warnings from external headers

* Updated dockerfiles

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Code cleanup using clang-format

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Suppress model optimizer info error

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Python code formatting using auto pep8

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Updated documentation

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
2019-07-19 00:52:15 -07:00
Sreekanth Yalachigere
f3c74ec3e9 Reduce memory footprint of MKL-DNN EP (#1429)
* MKL-DNN EP memory fix patch

* Call default provider for Opset10

* opset 10 fix

* removed email header from patch

* UseSubgraph method refactored
2019-07-18 22:57:00 -07:00
Colin Versteeg
5ee0f185dc Add GRPC support to ONNX Runtime Server (#1144)
* add grpc

* add-submodule

* Revert "add-submodule"

This reverts commit e35994b25035ce310a98909658582bff759ee358.

* fix submodule

* IT BUILDS

* Initial commit of prediction_service_impl.cpp

* Server builds and runs!

* add request id, health and reflection. GRPC is done

* enable channelz for monitoring

* GRPC unit tests

* clang format

* add unit tests

* Add function tests for GRPC

* add grpc to model_zoo_tests

* revert update protobuf to 3.7.0

* update submodules

* builds but runs some gflags tests which fail

* get build working

* confine build changes to onnxruntime_server.cmake

* update build files

* code reveiw comments

* Maik's code review comments

* update cares version to fix compilation issue

* update build to fix c-ares

* code review comments

* update cgmanifest.json

* remove extraneous file

* Klein comments.

* update ci based on discussions for go dependency

* fix tag issue

* fix build issues

* remove stray submodule

* update dockerfile and build script

* dynamic linking changes

* update build script

* code review comments

* update dockerfile

* update script for mount

* code review comments
2019-07-18 11:10:38 -07:00
Yufeng Li
6c41809655
Build Shared Library with cuda 10.1 (#1418)
Description: Describe your changes.
Change the logic to find cublas dll
Motivation and Context
Why is this change required? What problem does it solve?
The name pattern of cublas changed since 10.1. It doesn't include minor version in its name anymore.
If it fixes an open issue, please link to the issue here.
2019-07-18 09:51:19 -07:00
Changming Sun
c2aa2056b5
Sample for imagenet and batch prediction (#1372)
* Sample for imagenet and batch prediction
(Will add a readme later)
2019-07-16 14:23:45 -07:00
Tracy Sharpe
719e58d831
Use MLAS to retrieve the CPU preferred tensor buffer alignment (#1377)
Add MlasGetPreferredBufferAlignment() for use by CPUAllocator::Alloc to get the byte alignment for CPU tensors. Using MLAS allows the value to be based on the platform the binary is running on instead of a constant value fixed at compile time.
2019-07-12 22:22:46 -07:00
Ke Zhang
3bf0e364e2
Move CopyTensor out of IExecutionProvider interface. (#1268)
* add ortdevice class

* add data transfer manager for copying tensors.

* update

* add data trasnfer for gpu

* fix constexpr build break.

* update

* remove unnecessary header files.

* remove unnecessary header files.

* add dependency

* add dependency

* add dependency

* add dependency

* fix linux build break.

* update

* fix build break

* fix build break

* fix build break

* update

* update

* update c api.

* update to not use OrtCreateAllocatorInfo

* change to all eps .

* fix linux build break

* remove useless codes.

* update

* move datatransfermanager in session state

* update

* fix cuda build break.

* fix comments

* fix windows GPU build.

* fix comments

* fix build break

* fix comments

* fix test failure

* update

* fix comments

* fix onnx runtime server.

* update

* fix test failure.

* fix comments

* fix comment
2019-07-11 14:49:20 -07:00
jignparm
e580b76305
Fix ARM64 build + Add NuGet pipeline including ARM binaries (#1335)
* Add arm64 nocontribops pipeline

* minor fix

* Added new template for arm build -- disable all tests

* fix build command

* add arm64 flag for msbuild

* add arm leg as upstream dependency

* update platform to arm64 for msbuild

* remove test task from arm build

* remove ESRP signing of C# dlls in arm build

* Updated to work for both --arm and --arm64

* Make the cross compiling cmake flags symmetric

* Add dynamic check for /Wno-error flag, instead of extra build option

* remove extra full-stop
2019-07-11 11:49:17 -07:00
R. G. Esteves
93528d9b3c Reduce memory footprint of nGraph (#1296)
* Fix unnecessary memory allocation in MKLDNN 1x1 convolution.

* remove the patch header.
2019-07-07 20:23:19 -07:00
Colin Versteeg
a8ff209ab6 Refactor Onnx runtime Server to only use public APIs (#1271)
* replace log sinks

* limit headers to include dir

* first changes to do dynamic linking

* wip for using cxx api

* remove weird dangling dependency

* building with tests failing

* finish updating converters

* fix const

* intital introduction of typedef

* change logging to use spdlog

* get tests passing

* clang format

* map logging levels better

* clean up unused imports

* trent cr comments

* clang-format

* code review comments

* changing buffer use to reserve

* Dynamically link

* revert tvm

* update binary uploading

* catch exceptions by const-ref

* Revert "revert tvm"

This reverts commit 387676dd1018134d15eb71fa126f7caf94380800.

* fix typo

* update versioning of lib
2019-07-04 01:08:14 -07:00
KeDengMS
0d204f3f06
Implementation of TVM codegen library (#888)
Description:

This change adds the common part of TVM based codegen library. It includes following parts:
* Microsoft TVM Inventory (MTI): a set of TVM ops for neural networks, similar to TOPI
* Compiler pass for traversing ONNX graph and generate TVM ops
* Compiler pass for traversing generated graph and specify TVM schedule
* Compiler pass for handling weight layout
* Utils for debugging

Motivation and Context:

TVM is an open deep learning compiler stack for cpu, gpu and specialized accelerators. To leverage it in ONNX, we built an execution provider named Nuphar. Currently, Nuphar gets good performance on CPUs with AVX2 on quantized LSTM models.

This codegen library was part of Nuphar execution provider. It is split out for sharing with other execution providers, as we'd like to reuse TVM in more devices.
2019-07-03 10:32:59 -07:00
daquexian
c65489a47f Initial PR for NNAPI execution provider (#1220)
* init

* Update DNNLibrary

* Update DNNLibrary, set compiler flags, it compiles now

* Add more missing flags, add test

* Update DNNLibrary

* Update Compile method, fix allocator and some other bugs

* Update DNNLibrary

* Implement CopyTensor

* Not delete state explicitly since it is managed by unique_ptr

* Add the missing files when SingleUnitTestProjct is ON

* misc changes

* Fix wrong name in provider factory

* Add my own test

* Update the code of add node into graph, and add the missing initializer into graph

* Fix the bug that re-build the graph produces extra output

* Update DNNLibrary

* Transpose nchw (ONNX) -> nhwc (NNAPI)

* Add license

* Add GetSupportedNodes method (implement it later)

* Rename onnxruntime_nnapi_test->onnxruntime_nnapi_squeezenet_test

* Update squeezenet_test.cpp after rebase master

* Remove squeezenet_test.cpp since it is almost same with the c++ sample

* Update DNNLibrary for GetSupportedNodes

* Update GetSupportedNodes

* Revert "Remove squeezenet_test.cpp since it is almost same with the c++ sample"

This reverts commit a97575fd9ff49e50ba1dc8d8154790d8cd86c48d.

* Update DNNLibrary

* Fix multiple outputs bug

* Remove GetKernelRegistry

* Revert "Revert "Remove squeezenet_test.cpp since it is almost same with the c++ sample""

This reverts commit 2a0670e9cbf10ea654111ce39e198a4be0ddd838.

* Set default memory type of NNAPI EP

* Add CPUOutput allocator

* Update DNNLibrary for multiple outputs

* Fix bug of nhwc->nchw

* Remove GetExecutionHandle()
2019-07-02 06:03:29 -07:00
Matthieu Darbois
04d581995d Use manylinux2010 image to build linux python wheels (#1282)
* Update cuda for python wheels

* Update cuda for python wheels

* Update cuda for python wheels

* Update azure-pipelines-py-packaging.yml

* Update to cuda 10

* Only test win gpu

* Update cuda for python wheels

* Use manylinux2010 image to build linux python wheels

Allow wheels built to truly be compliant with a manylinux policy
2019-06-27 15:45:06 -07:00
Scott McKay
0951f53c80 Update ONNX to d94f99d21a9a0820d58966410ceaf525132f85f1 to pickup change to checker that makes ssd_mobilenet model load 20x faster by avoiding unnecessary copies. (#1307) 2019-06-27 08:39:41 -07:00
Tracy Sharpe
3ebad81abc
MLAS: NCHWc low-level changes (#1283)
Implementation of the MLAS changes for NCHWc convolution/pooling support. These changes adopt the blocking format used by MKL-DNN and other convolution libraries for better performance.
2019-06-25 16:57:30 -07:00
Ashwini Khade
a571ea74a6 update onnx (#1287) 2019-06-24 14:17:27 -07:00
Ashwini Khade
92dc5c506d
move all contrib ops to contrib ops namespace (#1190)
* move all contrib ops to one place

* namespace changes

* bug fix - remove redundant file after merge master

* plus more minor bug fixes

* bug fix

* fix extra space in include header + namespace fix

* fix linux build failure:

* fix test group names

* remove redundant test
2019-06-24 10:19:01 -07:00
RandySheriffH
671c15a56a
Treat attribute warning as non-error on cross compiling ARM (#1261)
* abandon attribute error on cross compiling

* install dep lib
2019-06-23 17:59:38 -07:00
Changming Sun
766c6b6163
Add an API for retrieve ORT version (#1263)
* Add an API for retrieve ORT version
2019-06-20 15:42:12 -07:00
Raymond Yang
c96049fe4a Update ONNX version to include new fixes/changes (#1250) 2019-06-18 14:39:36 -07:00
Changming Sun
2d0e5231da
Fix the build issue with gcc 9.x (#1242)
Ignore some warnings to make the build pass
2019-06-18 11:21:26 -07:00
S. Manohar Karlapalem
8d15ffd8f5 Initial commit for OpenVINO Execution Provider (#935)
* Initial commit for OpenVINO Execution Provider

OpenVINO Execution Provider provides the interface for ONNX Runtime
applications to access Intel's hardware accelerators using Intel's
OpenVINO Toolkit.

* Fixed bug in GetCapability to disable custom ops

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Added OPENVINO ci pipeline

Added new pipeline for openvino provider,
made changes to support the docker build and
onnxruntime build with openvino.

Signed-off-by: Luis Daniel Castellanos <luis.daniel.castellanos@intel.com>

* Enabled all unit tests for OpenVINO EP

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Fixed syntax issue in run_docker_build.sh file

* Added missing default OPENVINO_VERSION

Default value for OPENVINO_VERSION env was
missing causing the build to fail

* Added install Model Optimizer deps step

* Fixed python unit tests and some tests from onnx_backend_test_series

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Fixed indentation bug

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled some of the python backend tests for OpenVINO

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled some model tests

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Remove Duplicate checks for openvino in build.py

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Modified GetCapability for FP16

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled GPU FP32 tests that are not supported

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Convert modelProto to string and use it in compile

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Pass byte-array input args to MO

* Serialized ModelProto passed in-memory to MO

ModelOptimizer python module receives the serialized  ModelProto
in-memory.
Uses appropriate ONNX function to load the serialized bytes.

* Make Py_Finalize compatible with older python versions

Also, remove pFunc unassigned variable possibility.

* Fallback if input dims of Matmul is greater than 2

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* fixup: Device #define syntax

* Updated the documentation

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Enable dynamic dim value

* removed commented out code

* Added Dockerfile for openvino EP

Updated instructions on dockerfiles/README.md file

Signed-off-by: Luis Daniel Castellanos <luis.daniel.castellanos@intel.com>

* Disabled fp16_inception_v1 test

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Code formatting with clang-format

Uses style from the .clang-format file in root directory.

* fixup: docker tag and build error fixes

* Heuristics to automatically detect batching

Distributes slices from batch into parallel infer-request objects.

* Handle disabled tests in GetCapability

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled average pool and max pool if ceil_mode is 1

Also dilations are not supported if they are greater than 1

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled Unsqueeze int32 test

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* changes to fix output results bug

* Disabled a few C++ unit tests for MYRIAD FP16

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Manually revert '9fe162bb Enable dynamic dim value'

Reverts compile time setting of dynamic shape
Reverting manually due to significantly huge auto-revert conflicts.

* Fixed unused variable warning

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled Mul test for GPU_FP16 due to accuracy issue

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* VPU documentation update

* Disabled inception_v1 for MYRIAD and HDDL

*Also disabled few C++ accuracy tests for HDDL

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* updates from upstream

* use the new CustomOpApis for I/O interfacing

* Pass initializers as subgraph meta-def inputs in GetCapability()

Requirement due to API changes introduced with PR# 1019.

* Remove obsolete functions

* Save indexes of graph inputs from fused_node info

Both inputs and initializers are passed as data inputs to the
infer function. To identify only inputs among them, save thier
index info from fused_node in Compile function.

* Documentation changes to enable VPU

* Fix VPU related changes in documentation

* Fix minor changes in documentation

* Fix VPU related changes in documentation

* Use Node.In/OutputDefs() to track graph inputs and outputs.

Don't use graph_viewer's GetInputs() or
GetInputsIncludingInitializers().

* Permit "SAME_UPPER" auto_pad attribute from MaxPool

* Disabled fp16_tiny_yolov2 in onnx model tests

* Updated documentation to include configuration guides for myriad and hddl

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Use 8 Infer requests only for VAD-R

* disable debug prints

* Clang-format source files

* Updated BUILD.md with OpenVINO R5 links

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled same upper python tests

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Update test exclusion syntax

* Change path of install_onnx.sh

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disable tiny_yolov2 in broken tests

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Revert "Change path of install_onnx.sh"

This reverts commit ba9db165f3be430f2aff1ef413299ed04637196a.
This change is only required for Intel internal CI pipeline until
the settings are matched with the upstream's CI pipeline.

* Added debug statements for debugging CI error

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Add --build_wheel to linux openvino pipeline

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Added -v option to onnx_test_runner for debugging

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Removed path change patch

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Added -c 1  to onnx_test_runner

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Refactor MO python invocation in separate function

Cleans up Model Optimizer python invocation check and conversion
logic. Invokes MO only once in GetCapability() and passes the
IR strings (xml and bin) to the Compiler as meta-def attributes.

* Add comments

* code cleanup and comments

* Code cleanup for GetCapability

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Removed unnecessary files

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Revert "Added -v option to onnx_test_runner for debugging"

This reverts commit d1dd70938a94d648df1a1dbbc2e48d0b97e49ec8.

* Revert "Added debug statements for debugging CI error"

This reverts commit b86d41afed2aa29c3508155d6f9c8d3a7263cc60.

* incorporate Status Code changes

* ComputeFunc returns Status::OK() on success

* Use test names to disable tests for MYRIAD and VAD-R

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Rename local identifiers from CNNNetwork to OpenVINO network

CNNNetwork is an OpenVINO's API class that represents more than
just convolutional neural networks (CNNs). Renaming helps to avoid
confusion that the API's only support CNN type models.

* Added error message if building on windows

* Removed duplicate option in Cmake
* Removed unnecessary parameters in activation_opt_test

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Refactor Map search and access logic for efficiently and cleanliness.

* use C++ style casts

* Use os.path.join for python directory path operations

* use C++ style casts

* EP classes should use onnxruntime namespace

* Clean up fixes from PR comments

* Don't explicitly shutdown Py interpreter

* Remove debug print statements

Prints will be re-enabled later with a logging mechanism with
debug/verbose printing options.

* Decrement ref counts for used pyObjects

* Restore build instructions for other compilers

Content under the "Using other compilers" section has been
accidentally deleted by a previous commit. Restoring back that
content from the latest upstream repo.

* CMake code cleanup

Code clean up, commenting and formatting of CMake code.

* Don't pass the unused device_info parameter to OpenVINOGraph ctor.

* Add support for multiple I/O data types

Adds support for the following tensor data types for graph inputs
and outputs:
1) float
2) float16
3) int32
4) int16
5) int8
6) uint16
7) uint8

* cleanup setup.py module list definition

* Deduce index of input using tracked input index map

Ignores initializers in case they are ordered before inputs.

* Removed debug statement in MO code

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* PR feedback

* Removed per_sample_tolerance for openvino
* Removed unnecessary disabled tests

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Removed debug function

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled tiny_yolo_v2 due to accuracy issues

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Changed the disabled reason for broken tests

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Disabled Reshape with no input

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Python formatting with Autopep8

* Minor fix for MYRIAD devices

* Added zero dimension check

*Removed setting batch size for the network

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Set the threshold to larger value for MNIST

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Removed setting higher threshold in provider_test_utils

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>

* Check for --use_openvino in python wheel setup.py

Add openvino modules to the setup script for building the wheel
package only for --use_openvino a build option.

* Removed nullptr checks for GetNode()

Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
2019-06-18 08:58:53 -07:00
RandySheriffH
6d7081f33f
Add PyOp doc and UT (#1200)
* Enable Interop Op test in ci pipelines

* add doc

* update doc

* update doc

* add supported types

* format doc

* update doc

* update doc

* update doc

* update doc

* update doc

* update doc

* update doc

* remove comment

* catch up with latest C API

* fix cmake issue

* update doc

* add comments

* update doc

* update doc

* fix compile err on mac

* update doc

* update doc

* update doc

* update doc

* add sequence chart

* format sequence chart

* format sequence chart

* update doc

* update doc

* update doc

* update doc

* update doc

* update doc

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* add graph dependency

* add graph dependency

* add graph dependency

* add links

* enable test from yml

* revert change in yml

* renable test in yml

* update doc
2019-06-17 11:15:44 -07:00
Scott McKay
c1a34a8ba6
Add ability to dump node input/output (#1202)
Address #1155

Add debug helper methods to be able to dump input name and shape information for node inputs, and the data from node outputs.

As the input data comes from graph inputs, initializers or node outputs we don't dump it.

Must be manually enabled by building with '--cmake_extra_defines onnxruntime_DEBUG_NODE_INPUTS_OUTPUTS=ON'
2019-06-13 06:47:50 +10:00
Changming Sun
6d5ea08936
Add nsync lib to onnxruntime_mlas_test's deps (#1199)
* Add nsync lib to onnxruntime_mlas_test's deps
2019-06-11 13:01:16 -07:00
Dmitri Smirnov
a92998c235
Uncomment ConstantOfShape tests. (#1059)
Advance ONNX submodule to 5c51f0dbbe88ee1536f17ee7bd462b2ab3772c52
  This commit in ONNX contains a fix to ConstantOfShape test data.
  Uncomment ConstantOfShape.
  Update test script, make sure exclusions are uniform.
2019-06-10 14:36:36 -07:00
RandySheriffH
cdb27de090
implement python opeartor (#1045)
* implement python opeartor

* format code

* remove dup

* limit type

* format code

* cancel default logging func

* add comment

* fix compile err

* fix comments

* switch to c++ style cast

* implement interop framework

* fix format

* move includes

* cancel needless linking

* fix comment

* add UT

* exclude def
2019-06-07 11:50:23 -07:00
Klein Hu
1a86421aff Create a syslog sink for logging in !Win32 env (#1163)
* Create a syslog sink for logging in !Win32 env

* Move syslog level logic to syslog_sink.c
2019-06-06 16:35:06 +10:00
Changming Sun
6c9d815de5 Revert "Remove openmp flag (#1140)" (#1146)
This reverts commit a7137a0f9d.
2019-05-31 18:48:14 -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
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
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
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
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
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
Pranav Sharma
bc01f7b16f
Ensure the Eigen code that is getting #included is licensed under the MPL2 and possibly more permissive licenses (like BSD). (#1076) 2019-05-22 09:58:06 -07:00
Changming Sun
15561581f9
Change the INCLUDE path for gemmlowp (#1066)
Remove '..' from INCLUDE PATH.
2019-05-21 11:34:41 -07:00
Bowen Bao
a42222f9de
bump onnx version & fix conv/pool tests (#1067) 2019-05-21 09:52:41 -07:00
Klein Hu
2ad626752a Use local ort python package in server model tests (#1027)
* Use local ort python package in server model tests

* Create symlink for onnxruntime during test

* Using generated _pb2.py in the build folder

* Generate onnx_ml_pb2.py from ONNX CMakeList.txt

* Update model tests for python package path

* Only use onnx python package from build

* Revert some changes for pb2.py generation
2019-05-20 18:40:52 -07:00
Changming Sun
99556b111d
Make MemPatternPlanner on/off switchable in model weight loading (#989) 2019-05-16 14:39:09 -07:00
Changming Sun
7bce377113
Fix LTO build failure on ubuntu (#1048)
* Fix LTO build failure on ubuntu
2019-05-16 14:06:38 -07:00
Maik Riechert
875c4c2f3f restore ninja compatibility
The ninja generator requires all generated libraries to be declared.
This was missing in get_boost.cmake.
2019-05-15 10:18:52 -07:00
Changming Sun
ec2a8b2386 delete test/onnx/simple_thread_pool.h 2019-05-15 10:00:59 -07:00
tmccrmck
af7090c25f Fix server's executor memory leak and add tests (#984)
* Fixes memory leaks in executor and adds executor tests

* Remove logging test from executor_test.cc

* Uses RAII to allocate and freee MLValue buffers

* Change private member buffer to buffer_
2019-05-09 22:51:57 -07:00
R. G. Esteves
17690355ed Support for building ngraph EP on Windows (#978)
* Enable windows support for ngraph ep

* Slight rewording of building for windows

* Streamline build of ngraph ep, disable C# bindings build
2019-05-07 14:14:50 -07:00
Zhang Lei
468de7c8af
Zhalei/erff (#846)
Implement error function in mlas with avx2 optimization.
2019-05-06 14:05:04 -07:00
Ashwini Khade
f4fd36ee91
merge rel-0.4.0 into master (#959)
* Accomodate missing optional 'axes' when 'steps' is present in Slice op (#946)

* Accomodate missing optional axes when steps is present in Slice implementation

* PR feedback

* Update package links (#937)

* Update package links

* Minor fix

* Update README.md

* Minor edit

* Update onnx commit (#949)

* Update onnx commit

* disable failing tests which don't have to be fixed for this release

* dummy change to fix file permission

* fix file permission
2019-05-03 09:07:19 -07:00
Changming Sun
a02ff0bd06 Fix ngraph build on Redhat Linux 2019-05-01 14:32:50 -07:00
Tomasz Dołbniak
df513c7fe6 Perform shallow clone for nGraph (#938) 2019-04-30 18:38:33 -07:00
tmccrmck
1978b3c953 Add an HTTP server for hosting of ONNX models (#806)
* Simple integration into CMake build system

* Adds vcpkg as a submodule and updates build.py to install hosting dependencies

* Don't create vcpkg executable if already created

* Fixes how CMake finds toolchain file and quick changes to build.py

* Removes setting the CMAKE_TOOLCHAIN_FILE in build.py

* Adds Boost Beast echo server and Boost program_options

* Fixes spacing problem with program_options

* Adds Microsoft headers to all the beast server headers

* Removes CXX 14 from CMake file

* Adds TODO to create configuration class

* Run clang-format on main

* Better exception handling of program_options

* Remove vckpg submodule via ssh

* Add vcpkg as https

* Adds onnxruntime namespace to call classes

* Fixed places where namespaces were anonymous

* Adds a TODO to use the logger

* Moves all setting namespace shortnames outside of onnxruntime namespace

* Add onnxruntime session options to force app to link with it

* Set CMAKE_TOOLCHAIN_FILE in build.py

* Remove whitespace

* Adds initial ONNX Hosting tests (#5)

* Add initial test which is failing linking with no main

* Adds test_main to get hosting tests working

* Deletes useless add_executable line

* Merge changes from upstream

* Enable CI build in Vienna environment

* make hosting_run*.sh executable

* Add boost path in unittest

* Add boost to TEST_INC_DIR

* Add component detection task in ci yaml

* Get tests and hosting to compile with re2 (#7)

* Add finding boost packages before using it in unit tests

* Add predict.proto and build

* Ignore unused parameters in generated code

* Removes std::regex in favor of re2 (#8)

* Removes std::regex in favor of re2

* Adds back find_package in unit tests and fixes regexes

* Adds more negative test cases

* Adding more protos

* Fix google protobuf file path in the cmake file

* Ignore unused parameters for pb generated code

* Updates onnx submodule (#10)

* Remove duplicated lib in link

* Follow Google style guide (#11)

* Google style names
* Adds more 
* Adds an additional namespace
* Fixes header guards to match filepaths

* Consume protobuf

* Unit Test setup

* Json deserialization simple test cases

* Split hosting app to lib and exe for testability

* Add more cases

* Clean up

* Add more comments

* Update namespace and format the cmake files

* Update cmake/external/onnx to checkout 1ec81bc6d49ccae23cd7801515feaadd13082903

* Separate h and cc in http folder

* Clean up hosting application cmake file

* Enable logging and proper initialize the session

* Update const position for GetSession()

* Take latest onnx and onnx-tensorrt

* Creates configuration header file for program_options (#15)

* Sets up PredictRequest callback (#16)

* Init version, porting from prototype, e2e works

* More executor implementation

* Adds function on application startup (#17)

* Attempts to pass HostingEnvironment as a shared_ptr

* Removes logging and environment from all http classes

* Passes http details to OnStart function

* Using full protobuf for hosting app build

* MLValue2TensorProto

* Revert back changes in inference_session.cc

* Refactor logger access and predict handler

* Create an error handling callback (#19)

* Creates error callback

* Logs error and returns back as JSON

* Catches exceptions in user functions

* Refactor executor and add some test cases

* Fix build warning

* Add onnx as a dependency and in includes to hosting app (#20)

* Converter for specific types and more UTs

* More unit tests

* Update onnx submodule

* Fix string data test

* Clean up code

* Cleanup code

* Refactor logging to use unique id per request and take logging level from user (#21)

* Removes capturing env by reference in main

* Uses uuid for logging ids

* Take logging_level as a program argument

* Pass logging_level to default_logging_manager

* Change name of logger to HostingApp

* Log if request id is null

* Update GetHttpStatusCode signature

* Fix random result issue and camel-case names

* Rollback accidentally changed pybin_state.cc

* Rollback pybind_state.cc

* Generate protobuf status from onnxruntime status

* Fix function name in error message

* Clean up comments

* Support protobuf byte array as input

* Refactor predict handler and add unit tests

* Add one more test

* update cmake/external/onnx

* Accept more protobuf MIME types

* Update onnx-tensorrt

* Add build instruction and usage doc

* Address PR comments

* Install g++-7 in the Ubuntu 16.04 build image for vcpkg

* Fix onnx-tensorrt version

* Check return value during initialization

* Fix infinite loop when http port is in use (#29)

* Simplify Executor.cc by breaking up Run method (#27)

* Move request id to Executor constructor

* Refactor the logger to respect user verbosity level

* Use Arena allocator instead of device

* Creates initial executor tests

* Merge upstream master (#31)

* Remove all possible shared_ptrs (#30)

* Changes GetLogger to unique_ptr

* Reserve BFloat raw data vector size

* Change HostingEnvironment to being passed by lvalue and rvalue references

* Change routes to getting passed by const references

* Enable full protobuf if building hosting (#32)

* Building hosting application no longer needs use_full_protobuf flag

* Improve hosting application docs

* Move server core into separate folder (#34)

* Turn hosting project off by default (#38)

* Remove vcpkg as a submodule and download/install Boost from source (#39)

* Remove vcpkg

* Use CMake script to download and build Boost as part of the project

* Remove std::move for const references

* Remove error_code.proto

* Change wording of executable help description

* Better GenerateProtobufStatus description

* Remove error_code protobuf from CMake files

* Use all outputs if no filter is given

* Pass MLValue by const reference in MLValueToTensorProto

* Rename variables to argc and argv

* Revert "Use all outputs if no filter is given"

This reverts commit 7554190ab8e50ba6947648c2f3e2a3d4d9606ce0.

* Remove all header guards in favor of #pragma once

* Reserve size for output vector and optimize for-loop

* Use static libs by default for Boost

* Improves documentation for GenerateResponseInJson function

* Start Result enum at 0 instead of 1

* Remove g++ from Ubuntu's install.sh

* Update cmake files

* Give explanation for Result enum type

* Remove all program options shortcuts except for -h

* Add comments for predict.proto

* Fix JSON for error codes

* Add notice on hosting application docs that it's in beta

* Change HostingEnvironment back to a shared_ptr

* Handle empty output_filter field

* Fix build break

* Refactor unit tests location and groups

* First end-to-end test

* Add missing log

* Missing req id and client req id in error response

* Add one test case to validate failed resp header

* Add build flag for hosting app end to end tests

* Update pipeline setup to run e2e test for CI build

* Model Zoo data preparation and tests

* Add protobuf tests

* Remove mention of needing g++-7 in BUILD.md

* Make GetAppLogger const

* Make using_raw_data_ match the styling of other fields

* Avoid copy of strings when initializing model

* Escape JSON strings correctly for error messages (#44)

* Escape JSON strings correctly

* Add test examples with lots of carriage returns

* Add result validation

* Remove temporary path

* Optimize model zoo test execution

* Improve reliability of test cases

* Generate _pb2.py during the build time

* README for integration tests

* Pass environment by pointer instead of shared_ptr to executor (#49)

* More Integration tests

* Remove generated files

* Make session private and use a getter instead (#53)

* logging_level to log_level for CLI

* Single model prediction shortcut

* Health endpoint

* Integration tests

* Rename to onnxruntime server

* Build ONNX Server application on Windows (#57)

* Gets Boost compiling on Windows

* Fix integer conversion and comparison problems

* Use size_t in converter_tests instead of int

* Fix hosting integration tests on Windows

* Removes checks for port because it's an unsigned short

* Fixes comparison between signed and unsigned data types

* Pip install protobuf and numpy

* Missing test data from the rename change

* Fix server app path (#58)

* Pass shared_ptr by const reference to avoid ref count increase (#59)

* Download test model during test setup

* Make download into test_util

* Rename ci pipeline for onnx runtime server

*  Support up to 10MiB http request (#61)

* Changes minimum request size to 10MB to support all models in ONNX Model Zoo
2019-04-30 18:21:23 -07:00
Raymond Yang
01cd7eaca8 Bump up onnx version (#936)
* bump up onnx version
2019-04-30 08:44:32 -07:00
Maik Riechert
ded7eeb033 make builds more robust (#906) (#932) 2019-04-29 12:58:20 -07:00
Changming Sun
1f066d4dc4 Update onnx (#893) 2019-04-24 21:31:49 +10:00
Hector Li
e8d722003a
Move NMS to Onnx domain (#865)
* move files

* move files

* Remove NonMaxSuppression from Contrib op, move it to Onnx domain, opset 10

* move NMS out of namespace contrib

* update data type in UT

* update to latest onnx

* white list the node test for Mod which is not implemented yet
2019-04-22 13:24:27 -07:00
Tracy Sharpe
cb69c65756
Update MLAS to be able to build standalone again (#874)
Change MLAS to be able to build standalone without onnxruntime header dependencies. This is enabled when building with MLAS_NO_ONNXRUNTIME_THREADPOOL defined.
mlas.h had been changed to include the ThreadPool header, but this header now just has a forward reference for the class. The header was also doing a "using onnxruntime::concurrency"; that has been removed and the external mlas.h users fixed up as needed.
As before, if ThreadPool==nullptr, then MLAS uses OpenMP or falls back to a single threaded implementation. The build option to use the Win32 system thread pool has been removed as onnxruntime can't hit that path and I don't use that option for standalone tests anymore.
2019-04-21 14:04:15 -07:00
nivas-x86
a4d7052aeb Add nGraph Execution Provider (#832)
* Add nGraph Execution Provider

* feedback changes 1

* feedback2

* Feedback and upgrade nGraph

* Feedback 4

* Fix CI

* Disable new ops
2019-04-20 17:02:35 -07:00
Changming Sun
d78c340eac update onnx (#861)
* update onnx

* ignore some tests
2019-04-19 10:52:47 -07:00
Pranav Sharma
780aad8fd0 Eliminate unused code and data from Linux binaries. (#849) 2019-04-18 23:00:27 -07:00
Changming Sun
687bac455d Convert eigen to a submodule and update it to the latest version 2019-04-18 21:24:56 -07:00
Bowen Bao
ed0c86cd90 update onnx to fix matmul shape inference (#847)
* update onnx to fix matmul shape inference

* update onnx submodule hash in cgmanifest.json and ci scripts
2019-04-18 14:52:48 -07:00
stevenlix
f2694ab526
Enable provider unit tests for TensorRT (#802)
* Update provider_test_utils.cc

* Update tensorrt_execution_provider.h

* Update tensorrt_execution_provider.cc

* Update gemm_test.cc

* Update softmax_test.cc

* Update logsoftmax_test.cc

* Update matmul_test.cc

* Update batch_norm_op_test.cc

* Update conv_op_test.cc

* Update batch_norm_op_test.cc

* Update softmax_test.cc

* Update conv_transpose_op_test.cc

* Update instance_norm_op_test.cc

* Update flatten_op_test.cc

* Update loop_test.cc

* Disable failed tests for TensorRT

* Disable unsupported tests for TensorRT

* Disable unsupported tests for TensorRT

* Disable unsupported tests for TensorRT

* Disable unsupported tests for TensorRT

* Update matmul_test.cc

* Update logsoftmax_test.cc

* Update topk_op_test.cc

* disable unsupported tests for TensorRT

* resolve conflicts

* Update identity_op_test.cc

* Update activation_op_test.cc

* make max batch size configurable and simplify the code for disabling unsupported tests

* make max batch size configurable at runtime

* update tensorrt ci pipline

* move max batch size to private

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.h

* Update tensorrt_execution_provider.cc

* add comments on the test changes

* Update tensorrt_execution_provider.h

* Update tensorrt_execution_provider.cc

* Update build.py
2019-04-18 13:20:37 -07:00
shschaefer
ff253631b5
Enable use of session based threadpool. (#854)
* Enable use of session based threadpool.

* Fix build dir issue
2019-04-18 10:20:46 -07:00
daquexian
ac82c1f483 enable android build (#715)
* enable android build

* Add 'log' to onnxruntime_EXTERNAL_LIBRARIES

* Remove cmake about header_files_test.cc

* Add Android CI pipeline

* Remove some ms-specific(?) ci

* Fix bash error

* Add execute flag for install_deps_android.sh

* Add install_ubuntu_for_android.sh

* Remove python in deps for android

* Add comment for BUILD_ARCH

* Set BUILD_SERVICE to cpu

* Set BUILD_OS in run_build.sh

* Fix -o bug in run_build.sh

* Android -> android

* Correct the android ndk location

* Checkout submodules in my own azure pipelines

* Revert "Remove some ms-specific(?) ci"

This reverts commit 302463213480487d8944c3127a3b311c591d55c0.

* Revert "Checkout submodules in my own azure pipelines"

This reverts commit 1acfb6755f933e532b8312ca35bb4900a833903f.
2019-04-18 09:59:04 +08:00
Ashwini Khade
07e6dfa7ab
update onnx and enable tests for qlinearconv (#840) 2019-04-16 09:43:17 -07:00
Pranav Sharma
54e04cb8bb
cherry pick PR from 0.3.1 release - enable MSVC static runtime (#837) 2019-04-15 22:37:47 -07:00
Pranav Sharma
4b4a359943
Exclude unreferenced global data and op doc strings in the opschema object. The first causes a decrease in the binary size by at least 85k. The latter reduces resident memory size. (#823)
* Exclude unreferenced global data and op doc strings in the opschema object. The first causes a decrease in the binary size by at least 85k. The latter reduces resident memory size.

* Update onnx to incorporate my PR that fixes SetDoc compiler warnings
2019-04-15 15:57:19 -07:00
jignparm
d17ae5c093
MKLML pipeline - update C# and CMake to handle dll dependencies (#810)
* Refactor NuGet to allow arbitrary namespaces

* Move csharp build to end of cmake

* Minor edit to ensure dll generation in sequence
2019-04-10 18:16:02 -07:00
Ashwini Khade
10b113f144
update onnx to bring in quantized ops (#808)
* update onnx + move quantized ops kernels and test to onnx + remove exp ops

* update onnx

* Revert "update onnx"

This reverts commit 533abfc297e75473a74505fb89921ffc05c46a1c.

* add generated csharp test file
2019-04-10 17:20:35 -07:00
Changming Sun
4bc3d6027d Build perf test runner only if onnxruntime_BUILD_SHARED_LIB is ON 2019-04-10 13:16:56 -07:00
jignparm
4e3391ef60
Refactor NuGet to allow arbitrary PackageId names (e.g. Microsoft.ML.OnnxRuntime.MKLML) (#797)
* Refactor NuGet to allow arbitrary namespaces

* Move csharp build to end of cmake
2019-04-09 22:48:00 -07:00
Changming Sun
0d4055def4 Integrate tensorflow into onnxruntime_perf_test tool 2019-04-09 15:55:08 -07:00
Ryan Hill
fda1d0dce9
Ryanunderhill/ocr custom op (#744)
* Adding a custom op interface to the C API to remove shared library dependency.
* Remove old custom op test
* Rework how custom ops handle inputs/outputs to enable custom op output shape calculation in the compute method
* Add a nicer C++ API for custom ops and switch the tests to use it.
2019-04-05 18:53:20 -07:00
Changming Sun
867e961ee8 Remove mkldnn_sgemm from math_util.cc
If it is needed, it can be used explicitly in mkldnn provider.
2019-04-05 14:13:10 -07:00
Changming Sun
43521c0de7 update 2019-04-04 21:22:27 -07:00
Changming Sun
290112d614
Update onnx (#761)
* update onnx
2019-04-04 10:58:45 -07:00
Ashwini Khade
8bc532bfb9 update onnx and add removed experimental ops to contrib ops (#723) 2019-04-02 22:30:00 -07:00
Changming Sun
fc26b24138
onnx_test_runner: use c api for loading non-tensor test data (#751) 2019-04-02 21:47:24 -07:00
stevenlix
06888437dd Update onnx-tensorrt submodule to master (#753) 2019-04-02 16:34:00 -07:00
stevenlix
40839f1f84
Enable multiple session runs for TensorRT (#724)
* Update BUILD.md

* Update README.md

* Update tensorrt_execution_provider.cc

remap node index to handle the case that nodes in graph may be deleted and node index is not continuous.

* Update onnxruntime_providers.cmake

Solve conflicts to onnx-tensorrt

* Update tensorrt_execution_provider.h

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.h

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.h

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* Update tensorrt_execution_provider.cc

* Update build.py
2019-03-30 11:02:13 -07:00
Changming Sun
165657ee1a
Refactor the /Qspectre cmake code (#736)
* refactor the /Qspectre cmake code

* Remove /Zi
2019-03-29 00:21:54 -07:00
jignparm
36f5d008de
Add /Qspectre compiler flags (#671)
* Add /Qspectre compiler flags

* Added /Zi. Seems required for binskim to pass

* reset cmake min to 3.11 for nuget pipeline

* Reset CMake min to 3.13
2019-03-28 11:08:05 -07:00
KeDengMS
deaea702ff
Bump up cmake_minimum_required to 3.13 (#722)
This is consistent with CI version. cmake 3.11 has issues with CUDA build in Linux.
2019-03-27 14:45:24 -07:00
Changming Sun
fb2a44f642 Remove header_files_test.cc 2019-03-27 13:16:56 -07:00
Raymond Yang
c35b605b8d
Support updated opschema with functionbody (#640)
* Update onnx

* Support updated function schema in ORT

* Update onnx related commit hash

* Check out an older commit in ONNX

* Add support for subgraph attribute

* Add comments
2019-03-27 11:38:10 -07:00
shahasad
83ae641425
add documentation for custom ops (#708)
* added tools for doc gen, added doc

* doc updated

* some fixes

* hooked up with build.py

* hooked up with build.py and fail on nonupdated doc

* update
2019-03-26 21:58:01 -07:00
Pranav Sharma
bcf1ce94be
Provide an option to disable contrib ops. (#707) 2019-03-26 12:31:36 -07:00
Changming Sun
6497f0c133 build python only when onnxruntime_BUILD_UNIT_TESTS is ON (#694) 2019-03-22 19:25:49 -07:00
Changming Sun
179afe1594
Remove onnxruntime_USE_PREBUILT_PB (#692)
* Remove onnxruntime_USE_PREBUILT_PB
2019-03-22 17:41:21 -07:00
Changming Sun
a26696fb0e Enable LTO on Linux 2019-03-22 15:30:37 -07:00
stevenlix
af389593be
Add Windows CI pipeline for TensorRT (#687)
* Update win-gpu-tensorrt-ci-pipeline.yml

* Update win-gpu-tensorrt-ci-pipeline.yml

* Update symbols.txt

* Update CMakeLists.txt

* Update build.py

* Update win-gpu-tensorrt-ci-pipeline.yml

* Update win-gpu-tensorrt-ci-pipeline.yml

* Update win-gpu-tensorrt-ci-pipeline.yml

* Update tensorrt_execution_provider.cc

* Update CMakeLists.txt

* Update win-gpu-tensorrt-ci-pipeline.yml
2019-03-22 14:46:57 -07:00
jywu-msft
8d782582f4
fix build_wheel option (#684) 2019-03-22 11:18:23 -07:00
Pranav Sharma
5d452b3029
Use protobuf-lite to reduce onnxruntime.dll size. (#639)
* Test protobuf-lite

* Test protobuf-lite

* Test protobuf-lite

* Optimize protobuf usage for LITE_RUNTIME to reduce the binary size of
onnxruntime.dll. More details can be found here https://developers.google.com/protocol-buffers/docs/proto.
The reduction is significant. For commit id: 4873b452151bafe49da332aaeab639ef0318fc1ca28d728, the size
reduced by ~700K; from 4873728 to 4172800.

* Add LITE_RUNTIME flag in in.proto files

* Fix merge conflict.

* Address PR comments

* Forgot to add 2 files + fix linux and gpu build errors.

* Fix build errors + test failures

* Fix cuda tests

* Fix tensor rt build

* Use full protobuf for trt

* Address PR comments

* Print tensor shape proto as text string for easier debugging
2019-03-21 14:06:38 -07:00
utsab
a624e1091e fixing clang build failure 2019-03-21 13:55:47 -07:00
Changming Sun
9e323901b2
Upgrade mkldnn to 0.18 (#650)
Upgrade mkldnn to 0.18, to fix a build issue with GCC 8.
2019-03-19 16:23:55 -07:00
stevenlix
e8b0ae8923
Trt execution provider (#382)
* updated cmake files for trt

* added trt execution provider

* added trt basic test

* removed trt_path action attribute

* Add files via upload

* Update build.py

* Update trt_allocator.h

* fixed issues found by reviewers

* changed cast operator

* added comment for custom kernel implementation

* changed auto to auto&

* changed to function compile APIs for TRT execution provider

* changed to function compile APIs for TRT execution provider

* added new DType DInt64

* adapted to the changes of onnxruntime_c_api

* removed trt kernel (use function compile instead)

* updated onnx-tensorrt submodule

* set default memory type to TRT fused kernel

* resolve merge conflict

* fixed the issue that USE_CUDA conflicts with USE_TRT

* construct graph by adding nodes in topological order

* made changes for Windows

* change buffers type

* bypass HasImplementationOf check for TRT XP because TRT kernel is not registered

* added domain to version info in rebuilt model proto

* added trt to test option list

* added DomainToVersionMap() to GraphViewer

* removed Copy()

* fixed broken code

* format the code to clang format

* used local reference to the frequently used values

* fixed a couple of issues according to reviewers feedback

* fixed a couple of issues according to reviewers feedback

* added python binding for TRT and enable use_cuda when use_trt is on

* fixed a redefinition issue

* changed shared_ptr to unique_ptr on trt engines, and made a few changes required by reviewers

* enabled trtexecution provider for unit tests

* renamed trt to tensorrt

* added tesorrt to python binding

* update submodule onnx and onnx-tensorrt

* made a couple of minor changes based on reviewer's feedback

* added CUDA_CHECK

* removed test code

* fixed broken code after merge

* updated onnx-tensorrt submodule

* added post processing to align trt inputs/outputs with graph inputs/outputs

* updated onnx submodule

* added CUDA fallback for TensorRT and fixed TensorRT cmake issue

* added ci pipeline for tensorrt and removed some redundent code from trt xp

* fixed syntax issue

* updated onnx-tensorrt submodule

* fix trt build problem by: (#602)

1. Add additional /wd for debug build
2. Add io.h for additional targets
3. Bring back mb version of getopt

* Update install_ubuntu.sh

* Update linux-gpu-tensorrt-ci-pipeline.yml

* Update linux-gpu-tensorrt-ci-pipeline.yml

* Update run_build.sh

* Update run_build.sh

* Update run_build.sh

* Update run_build.sh

* fixed the issue that GetKernelRegistry returns nullptr

* merged master to this branch

* moved some data types to private

* fixed tensorrt CI pipeline issue

* customized test data for TensorRT pipeline

* added onnx-tensorrt in json file and fixed an issue in ci script

* added comments
2019-03-14 12:00:39 -07:00
Hariharan Seshadri
cfb08c4848
TopK op: Promote onnx to a newer commit and handle changed TopK spec for opset 10 (#611)
* Initial commit

* Nit fix
2019-03-13 10:21:58 -07:00
Ke Zhang
5bb842538d
sync onnx and maintain old version history for removed exp ops (#588)
* sync onnx and maintain old version history for removed exp ops in onnx runtime.

* update

* updating to specific onnx commit - remove exp ops.

* update

* disable the 3 failures to push the change as it's blocking folks.

* update test
2019-03-12 18:48:27 -07:00
Xavier Dupré
c6d39b60cd remove OnnxTransformer (#554) 2019-03-12 18:15:39 -07:00
Randy
f048fc5fb0 cross compile x86 linux (#562)
* cross compile x86 linux

* fix comments

* install multilib for ubuntu cross compile

* remove tailing slash

* fix -fPIC relocations for x86 target too

* add asm make flag

* fix x86 compile err

* test x86 with zlib and png

* Disable zlib from x86

* install x86 python header

* remove cross-compiling changes

* test 32bit ubuntu

* add x86 ubuntu docker file

* add x86 as arch parametr for docker build

* config pipeline

* avoid dotnet install

* install cmake

* skip dep install

* use latest ubuntu

* install latest cmake

* install x86 deps

* configure cmake

* install ninja

* correct ninja dir

* apt get re2c

* install onnx

* set processor x86

* disable warning

* skip test

* disable test

* disable test

* find lib

* fix typo

* restore test

* disable backend model test

* disable test

* fix test err

* stop installing onnx

* disable onnx test on x86

* restore yml

* mergef with master yml

* cancel needless config setting

* enable x86 flag

* restore all onnx tests

* fix yml typo

* install onnx

* add back x86 flag

* disable cases

* disable case

* disable cases

* add macro to disable cases

* fix typo

* print platform

* remove condition
2019-03-12 09:47:45 -07:00
Changming Sun
3ef273b84b Support memory mapping on Linux 2019-03-11 19:39:02 -07:00
Changming Sun
93bbb42e75 Change the way of linking dl lib 2019-03-11 10:46:05 -07:00
Hariharan Seshadri
867eda5262
Support Windows cross-compiling for ARM(64) in ORT build scripts (#549)
* Initial commit

* More changes

* More changes

* More changes

* More changes

* PR feedback

* Commiting Azure build config file

* Fix build pipeline

* Cleanup build dir template addition

* Remove conda modules download step

* PR feedback

* Revert x86 arguments to as they are currently

* More changes
2019-03-08 17:42:20 -08:00
Xavier Dupré
b4ffcf8258
Fixes #31, add option numpy_version, skip_keras_test to the parser of build.py, add flag PRIVATE for the python bindings (#544)
* add option numpy_version to build against the installed numpy version and not 1.15.0 (hardcoded version number), default is still 1.15.0
* add option skip_keras_test to skip keras test even if keras is installed (still enabled by default)
disable unnecessary warnings about ubuntu
* enable option PRIVATE for the compilation of the Python bindings (settings recommended on pybind11 documentation)
* test on debian 9
2019-03-07 13:08:02 +01:00
Changming Sun
8e0fff7b8d
Support large model(>2GB) (#520)
1. Support the new external data extension in ONNX 1.4 onnx/onnx#678
2. Enable onnxruntime_perf_test in Mac Build
3. move path_lib.h from onnx_test_runner source dir to onnxruntime_framework
4. Enable memory planner for string tensors
5. Make memory planner always enabled, to simplify model loading logic
6. Delete some duplicated code between onnxruntime_perf_test and onnx_test_runner
7. Delete win_getopt_mb lib.
8. Remove the dependency on Pathcch lib, which is only available on Windows 8 and newer.
2019-03-05 21:27:12 -08:00
shahasad
a4a459477a
Windows packaging build pipeline for C-api packages (CPU and GPU) (#535)
* added packaging pipeline

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* put the c-api header file at root instead of under core/session

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* parameterize the windows build script

* Update win-package-pipeline.yml for Azure Pipelines

* fixed indenting

* fixed indenting

* fix parameter reference syntax

* try using arch = amd64 for the vcvarsall

* remove duplicate tasks

* use vcvarsall

* some more refactor

* fix typo

* fix typo

* factored out the packaging step into a template

* add x86 build to package pipeline

* use amd64 for vcvars arg

* added gpu pipeline. added msbuild platform param

* fix the msbuild platform

* use amd64 host for x86 build

* use buildarch=x86 for vcvarsall

* remove vcvars from setup steps

* add some logging for PNG lib, and disable fns_candy demo for win32

* set allocator alignment to 32 bit for win32 compiler

* disable parallel execution test for x86

* use 64 bit toolchain for x86 build

* add missing -T flag for toolset

* fix string delimietr in workingdirectory name for package build test step

* fix gpu pipeline

* make io_types test conditional

* use cuda 10 instead of cuda 9.1, similar to the ci build

* try some workaround on the io test

* undo inadvertent local change in build.py, also reenable the io test

* make all test run single threaded

* blacklist few failing tests for x86

* added some log in build.py

* edit build.py to disable parallel test

* add the failed tests into the blacklist for win32

* add tf_pasnet_large to blacklist

* change control flow for build.py onnx tests

* add README, license and TPN to the package

* updated build.py test sequence for parallel executor

* updated onnx test flow as per review comment

* add type checking log in the compare_mlvalue

* fix type cast

* blacklist some failed test as of now

* one more blacklisted test
2019-03-05 18:12:02 -08:00
Changming Sun
bfa21c0b9f Re-enable the tests disabled during C API renaming 2019-03-05 16:06:38 -08:00
Hariharan Seshadri
1d3fcc525a
deps: update onnx to a newer commit and update test exclusions (#542)
* Update onnx dep to a newer commit and update test exclusions

* Keeping shrink excuded in c++ tests

* More changes
2019-03-05 12:03:16 -08:00
Weixing Zhang
8a59287c46
Create OptimizerExecutionFrame for graph optimization (#526)
* Create OptimizerExecutionFrame for optimizer

With this change, optimizer can easily invoke CPU kernels for graph optimization.
2019-03-04 10:56:41 -08:00
Scott McKay
5171e8b129
Make IExecutionProvider::Type return const std::string& instead of a new string. (#506)
Store the type string in IExecutionProvider so that Type() doesn't need to be a virtual.
2019-02-22 18:27:01 +10:00
Changming Sun
b69c834c06 Optimize graph partition 2019-02-20 16:32:04 -08:00
Dmitri Smirnov
0e687a2c90
Implement tokenex regular expression matching and add tests. (#480)
* Implement tokenex regular expression matching and add tests.
  Import re2 module.
2019-02-20 15:56:32 -08:00
Pranav Sharma
9bc6503463
Support non-tensor types in the C API. (#489)
* support non-tensor types

* support non-tensor types.

* support non-tensor types.

* fix compilation issues

* fix compilation issues

* fix compilation issues

* add test cases

* test cases

* add test cases

* try to fix string test case

* working now

* use allocator (broken)

* string test broken after using allocator

* full working example

* Fix PR comments
2019-02-19 14:11:46 -08:00
Raymond Yang
ec8ac04f30
Update cast op to support string <-> numeric (#379)
* Update cast kernel to support to/from string

* Update namespace

* Add support for literal numeric case

* Update to support -INF test

* Update kernel registration for cast

* Update ONNX to 1.4.1

* Update registy api

* Resolve some comments

* Update cast kernel implementation

* Resolve comments

* Fixed test data in onnx

* Update cast kernel implementation

* Resolve PR comments

* Update cast_op.cc

* Update onnx commits info

* Update comments
2019-02-12 10:10:56 -08:00
Yufeng Li
7b37dc6105
Enable USE_MKLML_FOR_BLAS (#387)
* Enable USE_MKLML_FOR_BLAS

* add mklml include directory for onnxruntime_provider and onnxruntime_provider_cuda

* add mklml_include_dir to include_directories
2019-02-08 07:14:37 -08:00
Pranav Sharma
db0fde9add
Make USE_MLAS macro conditional on cmake flag for consistency with other options and make it ON by default. It was already enabled by default today. (#454) 2019-02-07 18:33:00 -08:00
shahasad
8a8d1b0cea
Fix MacOS shared library build (#447)
* try removing the --version-script

* remove --no-undefined flag

* remove the -rpath linker flag

* remove the -rpath linker flag, including the -Wl

* remove the --whole-archive flags

* added -all_load -noall_load flags in place of --whole-archive and --no-whole-archive

* spell correct all-load

* set the MacOS specific cmake configs with if(APPLE) condition

* added --build_shared_lib to mac CI
2019-02-06 15:27:37 -08:00
Weixing Zhang
696ab8a194
Create a separate component for graph optimization. (#421)
* Create a project for graph optimizer.

Move optimizer related code to the folder optimizer.

* Fix build failures.

* rebase and fix build failures.

* fix build failure.

* fix build failure with cuda path.

* fix python build failure.

* Move two transformers(memcpy and insert_cast) from framework to optimizer.

* rebase.

* SessionState should not depend on optimizer.
2019-02-04 15:45:12 -08:00
Changming Sun
9f0298261d Fix a build warning in onnxruntime python extension (#416) 2019-02-01 00:19:41 -08:00
Randy
2f73d7abf8
compile with GL/LTCG (#391)
* compile with GL/LTCG

* apply the change to release build

* remove GL/LTCG from release build

* exclude cuda from using GL/LTCG
2019-01-29 14:18:23 -08:00
Xavier Dupré
439dbbada9
Adds OnnxTransformer to plug onnxruntime in sckit-learn's pipeline (#389)
Useful for transfer learning
2019-01-29 18:51:24 +01:00
jignparm
68881fadcd Delay load cudart64 for cpu execution 2019-01-29 08:50:37 -08:00
Changming Sun
6349114583 Revert "Rashuai/link with ltcg (#378)" (#383)
This reverts commit f53cc032db.
2019-01-25 19:00:23 -08:00
jignparm
ccca1e9402
Update property file for Nuget Linux package (#369)
* Copy mkldnn to output folder for linux. Nuget doesn't resolve dll dependency correctly within a package

* Modify to copy all dlls to output folder

* update rpath for shared library

* Simplified linker flags for RPATH

* Removing copying of dlls to output folder, since setting RPATH works fine now
2019-01-25 10:45:39 -08:00
Randy
f53cc032db Rashuai/link with ltcg (#378)
* compile with GL&LTCG

* remove tab

* restrict flag to only relwithdebinfo

* enable all OPT flags for relwithdebinfo
2019-01-24 19:29:05 -08:00
Scott McKay
bca8daf762
Update ONNX. Implement Scan 9 changes (#366)
* Update ONNX version to pickup Scan spec change that adds scan_output_axes.
Add logic to transpose an output
  - write to temporary buffer when executing subgraph
  - transpose temporary buffer into Scan output when execution completes
Add unit tests

* Update to ONNX dbf3581835e3a05716e10587511d7ab3b2cdc386 to pickup inferencing bugfix.
Update test to match.

* Disable some tests for opset 9 operators that haven't been implemented yet.
2019-01-24 08:10:39 +10:00
stevenlix
8ea7197b82 trt (#361)
* updated cmake files for tensorrt
2019-01-23 13:28:13 -08:00
Changming Sun
c87929e949 Use nsync for implementing condition variable 2019-01-21 22:59:42 -08:00
Tracy Sharpe
6f30bec040 Implement MLAS convolution+activation fusion (#354)
* conv+activation fusion
2019-01-18 14:16:28 -08:00
Changming Sun
948cc03490 upgrade onnx 2019-01-17 13:10:30 -08:00
Changming Sun
34afa0a598 Delete onnxruntime_exec 2019-01-16 11:18:44 -08:00
Changming Sun
d23f01dcd9 Suppress warnings for gemmlowp 2019-01-15 22:29:30 -08:00
Ashwin Kumar
492d9fd6cc
Use Eigen ThreadPool in OnnxRuntime (#323)
* switch to nonblocking threadpool in inference session and sessions state

* switch to eigen threadpool - first draft

* refine

* refine

* add a switch to easily revert back to windows thread pool

* switch thread pool in test runner and turn on leak checker

* remove unncessary files

* fix build error

* more build fixes

* catch exceptions in parallel executor

* fix mac build error

* fix mac build error

* more build fixes

* more mac build fixes

* fix cv issue

* change macro to include cuda compiler for  disabled compiler warning

* try switching the macro to win32 only

* test #error

* move #disable warning to the top

* Update onnxruntime_framework.cmake

* move eigen include to public scope

* turn off eigenthreadpool by default and add todo comment
2019-01-15 15:19:30 -08:00
Ke Zhang
139abda393
convinteger implementation based on gemmlowp (#294)
* update

* cmake change

* rename

* update

* update

* add cmake

* fix build warnings.

* fix comments

* update cmake to avoid run gemmlowp tests

* update cmake

* update

* fix build break

* update

* fix comments

* fix test failure

* add one more test case with padding.

* fix conv implementation of mkldnn and cuda to use updated computekernelshape function.

* fix linux ci build break
2019-01-15 14:39:50 -08:00
Edward Chen
677918cd9a Added generation of C# project properties file containing actual build directory. 2019-01-14 16:02:13 -08:00
jignparm
3b83f062fc remove delayload from mkldnn (#276) 2019-01-14 14:13:28 -08:00
Changming Sun
260639c327 Add missing EXCLUDE_FROM_ALL keyword to nsync submodule 2019-01-11 16:34:55 -08:00
Changming Sun
751eb60819 Fix a build issue in onnxruntime_unittests.cmake (#307) 2019-01-09 22:53:53 -08:00
Changming Sun
84be07114b Disable nsync test 2019-01-09 18:56:12 -08:00
Changming Sun
8cfe8d33a3 Add nsync (#292)
* Add nsync

* nsync2

* nsync3

* fix build

* update comments

* fix build option
2019-01-09 10:40:55 -08:00
Pranav Sharma
31bbb4598e
Enable tvm in CI builds. (#285)
* Enable tvm in CI builds

* Fix tvm dll path issue
2019-01-07 19:37:06 -08:00
Ke Zhang
386b60e35a
update gemmlowp which carries a windows build break fix. (#291) 2019-01-07 18:24:46 -08:00
Yang Chen
4929ddde43 update tvm submodule (#287) 2019-01-07 14:32:58 -08:00
Changming Sun
5e113661a9 Build system upgrades (#281)
* update

* runas normal user
2019-01-07 13:15:24 -08:00
xkszltl
5b6f1823af Use CUDA libraries found by CMake. (#190)
* Link cudart and use CMake predefined variables for cublas.

* Patch for old cmake.

* Remove static cudnn.
Fix file name for cuBLAS DLL delay loading.
2019-01-02 16:51:42 -08:00
Yuan Yu
bd2ace7619 Tweak linker flags to minimize the binary size. (#270) 2019-01-02 14:50:34 -08:00
xkszltl
bddeb3d001 Fix "invalid escape" issue when eigen_SOURCE_PATH contains "\". (#258) 2019-01-02 14:00:21 -08:00
Raymond Yang
8f3a492682 Remove static linked cuda libs (#239) 2019-01-02 10:39:37 -08:00
Dmitri Smirnov
7af1887b33
Introduce basic BFloat16 runtime support (#235)
* Add basic support for BFloat16 type.

* Advance onnx submodule for bfloat16 support.

* Update install_deps for linux.

* Address review comments.
2018-12-21 12:40:59 -08:00
jywu-msft
eb867be331
update mkldnn to 0.17.2 (#231) 2018-12-20 07:32:49 -08:00
Tang, Cheng
0dca080238 remove useless internal schema file (#226)
* placeholder for internal contrib ops

* remove useless internal file

* fix build break
2018-12-19 18:17:20 -08:00
Changming Sun
e97caa7787 change mkldnn so path (#210) 2018-12-19 14:45:57 -08:00
Changming Sun
dc8b37f4c4
update onnx (#209)
* update onnx
2018-12-18 14:50:28 -08:00
Ke Zhang
37b74c771a
add gemmlowp as submodule. (#206) 2018-12-18 13:57:53 -08:00
Changming Sun
c0ec7d56c4
Clean up garbage files (#208) 2018-12-18 13:51:01 -08:00
KeDengMS
b0f27ba0a7
Allow using MKLML header/libs when use_mklml is specified (#178)
Allow using MKLML header/libs when use_mklml is specified
2018-12-17 14:41:42 -08:00
jignparm
5fd9024139
[WIP] Initial checking for CSharp GPU support (#176)
* Initial checking for CSharp GPU support

* Enabled C# for GPU build

* Update Onnxruntime to Ort

* Add runtime check for cuda dlls for windows

* Update pretrained model test, for models where name!=model.onnx

* lowered tolerance for float checks to pass new models

* ignore extra ._resnet34v2.onnx file in pretrained test
2018-12-17 21:18:48 +00:00
xkszltl
383315a7e0 Upgrade Eigen to 3.3.7 (#185) 2018-12-16 00:26:08 -08:00
Tongliang Liao
16b3a9fd63 onnxruntime_CUDA_HOME should only be used when available. 2018-12-16 00:25:12 -08:00
Tracy Sharpe
47551da994
Optimize Tanh/Sigmoid activations (#162)
* optimized tanh/sigmoid

* fix /W4 warnings from alternate build environment

* use MLAS for tanh/sigmoid

* fix my broken C++ templates

* add x86_64 files
2018-12-13 22:53:40 -08:00
edgchen1
c5a0119d42 Added Environment::IsInitialized() and added check to InferenceSession constructor. (#169) 2018-12-13 13:34:49 -08:00
Ashwini Khade
b054646ddd
Askhade/implement erf (#137)
* erf implementation for op9

* enable erf node tests + review comment fixes

* update CMAKE flag

* plus erf to execution provider
2018-12-10 17:26:01 -08:00
Ashwini Khade
c5a691d67d
update onnx to latest commit (#132)
* update onnx to latest commit

* fixes

* Add not implemented operator tests to whitelist

* fix test name
2018-12-10 11:17:52 -08:00
Tracy Sharpe
3c7c1068e7
refactor threading (#110) 2018-12-06 09:20:32 -08:00
jywu-msft
47a6992e1b
update mkldnn to 0.17.1 and address assumptions related to tensor padding that come with new mkldnn version. (#79) 2018-12-03 17:07:44 -08:00
Scott McKay
4dd1e50aa7 Merge remote-tracking branch 'origin/master' into scmckay/UpdateCudaInfoInBuildMd 2018-11-29 14:53:11 +10:00
George Wu
3feeb9de3e Merge branch 'master' of https://github.com/Microsoft/onnxruntime into jywu/incr_fixup 2018-11-28 20:16:06 -08:00
Yulong Wang
846044e282 [Mac] support mkldnn for macOS (#56) 2018-11-28 20:01:21 -08:00
Raymond Yang
6371025860 Add flag for mac compliance (#45)
* Refine windows CI configs

* Add flag for mac compliance
2018-11-28 19:22:29 -08:00
Yulong Wang
d60507d2e9 [Mac] fix python binding (#54) 2018-11-28 18:29:16 -08:00
George Wu
6179ddb2a1 fix for possible incremental build breaks. 2018-11-28 18:14:20 -08:00
Scott McKay
2f61926390 Update build.md section on CUDA builds to clarify and add CUDA 10.0 info.
Add --msvc_toolset param to build.py
Tweak CMakeLists.txt to set the CUDA toolset path from onnxruntime_CUDA_HOME.
2018-11-29 10:37:21 +10:00
Pranav Sharma
7aef8a1cca Sync with internal master. 2018-11-22 20:56:43 -08:00
Pranav Sharma
9fbcb7fa51 Update onnx to commit to pickup shape inference fix for broadcast, concat and scan 2018-11-20 19:41:30 -08:00
Pranav Sharma
89618e8f1e Initial bootstrap commit. 2018-11-19 16:48:22 -08:00