Commit graph

3831 commits

Author SHA1 Message Date
Yufeng Li
c38f762821 work around of the build break in mac (#6069)
* Fix the build break in macos release

* revert android change
2020-12-09 09:24:21 -08:00
Changming Sun
d19ad2c377 Regenerate CI build docker images 2020-12-09 09:24:21 -08:00
Changming Sun
cbb4e5d1bd Update cgmanifest.json and onnx submodule 2020-12-09 09:24:21 -08:00
Changming Sun
c3f6a1e0a1 Add missing file 2020-12-09 09:24:21 -08:00
baijumeswani
fdebbee8de Fix build.py bug which prevents running some unit tests (#5990)
Also ignore an exception occurred for execution providers which generate compiled nodes
2020-12-09 09:24:21 -08:00
Changming Sun
455a6b8979 Revert python 3.8 changes 2020-12-09 09:24:21 -08:00
Du Li
3013289be5
update onnx submuole to 994c6181247d7b419b28889fc57d5817e2089419 (#6042)
Co-authored-by: Du Li <duli@OrtTrainingDev0.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2020-12-06 10:50:34 -08:00
Du Li
095d55bf54
Cherry picking for Rel-1.6 (#6006)
* Update onnx (#5720)

* update onnx

* update docker image for testing
(cherry picked from commit 705d093167)

* cherry pick PR 5720

* C#: Add CreateFromMemory to FixedBufferOnnxValue to allow bind user buffers and pass custom binary compatible types (#5886)

Add CreateFromMemory to FixedBufferOnnxValue so users can bind their own custom binary compatible buffers to feed/fetch data.
(cherry picked from commit c2d610066a)

* [Java] Initial Apple Silicon support (#5891)

* Rearranging checks in onnxruntime_mlas.cmake to pickup Apple Silicon.

On an M1 Macbook Pro clang reports:

$ clang -dumpmachine
arm64-apple-darwin20.1.0

So the regex check needs to look for "arm64" first, as otherwise it
matches 32-bit ARM and you get NEON compilation failures.

* Adding Java side library loading support for Apple Silicon (and other aarch64 architectures).

* Adding Qgemm fix from @tracysh

* Fixes the java packaging on Windows.

* Missed a check in the java platform detector.
(cherry picked from commit 8b83c51a35)

* Add OpenVINO EP shared lib to Py Wheel (#5920)

* Add OpenVINO EP shared lib to Py Wheel

Include the libonnxruntime_providers_openvino.so/.dll to the wheel

* Follow libs.extend pattern as other EPs
(cherry picked from commit 40926867c3)

* Make NNAPI EP reject nodes with no-shape inputs (#5927)

(cherry picked from commit 87368655e2)

* Sahar/fix documentation shared lib (#5926)

* Update OpenVINO-ExecutionProvider.Md

update openvino-executionprovider.md for shared library

* Update Build.md

updated --build_shared_lib flag for building openvino shared provider lib

* Update Dockerfile.openvino

building for shared library with the new changes for openvino shared lib

* Revert "Update Build.md"

This reverts commit c9cf5fee76be7fdc10cadf07259f1d4ed5b45b93.

* Revert "Update Dockerfile.openvino "

This reverts commit e1624e4f93a4cfb425b6f21d7fb71b299a146740.

* Update OpenVINO-ExecutionProvider.md

fix documentation to the shared library

Co-authored-by: sfatimar <sahar.fatima@intel/com>
(cherry picked from commit 8168c91978)

* Update dockerfiles (#5929)

1. Remove conda from the images. Because conda contains a file named /opt/miniconda/lib/libcrypto.so.1.0.0 which can't pass our security scan. Also, it will be easier for us to manage the third party usage registrations.
2. Remove openssh from the images. Because the official openssh package provided by Ubuntu can't pass our security scan.
3. Reduce the image size to 1/3 by using stages. Also, because it contains less packages, it will be less often needed to update.
4. Put the LICENSE-IMAGE.txt file in right place. It is missed in current images. You can see it was added to a temp folder "/code" but it got deleted afterwards.
5. Update the CPU docker image's base image to Ubuntu 18.04. The GPU one is already 18.04. It's better to keep them the same.
6. Remove the build arg ONNXRUNTIME_REPO/ONNXRUNTIME_BRANCH. Instead, the new one always uses the local source. I feel it can reduce confusion.
(cherry picked from commit 1dbabb2362)

* Add Longformer Attention Cuda Op(#5932)

Limitation: Global tokens must be at the beginning of sequence.
(cherry picked from commit 31a6be3d67)

* Bug fix for MaskRCNN and FasterRCNN (#5935)

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>
(cherry picked from commit e39e82b43a)

* Fix publishing pipelines. (#5942)

Fix publishing pipelines.
(cherry picked from commit c4b55d29fe)

* Fix Python Linux GPU package name (#5943)

Fix Python Linux GPU package name. I accidentally added "noopenmp" to it.

(cherry picked from commit 5fdd9f0fd2)

* Update BUILD.md with shared provider information (#5944)

* Update build instructions to include information about shared providers

(cherry picked from commit 27513d1fd7)

* [OpenVINO]Fix memory leak in `IsDebugEnabled()` under Windows (#5948)

* w

* w

Co-authored-by: modav <modav@microsoft.com>
(cherry picked from commit e207589631)

* Add support for Python 3.8+ on Windows when CUDA is enabled (#5956)

(cherry picked from commit 015fbb3dbb)

* Support the cross compiling for Apple Silicon (#5974)

* support macos_arm64 cross compiling

* update the build docs

* update as commented.

* Update BUILD.md
(cherry picked from commit 2ec211ea7b)

* Update docker files to put 'unattended-upgrades' in a right place(#5983)

(cherry picked from commit 3323fb6082)

* Enable the xcode build for Apple Silicon (arm64 MacOS) (#5924)

* fix the build script for macos/xcode

* add the version check

* correct the osx-arch configuration

* typo
(cherry picked from commit 1852ade75d)

* Add python 3.9 support (#5874)

1. Add python 3.9 support(except Linux ARM)
2. Add Windows GPU python 3.8 to our packaging pipeline.

* Revert some pipeline changes in #5874

Co-authored-by: Ashwini Khade <askhade@microsoft.com>
Co-authored-by: Du Li <duli@OrtTrainingDev0.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
Co-authored-by: Dmitri Smirnov <yuslepukhin@users.noreply.github.com>
Co-authored-by: Adam Pocock <craigacp@gmail.com>
Co-authored-by: S. Manohar Karlapalem <manohar.karlapalem@intel.com>
Co-authored-by: Guoyu Wang <62914304+gwang-msft@users.noreply.github.com>
Co-authored-by: sfatimar <64512376+sfatimar@users.noreply.github.com>
Co-authored-by: Changming Sun <chasun@microsoft.com>
Co-authored-by: Tianlei Wu <tlwu@microsoft.com>
Co-authored-by: Maajid khan <n.maajidkhan@gmail.com>
Co-authored-by: Ryan Hill <38674843+RyanUnderhill@users.noreply.github.com>
Co-authored-by: Moshe David <mosdav165@gmail.com>
Co-authored-by: Ivan Stojiljkovic <17503404+ivanst0@users.noreply.github.com>
Co-authored-by: Wenbing Li <10278425+wenbingl@users.noreply.github.com>
2020-12-02 13:45:20 -08:00
Guoyu Wang
846c5fb917
Report arm64 minimal baseline binary size only for continuous integration (#5913)
* Report binary size only for continuous integration
2020-11-24 20:24:08 +10:00
Guoyu Wang
c49d5f1d98
Reenable skip flatten/reshape if it's Gemm's input (#5904) 2020-11-24 00:01:23 -08:00
Changming Sun
782303324e
Revert "Improves performance of operator Transpose (#5550)" (#5911)
This reverts commit e5c8040c52.
2020-11-24 00:01:03 -08:00
Zhang Lei
9992f0f812
Implement QLinear GlobalAveragePool with sse2/neon. (#5838)
Add QLinear Global Average Pool for quantization for ARM and SSE2.

Co-authored-by: Tracy Sharpe <tracysh@microsoft.com>
2020-11-23 19:23:58 -08:00
Guoyu Wang
d0a007e4f1
Add info level logging for NNAPI EP partitions and number of supported nodes (#5903) 2020-11-23 18:22:00 -08:00
Guoyu Wang
4137c18d9b
Add ORT minimal with NNAPI EP to Android CI (#5890)
Description: Add ORT minimal with NNAPI EP to Android CI

Motivation and Context

The added build/test to Android CI will only run UT, additional onnx_test_runner with customer .ort models will be added later
2020-11-23 18:21:34 -08:00
sfatimar
916410151c
Fix for hetero multi python binding with new shared library (#5895)
Co-authored-by: sfatimar <sahar.fatima@intel/com>
2020-11-23 15:41:10 -08:00
Xueyun Zhu
58ea7b3572
temporarily disable test (#5868) 2020-11-23 15:18:37 -08:00
Edward Chen
5e8fcda24a
Build docker image cache fixes. (#5902)
Fix Python 3.5 compatibility issue in tools/ci_build/get_docker_image.py.
Fix line endings in tools/ci_build/github/azure-pipelines/clean-build-docker-image-cache-pipeline.yml.
2020-11-23 14:43:12 -08:00
Ye Wang
3d5b48a894
remove use_cdn when loading pretrained model (#5900) 2020-11-23 14:26:55 -08:00
baijumeswani
208f4c1d3c
Azure ci pipeline for distributed environment tests (#5881) 2020-11-23 14:01:00 -08:00
satyajandhyala
353e071b7e
Fuzz testing misc (#5862)
* Run only required steps relevant to fuzz testing.

* Exit status non-zero for any uncaught exception other than ort_exception in the driver code
Co-authored-by: Satya Jandhyala <sajandhy@microsoft.com>
2020-11-23 13:43:44 -08:00
Tracy Sharpe
f473dd295d
Add QLinearMatMul(u8s8) (#5899) 2020-11-23 12:04:32 -08:00
Tracy Sharpe
57c92066c2
Implement missing pieces for ARM QLinearConv support (#5894) 2020-11-22 23:19:27 -08:00
Hariharan Seshadri
d46dbeafd3
Expose knobs to create and share (CPU) allocators across sessions in C# and Python (#5634) 2020-11-21 14:12:33 -08:00
Guoyu Wang
26e6ced172
Temporary fix for Android CI failure (#5889)
* Unblock the Android CI

* Add python to android ci's command
2020-11-21 17:58:32 +10:00
Tianlei Wu
910bbfe1ef
Support 3D attention mask (#5887)
Support 3D attention mask with shape (batch_size, sequence_length, all_sequence_length)
2020-11-20 22:48:01 -08:00
Guoyu Wang
cc6e8fb7cc
Filter initializers for GraphViewer with IndexedSubGraph (#5884)
* fix filtered subgraph initializer issue

* minor fix

* Inlcude implicit input of nodes to see if they are initializers

* Add test case

* minor update

* Address PR comments

* Fix some code error
2020-11-20 18:36:58 -08:00
Ryan Hill
ba739a8000
Convert OpenVINO into a shared provider (#5778)
Same as Dnnl and TensorRT before it, now with more methods and more cleanup.
2020-11-20 17:39:57 -08:00
Edward Chen
8c04ada0d0
Bump training docker image version. (#5428) 2020-11-20 16:38:09 -08:00
Olivia Jain
3738ca7e10
Improve perf testing (#5760)
* build off a specific commit and archive wheel file

* rename to fp32, prefix results w/ commit, add CPU col

* rename 99th to 90 percentile

* get symbolic_shape from master each time

* add install archive wheel, parallel build

* shortening hash
2020-11-20 16:03:09 -08:00
Scott McKay
f0142da59c
Add NNAPI to providers that can be used via the python bindings. (#5867)
Update ORT model conversion script
  - add args for specifying optimization level and whether to use NNAPI
  - add logic to create a list of required ops and ORT format model that can be used with NNAPI
2020-11-21 09:18:35 +10:00
Scott McKay
3970eb2e5d
Add documentation on enabling/using NNAPI in a minimal build (#5879)
* Add initial documentation on using NNAPI with a minimal build

* minor clarification

* Add note on avoiding local full build

* Address a couple of PR comments
2020-11-21 09:00:24 +10:00
Hariharan Seshadri
c0471240b4
Remove redundant lines of code (#5883) 2020-11-20 14:29:11 -08:00
Takeshi Watanabe
a622533ecc
Support profile_file_prefix in python binding (#5864) 2020-11-20 14:28:50 -08:00
KnightYao
5a0fdd3537
Update custom_ops.cc (#5507)
To fix KernelInfoGetAttrbute_string get string will lose the laster char
2020-11-20 14:15:22 -08:00
Dmitri Smirnov
ceedf5630b
Document all C# API pubic interfaces (#5853)
Address documentation shortcomings.
 Document all required public interfaces.
 Add pipeline configuration.
Make Doxygen lookup a env vars for paths.
2020-11-20 14:03:55 -08:00
Ye Wang
ab9d4b366b
revert 262e9ef21d (#5882)
Co-authored-by: wangye <wangye@OrtDevTest2v100.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2020-11-20 13:05:53 -08:00
Edward Chen
bef06dac93
Automatically clean up build docker image cache. (#5843)
Follow up to #5811 to automate cleanup of the build docker image cache.
Added a script and build definition to clean up docker images that haven't been accessed recently.
2020-11-20 11:56:26 -08:00
Yufeng Li
6808bfefff
Extend MatMulInteger fusion (#5871)
Extend MatMulInteger fusion to MatMulIntegerToFloat or DynamicQuantizeMatMul to support scenario: Matrix B, B scale, B zero point are non constant
2020-11-20 11:30:49 -08:00
Guoyu Wang
44313970d3
Enable scalar initializer support in NNAPI (#5875)
* Add scalar initializer support in NNAPI
2020-11-20 21:40:49 +10:00
Scott McKay
00412a76e9
Exclude some training specific code from the minimal build. Cleanup some related aspects of allocation planner. (#5861)
* Exclude some training specific code around the allocation planning and initializer handling from the minimal build.
Simplify the code around tracking start/end usage of a value.
2020-11-20 20:25:46 +10:00
Maajid khan
b057b3d36e
Enabled fp16 for input types (#5878)
Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

Co-authored-by: S. Manohar Karlapalem <manohar.karlapalem@intel.com>
2020-11-20 00:19:49 -08:00
stevenlix
1068f3eb87
Use flatbuffers for INT8 calibration table (de)serialization in TensorRT EP (#5873)
* add int8

* support both native TRT cal table and ORT cal table

* add more comments

* Update env variable name and check platform availability for int8/fp16

* add backward compatibility on old env var ORT_TENSORRT_ENGINE_CACHE_PATH and switch to flatbuffers for ort cal table deserialization
2020-11-19 21:41:12 -08:00
Hector Li
fd6e7d9c5c
Fix the arm64 build issue on some special OS for OpenVino (#5870)
CMAKE_LIBRARY_ARCHITECTURE returns empty from some OS
2020-11-19 21:13:02 -08:00
stevenlix
dfea92925c
Add calibration based INT8 quantization to TensorRT EP (#5842)
* add int8

* support both native TRT cal table and ORT cal table

* add more comments

* Update env variable name and check platform availability for int8/fp16
2020-11-19 17:10:49 -08:00
S. Manohar Karlapalem
ff58f621fa
Remove nGraph Execution Provider (#5858)
* Remove nGraph Execution Provider

Pursuant to nGraph deprecation notice: https://github.com/microsoft/onnxruntime/blob/master/docs/execution_providers/nGraph-ExecutionProvider.md#deprecation-notice

**Deprecation Notice**

| | |
| --- | --- |
| Deprecation Begins	| June 1, 2020 |
| Removal Date |	December 1, 2020 |

Starting with the OpenVINO™ toolkit 2020.2 release, all of the features
previously available through nGraph have been merged into the OpenVINO™
toolkit. As a result, all the features previously available through
ONNX RT Execution Provider for nGraph have been merged with ONNX RT
Execution Provider for OpenVINO™ toolkit.

Therefore, ONNX RT Execution Provider for **nGraph** will be deprecated
starting June 1, 2020 and will be completely removed on December 1,
2020. Users are recommended to migrate to the ONNX RT Execution Provider
for OpenVINO™ toolkit as the unified solution for all AI inferencing on
Intel® hardware.

* Remove nGraph Licence info from ThirdPartyNotices.txt

* Use simple Test.Run() for tests without EP exclusions

To be consistent with rest of test code.

* Remove nGraph EP functions from Java code
2020-11-19 16:47:55 -08:00
Guoyu Wang
261462be0d
Change NNAPI runtime options to use uint32_t (#5863)
* Change nnapi options unsigned long -> uint32_t

* Move options from long to int in java code
2020-11-19 13:38:49 -08:00
RandySheriffH
4bb41d610b
Address scalar expand to scalar case (#5854)
* address scalar expand to scalar case

* remove tensorrt unsupported type

* exclude tensorrt from scalar to scalar case

Co-authored-by: Randy Shuai <rashuai@microsoft.com>
2020-11-19 11:25:53 -08:00
Guoyu Wang
e485805b8d
[NNAPI EP] Add infrastructure for Op Reduction (#5841)
* init op_builder change

* Add reduce ops support for OpSupportChecker

* minor update

* Address CR comments

* Add scripts to exclude ops for NNAPI EP

* Fix the long string error in python script

* Remove extra debug print in the script

* Remove the op reduction scripts from this CR

* Remove unused FindOpBuilder functions

* Move CreateSharedOpBuilder to shared helper function
2020-11-19 11:25:34 -08:00
Hariharan Seshadri
62508ef0e4
Revert "Remove MKLML build config (#5559)" (#5855) 2020-11-19 10:53:08 -08:00
Changming Sun
26db396b4b
Reduce the number of CI build variants (#5856) 2020-11-18 20:41:30 -08:00