Commit graph

77 commits

Author SHA1 Message Date
shahasad
30c7c76552
fix the output size param's location in the csharp OrtRun interop call (#1903) 2019-09-25 09:34:25 -07:00
yeohan
034aa80167 InferenceSession ctor with byte array in C# (#1883)
* add ctor overloads that accept model byte array

* doxygen. mark Init method as private.

* doxygen

* rename test method for clarity

* PR feedback - add two overloads that accept either model path or model byte array

* update native signature to align with latest codebase

* fix native call
2019-09-24 11:59:04 -07:00
Pranav Sharma
1a3ded6a7b
Add C API for free dim override, fix missing API mention in InferenceTest.cs, fix confusing print statement in perf_test. (#1884)
* Mention OrtCreateSessionFromArray in C API doc

* Add C API for free dim override

* Add C API for free dim override, fix missing API mention in InferenceTest.cs, fix confusing print statement in perf_test.

* Remaining C#files

* fix c# build

* Run the tests in blame mode. This option is helpful in isolating a problematic test causing the test host to crash.

* fix order
2019-09-23 17:58:20 -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
Pranav Sharma
a9ce941579
Refine threading control options and move inter op thread pool to session state. (#1841)
Description: Refine threading control options and move inter op thread pool to session state.
Added thread_utils.h/cc to centralize the decision around the thread pool size under various conditions.

Motivation and Context
Currently the thread pool size of the parallel executor is hardcoded to 32 for some reason. This PR makes the options to configure the thread pool sizes clearer.
2019-09-18 22:36:23 -07:00
KeDengMS
a1eecd8087
Fix C# build (#1834) 2019-09-13 23:50:06 -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
Scott McKay
2e242a4089
Clarify naming of the API involving the RunOptions terminate flag. (#1768)
* Clarify naming of the RunOptions terminate flag.

* Update C# code to use new names.
2019-09-10 08:32:33 +10:00
shahasad
6a5b11756b
Conditionally export execution provider apis in chsarp (#1724) 2019-09-09 11:17:44 -07:00
Pranav Sharma
52fe574fed
Rename OrtAllocatorInfo to OrtMemoryInfo to make it more obvious. (#1758)
* Mention OrtCreateSessionFromArray in C API doc

* Rename OrtAllocatorInfo to OrtMemoryInfo to avoid confusion
2019-09-05 14:20:37 -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
shahasad
833e18345d
Publish perf tool with nightly build (#1728) 2019-08-30 11:25:55 -07:00
Pranav Sharma
4035fe842e
Don't create the default allocator every single time. Rename API accordingly. Expose Session/Run log severity levels. (#1615)
* Mention OrtCreateSessionFromArray in C API doc

* Don't create the default allocator every single time. Rename API accordingly.

* Don't create the default allocator every single time. Rename API accordingly.

* updates...

* updates...

* PR comments

* fix typo in license header

* fix build
2019-08-23 10:33:20 -07:00
shahasad
a818740d91
Support Tensor<bool> and Tensor<Int8> in C# API. Support Tensor<string> as input. Fix a bug in the InferenceSession Run() with RunOptions (#1671)
- Support bool-Tensor and int8-Tensor in input-output of C# api
- Support string-tensor as input in C# api
- Fix a bug in InferenceSession.Run() -- RunOptions was not passed into the native call
2019-08-22 10:14:50 -07:00
shahasad
c9eb13a638
Copy System.Numerics.Tensors sources from dotnet/corefx into onnxruntime (#1605)
Copy System.Numerics.Tensors sources from dotnet/corefx into onnxruntime
2019-08-15 17:28:47 -07:00
Pranav Sharma
8d12ce45cf
Use a friendly enum for graph optimization level. (#1586)
* Mention OrtCreateSessionFromArray in C API doc

* review changes

* use enum for graph optimization level

* Use explicit values for enums

* updates...

* Add friendly enum for graph optimization levels in C, C# and Python APIs.

* Fix linux build

* Fix build breakage due to master merge

* PR comments
2019-08-14 17:12:08 -07:00
shahasad
a6a5acedda
Cleanup csharp API SessionOptions and RunOptions to be consistent with other APIs (#1570)
- Updated SessionOptions API to use properties instead of setter/getter methods. 
- Added missing APIs. 
- Added RunOptions.
2019-08-14 12:02:02 -07:00
pulkittomar
a50a63aa9e Serialize optimized onnx model (#1470)
* Model serialization

* Removed duplicate symbol

* Minor update

* Review comments

* add tests

* Model serialization

* Removed duplicate symbol

* Minor update

* Merged PR 1106437: Model Serialization in onnxruntime

* Review comments

* Merged PR 1107226: Review comments

Review comments

* add tests

* Fixed merge conflict

* Correct python tests

* InferenceSesssion Refeed Test

* Replace use of widechar const literal-L

* Fixed failing tests

* Updated comment

* Removed unnecessary session options

* Spell check on comments

* Do not serialize when level 3 optimization specified

* Updated error logs

* Changed log severity to WARN
2019-08-12 18:43:40 -07:00
Pranav Sharma
44ab301586
More C API changes. (#1519)
* Mention OrtCreateSessionFromArray in C API doc

* Cleanup a few inconsistencies in the C API.

* updates

* More updates
2019-07-29 18:35:28 -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
Ryan Hill
c8db2d507e
Actualy add the C++ headers to the nuget packages (#1267) 2019-06-21 14:36:50 -07:00
jignparm
d3e5474c1d
Refactor CI pipelines - add GPU NuGet pipelines and ESRP code signing steps (#1247)
* Simplify linux gpu pipeline

* Refactor win-gpu-ci-pipeline.yml

* Set cuda environment variables for testing and version

* Remove variables from starter script

* minor fix

* Add GPU Nuget pipeline

* Set DisableContribOps environment variable for Linux package tests

* Add ESRP tasks

* Add ESRP signing templates

* Test out hardcode value of ERSP

* Test out hardcode value of ERSP

* Test out hardcode value of ERSP

* Test out hardcode value of ERSP

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test out variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* test variable expansion

* update cpu pipeline to conditionally esrp sign

* Set C# GPU tests to run only if env var is set

* Refactor for easy parameter passing

* refactored esrp templates

* remove variables from template

* Add packaging variables back to pipelines

* update C# for cuda 10

* Merge vars ana parameters for gpu pipeline

* remove vars from mklml pipeline

* display envvars on terminal

* Clean up C# cuda tests, and upgrade to Cuda10

* Introduce CUDNN_PATH pipeline varaible

* YAML variable are always uppercased (not true with classic)

* Update C# GPU test to be more meaningful

* remove macos from gpu tests

* remove debugging info for DisableContribOps option

* Remove DisableContrib ops parameters -- use variables only

* Fix typo from = to -

* remove debug steps

* fix typo

* remove unused variable TESTONGPU from some templates

* clean up CUDA env setup scripts

* Remove CUDNN_PATH from setup_env_cuda.bat
2019-06-20 19:41:30 -07:00
Zhang Lei
23838d9c2a Add enable/disable mem pattern api for python and csharp. (#1227) 2019-06-19 11:17:21 -07:00
Ryan Hill
3c3186c761
Convert more C APIs to return OrtStatus (#1194)
* Change SessionOptions APIs to always return a status, for consistency and ease of use (a couple returned 0 or -1 for success/failure)
2019-06-10 18:36:04 -07:00
Ryan Hill
b68bb51dd0
Change SessionOptions APIs to always return a status (#1171)
* Change SessionOptions APIs to always return a status, for consistency and ease of use (a couple returned 0 or -1 for success/failure)
2019-06-06 13:24:24 -07:00
jignparm
32da12491d
x86 support for C# API (#962)
* Refactor C# to handle x86

* update run script

* Add Native win x86 tests

* Add native x86 tests for Linux

* Update linux tests scripts to control which tests are run

* update linux image name for x86 to prevent using cached image

* update to not run unit python unit tests unless pybind is specified

* remove --build_wheel as a core common arg. Python cannot run on x86 build

* update OrtGetNumOfDimensions to OrtGetDimensionsCount in rest of C#
2019-05-20 15:48:14 -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
jignparm
861b9fda45
Add link to build within Nuget package (#926)
* Add link to build within Nuget package

* Update buildID to build uri

* add url prefix to build id
2019-04-27 13:41:20 -07:00
Hariharan Seshadri
06e0f7e3e7
Minor changes to support inclusion of x86 bits in the Nuget packaging pipeline (#916)
* initial commit

* More changes

* More changes

* Adding stuff back to the targets xml

* More changes v3

* More changes v4

* More changes v5

* More changes v6

* More changes v7

* More changes v9

* Disable CSharp tests for now

* More changes

* Revert file to same status

* Update props file for x86

* Change to usage of TargetArchitecture instead of PlatformTarget

* Update targets.xml

* Minor formatting nit fix

* Update based on PR comments
2019-04-27 00:41:26 -07:00
jignparm
7775551a6f
Refactor C# and native packaging tests (#825)
* Refactor C# and native packaging tests

* Pass package name into docker

* add libiomp5ml.dll required by mklml.dll
2019-04-16 00:00:07 -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
Yufeng Li
cea2a40bf1
Clean up ExecutionProvider in CSharp (#783) 2019-04-05 22:29:54 -07:00
Yufeng Li
ef9a4d98cb
Expose parallel execution option in C# API (#767)
* Expose parallel execution option

* delete unnesary file

* add doc

* update nuget retore to 4.3.0

* resolve comments

* remove unnessary file

* make git ignore csharp/Directory.Build.props

* fix yaml config for nuget 4.3
2019-04-05 12:05:56 -07:00
Ashwini Khade
2dbce4ebcf
csharp api for graph transformers (#741)
* add graph optimization level to csharp api

* format documentation

* changes per review comments
2019-04-02 17:23:14 -07:00
jignparm
73fc91dc59 Fix preFast native rules warnings (#682)
* Address preFast native rules warnings
2019-03-29 00:26:33 -07:00
jignparm
600dc9ecc5
Remove licenseurl and add licensefile, to fix issue 664 (#669)
* Remove licenseurl and add licensefile, to fix issue 664

* Added back LICENSE file, instead of LICENSE.txt
2019-03-21 20:27:57 -07:00
jignparm
de9f1ff1ff Add new C function OrtOnnxTypeFromTypeInfo (#585) 2019-03-12 10:11:14 -07:00
jignparm
a79c09388f
Fix GPu package testing for CAPI (#569) 2019-03-07 14:51:18 -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
jignparm
94bd74190a
Revert to cuda 9.1 for package release (#546) 2019-03-05 17:20:51 -08:00
jignparm
1288a8caed
Initial check-in to support non-tensor (sequence/map) types (#527)
* Initial check-in to support non-tensor (sequence/map) types

* Added support for String tensors

* address PR comments
2019-03-05 16:00:40 -08:00
shahasad
f9bae489bd
cleanup extra header from c api and sanitize C api test (#517)
* cleaned up the additional header in C-api

* ensure test failure surfaces in the build pipeline

* sanitized runtest.bat

* cleanup unneeded headers

* formatting and typos
2019-02-24 21:06:54 -08:00
jignparm
9d14cbdb1a
Throw friendly error message when Linux distribution has libc version < 2.23 (#493)
* Add check for linux version supporting glibc 2.23 or higher

* Refactor the libc check to SessionOptions

* removed whitespace

* Update SessionOptions.cs
2019-02-21 11:34:44 -08:00
jignparm
1f1dcc352f
Add Native C API test from NuGet (#481)
* Initial check-in of Native Capi tests

* Minor update

* Updated with OrtCreateCpuAllocatorInfo working after including cpu_provider_factory.h

* Minor editw

* Minor update
2019-02-15 13:42:24 -08:00
jignparm
0c4fef9ac2
Jignparm/removemodelcopies (#471)
* Adding initial props file updates to support native projects

* remove unnecessary header files

* removed double backslashes

* only include c api header, drop cxx api

* Remove copying of test models
2019-02-12 13:04:51 -08:00
shahasad
88949485ff
removed MklDnn dependency from C# (#455) 2019-02-11 14:23:09 -08:00
shahasad
737700f94f
fixed the win10 runtime paths to win (#435) 2019-02-04 12:16:53 -08:00
Faith Xu
91ffb980a2 Addl TPN updates (#403)
* Updated TPN

* Update batch_norm_op_test.cc

* Update ThirdPartyNotices.txt

* Update ThirdPartyNotices.txt

* Update readme with package links

* Update README.md

* Update README.md

* Update README.md

* Merged Ryan and TPN changes into single PR

* minor fix

* added mkldnn to GPU pipeline. Required by C# library as it is the default execution provider
2019-01-30 17:28:17 -08:00
Ryan Hill
09806625cf
Rename OrtInitialize to OrtCreateEnv in preparation for future. (#399)
* Rename OrtInitialize to OrtCreateEnv in preparation for future.
Add version number to structures

* Forgot about exports

* Update documentation
2019-01-29 15:03:18 -08:00