Commit graph

379 commits

Author SHA1 Message Date
Changming Sun
266201de0a limit thread pool size when running mkldnn model tests 2019-01-31 10:18:20 -08:00
DronexAI
70985fa803 Update BUILD.md 2019-01-31 08:36:48 -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
Konstantinos Karanasos
c76725da2d
Slice elimination rewrite rule; re-implementation of identity elimination using new Graph API (#87)
Rewrite rule that eliminates slice operators when they are redundant (i.e., when they preserve the whole input).
Re-implementation of the identity elimination rule using the latest Graph API.
2019-01-30 16:19:40 -08:00
Changming Sun
59955da188 Add test case for pre-allocated output 2019-01-30 16:04:50 -08:00
Changming Sun
925b3f059c Update cgmanifest.json 2019-01-30 13:10:53 -08:00
Vinitra Swamy
ea94cbf14b
Docker containers for CPU and GPU quickstart (#332)
* Docker Container for CPU Version (Ubuntu 16.04, Python3 Bindings, compatible with Windows-Docker)
* Nvidia-Docker Container for GPU Version (Ubuntu 16.04, CUDA, CUDNN, Python3 Bindings)
* README with Docker quickstart instructions (i.e. docker pull .../onnxruntime:cpu, docker run -it ...)
* Include plans to publish public images (with ONNX Runtime 0.2) on README
2019-01-30 10:58:30 -08:00
Changming Sun
583631adf5 Add cgmanifest.json 2019-01-30 00:46:09 -08:00
Changming Sun
6fc48c60de Add win-ci-pipeline-cg.yml 2019-01-29 20:49:55 -08:00
Tracy Sharpe
20ef8b43a6
Change GEMM kernels to natively handle broader range of row counts (#406)
The outer GEMM loop repeatedly calls the inner GEMM kernel with a row count (the M parameter to GEMM) and the inner kernel decides how many rows it will actually handle. The FMA3 kernel only handled row counts of 1,3,6 to keep code size down. To be competitive however, the FMA3 kernel needs to handle any row count from 1-6.

One example model was issuing a GEMM with M=11 and this had been broken up into 6,3,1,1, but can now be handled as 6,5.

The kernels have been templatized MASM style to avoid the cut/paste code from the original implementation. The Linux variants will be updated after doing some additional work on the MASM variants first.
2019-01-29 17:20:32 -08:00
shahasad
d75bdc5194
updated C# API doc (#405)
* updated C# API doc

* Add how to run on GPU
2019-01-29 16:37:04 -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
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
Yufeng Li
f13b9ac429
Refine word_conv_embedding (#388)
Compute conv with one gemm
2019-01-29 10:35:45 -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
7c21c15732
Jignparm/addcsharptestgpu (#393)
* add file for cshar test using CUDA docker image

* add gpu csharp end to end test scripts

* uncomment data download

* minor change to kick off ci build

* small change to kick off build

* Add windows GPU test runner script
2019-01-29 09:20:07 -08:00
jignparm
68881fadcd Delay load cudart64 for cpu execution 2019-01-29 08:50:37 -08:00
Scott McKay
d4d3270891
Update transpose logic for Scan 9 outputs so it's the inverse of the input transpose logic. (#401) 2019-01-29 22:17:04 +10:00
Scott McKay
b194b7df0d
Add the ability to use a custom allocator for fetches to avoid unnecessary copies in control flow operators. (#377)
* Add the ability to use a custom allocator for fetches.

Allows control flow nodes to forward the allocation to the control flow op and avoid an unnecessary copy when the subgraph output has a symbolic dimension.

Update Scan and If to use custom allocators when applicable.

* Remove unnecessary forward declaration

* Fix Mac build warnings
2019-01-29 19:48:10 +10:00
Faith Xu
b194d79dfb Third party attribution updates (#398)
* Update ThirdPartyNotices.txt

* Update murmur_hash3.cc

* Update normalizer_test.cc

* Update simple_thread_pool.h

* Update simple_thread_pool.h

* Update ThirdPartyNotices.txt
2019-01-28 23:37:02 -08:00
Scott McKay
8f215b44e0
Refactor InferenceSession::Impl::Load code to remove duplication. (#248)
* Add ability to initialize InferenceSession with a model that is already loaded.

* Cleanup some unnecessary namespace qualifications and some long lines.

* Remove InferenceSession::Initialize(std::shared_ptr<Model>&)

* Remove unit test for init from existing Model instance.
2019-01-29 17:18:38 +10:00
Ashwini Khade
b92bc99861
QLinearConv (#370)
* First draft QLinearConv

* Add shape inference for quantized conv operators

* adding test cases for QLinearConv

* plus minor corrections
2019-01-28 23:13:47 -08:00
shahasad
5ef4c90f1d Make the return namedonnxvalue objects disposable in C# API (#392)
* added the disposablenamedonnxvalue as result container

* C-API related fixes and tensorproto fix

* addressed some of the review comments
2019-01-28 21:40:19 -08:00
jignparm
571e1e9a6c
Jignparm/updateversion 2.0 (#394)
* Update version to 2.0

* added __init__.pu
2019-01-28 21:22:45 -08:00
Changming Sun
7c0a6f3d9c CI: Enable C# tests 2019-01-28 11:40:00 -08:00
jignparm
8e03560dbb
Fix -e option for runtest-docker.sh (#385) 2019-01-27 14:50:10 -08:00
Ryan Hill
d875ab2acd
C API - Remove reference counting (#344) 2019-01-25 19:41:10 -08:00
Changming Sun
6349114583 Revert "Rashuai/link with ltcg (#378)" (#383)
This reverts commit f53cc032db.
2019-01-25 19:00:23 -08:00
shahasad
ab730cc58d
passed the OnnxRuntimeBuildDirectory to the docker for the dotnet linux test (#381)
* passed the OnnxRuntimeBuildDirectory to the docker

* removed the requirement for the docker host to set the env var

* set the env var to the path where the build dir is mounted in the container
2019-01-25 15:52:50 -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
Tang, Cheng
373177ddd3 gemm with empty input (#350)
* gemm with empty input

* check negative

* align the comments
2019-01-24 18:24:32 -08:00
edgchen1
f922d427d3 Improve VerifyKernelDef() performance when op has many inputs/outputs/type constraints. (#347)
* Improve VerifyKernelDef() performance when op has many inputs/outputs/type constraints.

* Added two modes for resolving type binding.

* Updated TypeBindingResolver to avoid heap allocation.

* Tweaked TypeBindingResolver for performance.
2019-01-24 17:34:03 -08:00
Bowen Bao
644c13050b Handle negative axes for reduce ops (#365)
* Handle negative axes for reduce ops

* negative axes are not handled in shape inference if input shape
 is not known at that time.

* nit: use HandleNegativeAxis in provider/common.h
2019-01-24 16:40:54 -08:00
shahasad
f94fdad861
Fixes on the dotnet end-to-end test scripts to get it running on linux (#376)
* fixed typo in runtest.sh

* some fixes

* some fixes

* some fixes in the runtest.sh

* added test data url

* fixes on the dotnet test scripts

* fix on prior mistake regarding installation of apt-transport-https

* added verbosity in the test run for easy debugging

* updated comment in the runtest.sh
2019-01-24 13:14:29 -08:00
Dmitri Smirnov
829b2a5e81
Promote TfIdfvectorizer to ONNX ver 9 (#373)
* Advance ONNX commit, move Ngram files under ONNX and rename to TfIdfVectorizer

* Rename Ngram to TfIdfVectorizer and redeclare in ONNX domain

* Restore tfidfvectorizer tests

* Remove ML definition.
2019-01-24 10:11:26 -08:00
Randy
89f643f04b
add new types to shape op (#362)
* add new types to shape op

* add all fixed type support
2019-01-24 09:51:09 -08:00
Pranav Sharma
61bbf4bfcc
Fix redundant population of output_indices_ in the execution frame and reserve memory for it in advance. (#375) 2019-01-23 21:19:31 -08:00
Changming Sun
82b4ec3d42 Fix a bug in KernelRegistry::Register function 2019-01-23 16:27:54 -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
Harry Summer
904d7c6ec8 Add --cuda_version option to enable manually specifying cuda version 2019-01-22 20:47:28 -08:00
Bowen Bao
d040b452cb Expand: add additional supported types. (#364) 2019-01-22 19:07:36 -08:00
jignparm
ea816615eb
remove use_tvm from base script. Put it in yaml configuration (#363) 2019-01-22 16:46:38 -08:00
Hector Li
647cc2dced
use gemm to replace matmul + add (#234)
* matmul add fusion

* add shape check on Gemm input C

* walk around the issue with RemoveNode

* update the version support

* If MatMul has shape [K] * [K, N], update it to [1, K] * [K, N], so that it can work for Gemm

* Fuse Gemm+Activation into FusedGemm

* test

* revert the change which fuse the matmul with shape [K]*[K, N] to Gemm as shape [1, K]*[K, N], this may cause runtime failure, as the we can't change input data shape.

* revert the change which change the shape for Matmul from [K]*[K, N] to [1, K]*[K, N]. It enables fuse Matmul + Add to Gemm, but the issue is the data is not aware of this, so the data shape is still [K]*[K, N] and cause runtime issue.

* 1. Fix build issue for CUDA
2. Update Gemm so that we can fuse Matmul [K] * [K, N] + Add [1, N] into Gemm with shape [1,K] * [K, N] + [1, N]

* Fix build issue

* Fuse the activation node even it connects the output

* resolve the merge conflicts

* Add test model for Gemm+Activation fusion
2019-01-22 15:21:55 -08:00
Scott McKay
8b55596dfe
The CUDA compiler doesn't support gsl::suppress so disable when __NVCC__ is defined. (#358) 2019-01-22 17:42:33 +10:00
Changming Sun
c87929e949 Use nsync for implementing condition variable 2019-01-21 22:59:42 -08:00
Du Li
1653ba9fcc
Optimizing Upsample op (#352) 2019-01-18 16:36:00 -08:00
Tracy Sharpe
22337bb641
fix linaro build (#355) 2019-01-18 16:11:53 -08:00
jignparm
0a21226b09 comment out 16-bit float models in C# (#351) 2019-01-18 14:16:53 -08:00