Commit graph

56 commits

Author SHA1 Message Date
Josh Bradley
b7254551f0
Add new api function At() (#4457)
* add modern standards to function arguments
* add first version of At for better tensor element access
2020-08-11 18:34:03 -07:00
Dmitri Smirnov
3530ce541c
Expose IOBinding features via C/C++/C# language bindings. (#4646)
Expose I/O Binding in C/C++/C#
  Expose OrtAllocator, OrtMemoryAllocation, OrtMemoryInfo and OrtIoBinding
2020-08-10 13:33:49 -07:00
RandySheriffH
e802b0498f
EnrichPyOpUT (#4681)
* cancel night build on pyop

* enrich PyOp UTs

* init script only once

* remove space

* update models

* Show usage of kwargs in doc
2020-08-05 14:11:56 -07:00
RandySheriffH
948a33bdfc
FixPyOpSegFault&MakeItStaticLib (#4600)
* remove pyop wrapper

* add py threading logic

* fix doc

* fix doc

* fix doc

* format doc

* format doc

* format doc

* reenable test

Co-authored-by: RandySheriffH <rashuai@microsoft.com>
2020-07-28 11:45:25 -07:00
Alisha Sonawalla
1e67fff93c
Add GetStringTensorElement, GetStringTensorElementLength and FillStringTensorElement API (#4374)
Add new string tensor APIs and unit tests
2020-07-24 21:35:46 -07:00
Changming Sun
8ada440961
Move model tests to onnxruntime_test_all (#4521)
1. Move model tests to onnxruntime_test_all
2. Publish TestResults of Windows CI build.
2020-07-15 16:46:18 -07:00
Prabhat
151ef1c8a5
Add C++ wrapper for GetAvailableProviders() C API (#4313) 2020-06-25 13:11:55 +05:30
Prabhat
57fabfba7a
Added GetAvailableProviders() to C API (#4247)
* Added GetAvailableProviders to C API

* Fix API version and Windows build error

* Changed function name

* Changed ORT_API_VERSION to 4

* Moved all_providers array to constants.h

* Move check for providers to constants.h

* Changed name of array to avoid warning

* Address review comment

* Added unit test
2020-06-22 10:10:25 +08:00
George Wu
6f729b100f
use LOAD_WITH_ALTERED_SEARCH_PATH for LoadLibraryExA (#3908) 2020-05-11 19:53:34 -07:00
Ryan Hill
408f62dd57
Load provider shared libraries relative to core runtime executable (#3884)
* Load provider DLL relative to core runtime executable
* Use LoadLibraryEx to fix dependent DLL loading
* Fix custom op DLL loading path issue.
2020-05-09 20:49:15 -07:00
Changming Sun
7c89f38a34
Fix static analysis warnings found by VC++ (#3530)
1. Fix static analysis warnings found by VC++
2. Add a new pipeline for static analysis
3. Merge all the windows CI build into one single yaml file.(Easier to queue them all).
4. Make DNNL build faster by disabling building the tests and examples.
5. Enable custom op unitest.
2020-04-16 01:46:47 -07:00
Hariharan Seshadri
abfb275ac0
Support listing keys in custom metadata map via C/C++ API (#3477)
* Support listing keys in custom metadata map via C/C++ API

* nit

* PR feedback

* Nit
2020-04-15 12:14:03 -07:00
Changming Sun
b63349c8d6
Fix custom op test failure (#3525) 2020-04-14 20:36:42 -07:00
Pranav Sharma
3568f8d186
Allow a custom op with the same name to be registered for several providers. (#3400) 2020-04-02 15:38:51 -07:00
Hariharan Seshadri
a912415bac
Support custom ops targeting the CUDA EP (#3165)
* Initial commit

* Minor nit

* Comment

* Fix build

* Fix build
2020-03-11 00:49:01 -07:00
ytaous
2b77cb19bd
merge training kernels to master (#2999)
* merge training kernels to master

* merge training kernels to master

* revert two files

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master

* merge training kernels to master
2020-02-13 14:52:35 -08:00
Hariharan Seshadri
3afb83ac3c
Support a few new C/C++ APIs (#2794)
* Initial commit

* More changes

* More changes

* Changes

* More changes

* More changes

* More changes

* More changes

* Updates

* Fix break

* PR feedback

* Nit

* Resolve conflicts

* More changes
2020-02-10 16:18:42 -08:00
Changming Sun
7ff5c0e5a3
CMake changes (#2961)
1. Add support for vstest. 
2. Add support for vcpkg. To use it:
  ```bat
   vcpkg install zlib:x64-windows benchmark:x64-windows gtest:x64-windows protobuf:x64-windows pybind11:x64-windows re2:x64-windows
   mkdir build
   cmake ..\cmake -DCMAKE_BUILD_TYPE=Debug -A x64 -T host=x64 -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -Donnxruntime_PREFER_SYSTEM_LIB=ON
  ```
3. New cmake option: onnxruntime_PREFER_SYSTEM_LIB, which allows user using the preinstall libs instead of the things in onnxruntime submodule.
4. New cmake option: onnxruntime_ENABLE_MEMLEAK_CHECKER, which allows user turn on/off the memory leak checker by @RyanUnderhill in Windows Debug Build. The checker doesn't work with vstest.
4. Fix the post merge pipeline(Mainly for test coverage report).
5. Ignore the compile warning from the Featurizer library code
6. Apply "/utf-8" VC compile flag to our code. Without this, you can't build onnxruntime on Chinese Windows.
7. Remove the SingleUnitTestProject cmake option because it's deprecated more than one year and nobody is using it.
8. Move opaque api tests to onnxruntime_test_all
9. Enable "/W4" on CUDA ep's C++ code(Not the *.cu files), and fix some warnings, add some extra checks.
10. Delete the onnxruntime::test::TestEnvironment class.
11. Add a DLLmain for onnxruntime.dll. 
12. Allow dynamic link to libprotobuf
2020-02-03 19:33:14 -08:00
Changming Sun
201b089a36
Fix some warnings on Windows (#2560)
1. Enable warning "4503" # Decorated name length exceeded.
2. Enable warning "4146" # unary minus operator applied to unsigned type.
3. Enable float64 support for the Softmax operator
4. Enable compliance checks for Windows x86 32bits build
5. Use TryBatchParallelFor to replace some fallback code in mlas pooling.cc
6. Fix Android CI pipeline.
2020-01-22 15:59:11 -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
3d627362a0
Upgrade Windows CPU CI pipeline to use VS 2019 (#2519) 2019-12-02 23:05:35 -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
Ryan Hill
6fca8b0a94 Move CXX API global into the header (#2228) 2019-10-23 14:15:53 -07:00
Scott McKay
eb24617d2e Add ability to get symbolic dimension info for graph inputs and outputs. (#2051)
* Add ability to get symbolic dimension info for graph inputs and outputs.
WIP to get initial feedback.

* Fix linxu build error.
Update C# API and add unit test

* Clarify the two different ways Tensor shape and type info is created. One is from concrete values and one is from a type proto where symbolic dimensions may exist. Doing so allows a change to default to empty strings for the symbolic dimensions if not provided.
2019-10-12 15:46:28 -07:00
Changming Sun
ccaf692ff2
Run auditwheel for manylinux1 (#2063) 2019-10-09 09:23:00 -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
Ryan Hill
5781222456
Ryanunderhill/api interface (#1855)
* Convert ABI to a versioned interface.
* Convert ORT_THROW_ON_ERROR to inline function to fix link errors.
2019-09-20 13:39:11 -07:00
Dmitri Smirnov
6a9ae65f41
Expose GetOverridableInitializers via Python and C/C++ API (#1878)
Implement GetOverridableInitializers()
 Add unit test for initializer override.
Expose in Python and C/C++ API
2019-09-19 15:43:28 -07:00
Pranav Sharma
f8c3442880
Part 2 of renaming AllocatorInfo to MemoryInfo. (#1804)
* Mention OrtCreateSessionFromArray in C API doc

* Part 2 of renaming AllocatorInfo to MemoryInfo.

* pr comments

* fix comment
2019-09-12 08:19:29 -07:00
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
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
Scott McKay
e3919d3fce
Cleanup naming of test input to use .onnx for models. (#1337)
* Cleanup naming of test input to use .onnx for models.

* Remove file deleted on master
2019-07-04 13:10:29 +10: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
Ryan Hill
38963d81eb
Simplify some CustomOp code (#1206)
test_inference.cc reformatted with clang-format
2019-06-11 17:00:04 -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
Ryan Hill
9129a652c5
Ryanunderhill/cxx api2 (#1091)
More C++ API improvements and cleanup
Add templates to tensor creation
Add run method that allows preallocated outputs
Simplify CreateTensor<T> to multiply by sizeof(T)
Convert io_types code
Optimize away vector copies in Session::Run
2019-05-24 11:15:51 -07:00
Ryan Hill
3a32b0eb99
Change function kernels to use CustomOp APIs (#1020)
* Change function signature
* Convert compute to use custom op style APIs
* Remove dead CustomOp function
* Use CustomOp API in TensorRT EP
* Switch to new API in ngraph
2019-05-20 14:57:43 -07:00
Ryan Hill
3408494407
More C++ API improvements and conversions (#998)
* More C++ API improvements and conversions
* Mark more constructors as explicit
* Fix CSharp function name changes
* Change more test cases to use C++ API
2019-05-13 13:56:54 -07:00
Ryan Hill
f73ce305e9
C++ wrapper for ABI (#958) 2019-05-03 19:32:46 -07:00
Tracy Sharpe
3a8b9a4918
fix trivial size_t warnings (#843) 2019-04-16 14:37:50 -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
Ahmad El Husseini
e643ce0e08 Fix inconsistent dimension data type in C-API (#726)
* update dimension type

* update dimension type for items added after 0.2.1

* fix gpu build
2019-03-29 00:23:25 -07:00
Ryan Hill
cd52431b8f
Custom op interface to the C API to remove shared library dependency (#668)
* Adding a custom op interface to the C API to remove shared library dependency.

* Fixup const issues

* Renaming to make things a little simpler

* Add a comment
2019-03-21 15:46:50 -07:00
Ryan Hill
da9af592d9 Remove OrtAppendCustomOpLibPath (#642)
* Remove OrtAppendCustomOpLibPath

* Fix parameter mismatch

* More parameter fixes
2019-03-18 19:44:32 -07:00
Changming Sun
3ef273b84b Support memory mapping on Linux 2019-03-11 19:39:02 -07:00
Ryan Hill
af9c554dd3
Ryanunderhill/custom op (#550)
* Prototype version that demonstrates it can work
* Switched to OrtValue and removed the OrtCustomOpTensor code.
* Support multiple outputs and reading of attributes
* Add custom domain handling to custom ops
* Update documentation
* more wording changes
2019-03-06 19:09:55 -08: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
Changming Sun
59955da188 Add test case for pre-allocated output 2019-01-30 16:04:50 -08:00
Ryan Hill
d875ab2acd
C API - Remove reference counting (#344) 2019-01-25 19:41:10 -08:00
Ryan Hill
98a92547bf
Ryanunderhill/c api 8 (#297)
* Make OrtAllocator not be reference counted

* Make the allocator interface more type safe

* Fix build break

* Build break fix

* Build break fix

* Mistake in previous build fix.

* Fix review comments + build break

* Missed the export symbols

* C specific error, need 'struct' keyword in one case.

* Function calling OrtReleaseObject instead of OrtReleaseEnv
2019-01-10 02:06:29 -08:00