Commit graph

105 commits

Author SHA1 Message Date
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