Commit graph

4329 commits

Author SHA1 Message Date
Zhang Lei
acfe7ac4ce
Implement QLinearAveragePool with unit tests. (#6896)
Implement QLinearAveragePool with unit tests.
2021-03-10 10:02:01 -08:00
Tracy Sharpe
a8b897f710
MLAS: quantized GEMM update (#6916)
Various updates to the int8_t GEMMs:

1) Add ARM64 udot kernel to take advantage of dot product instructions available in newer cores. Some models run 4x faster than the stock implementation we used before.
2) Refactor the x64 kernels to share common code for AVX2(u8u8/u8s8/avxvnni) vs AVX512(u8u8/u8s8/avx512vnni) to reduce binary size.
3) Extend kernels to support per-column zero points for matrix B. This is not currently wired to an operator.
2021-03-10 09:54:43 -08:00
Edward Chen
bc319bd7aa
Fix warning from setting multiple MSVC warning level options. (#6917)
Fix warning from setting multiple MSVC warning level options. Replace an existing /Wn flag instead of always appending a new one.
2021-03-10 09:27:54 -08:00
Edward Chen
d5ed3e7fba
Enable type reduction in EyeLike, Mod, random.cc CPU kernels. (#6960)
* Update EyeLike CPU kernel.

* Update Mod CPU kernel.

* Update Multinomial CPU kernel.

* Slight improvement to Pad CPU kernel binary size.

* Update RandomNormal[Like], RandomUniform[Like] CPU kernels.
2021-03-10 15:32:56 +10:00
Tianlei Wu
89916fdb05
fix stream sync issue (#6954) 2021-03-09 20:57:18 -08:00
Wei-Sheng Chin
bdaea1d9ae
Update baseline due to loss scale fix (#6948) 2021-03-10 09:46:15 +08:00
Raduan Al-Shedivat
743a93faf3
Fix broken link in server usage and remove absolute path from dockerfiles readme (#6926) 2021-03-09 11:54:21 -08:00
George Nash
ba51774a1f
Add GPU support for DNNL endpoint (#6741)
* Added code for Relugrad with GPU support.

Signed-off-by: Chethan Palangotu Keshava <chethan.palangotu.keshava@intel.com>

* Add GPU support for DNNL ConvGrad

Signed-off-by: George Nash <george.nash@intel.com>

* Add GPU support for DNNL MaxPoolGrad

Updates to MaxPool for training with GPU
Update oneDNN to version 1.8.1

Signed-off-by: George Nash <george.nash@intel.com>

* Fixed issues found durring code review

- error in code comment
- using auto when the direct type would have been better
- removed ternary operators that were returning bool values

Signed-off-by: George Nash <george.nash@intel.com>

Co-authored-by: Chethan Palangotu Keshava <chethan.palangotu.keshava@intel.com>
2021-03-09 09:40:42 -08:00
Hariharan Seshadri
c8e2e3191b
Support parsing an array of values stored as an attribute in a custom op (#6878) 2021-03-08 23:49:58 -08:00
Guoyu Wang
e64eff1f13
Enable build with bitcode for iOS (#6905)
* Enable build with bitcode for iOS

* minor format update

* Minor format update

* Addressed CR comments
2021-03-08 22:56:13 -08:00
Edward Chen
73fe1f2deb
Rename op kernel type control 'supported types' to 'default types'. (#6886)
Cleaning up some naming in the op kernel type control infrastructure.
"Supported types" was a bit semantically overloaded. Renamed it to "default types". They are the types that are supported by default.
2021-03-08 18:33:27 -08:00
Sheil Kumar
67c67408c4
Only set _native folder for Microsoft.AI.MachineLearning package (#6939)
* only set _native folder for Microsoft.AI.MachineLearning package

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-03-08 15:27:11 -08:00
Tracy Sharpe
bc27652188
MLAS: workaround LLVM x86 assembler (#6922)
Implement an alternate workaround for the LLVM x86 problem described in PR #5088. That change made the x86 assembly files build with the GNU assembler by using -fno-integrated-as
2021-03-08 14:18:49 -08:00
Tianlei Wu
b89f52c277
Add tests of Attention and QAttention for pruned model (#6914) 2021-03-08 11:56:31 -08:00
Denny Abraham Cheriyan
f2f60eed59
Fix broken Java API link (#6826) 2021-03-08 11:28:41 -08:00
Edward Chen
15d81fb63a
Enable type reduction for Clip, MaxPool, and Pad CPU kernels. (#6918) 2021-03-08 08:25:43 -08:00
Edward Chen
b6c4a7ac54
Support required types when excluding typed registrations (#6871) 2021-03-08 08:22:07 -08:00
Wei-Sheng Chin
de6e66f3d4
Fix loss scaling when running ORTTrainer with BERT under mixed-precision mode (#6932)
* Fix missed Loss scale

* not to dump
2021-03-08 21:12:33 +08:00
George Wu
601e04fb27
update Readme (#6903) 2021-03-05 16:29:04 -08:00
Funtowicz Morgan
9126faa35b
Ability to fuse non-square (pruned) attention weights for BERT-like models (#6850) 2021-03-04 17:08:08 -08:00
RandySheriffH
f986ffcb5f
move pipeline file and change relative path (#6882)
Co-authored-by: Randy Shuai <rashuai@microsoft.com>
2021-03-04 15:31:42 -08:00
Reuben Zotz-Wilson
107c9672fd
No such file or directory with --use_external_data_form and int8 (#6867)
Implemented following change to avoid the error when using both --use_external_data_form and --precision int8 with GPT2LMHeadModel, which results in
line 161, in save_external_data; open(external_data_file_path, 'ab').close()
FileNotFoundError: [Errno 2] No such file or directory:
This may also be related to the identified bug #6047.
2021-03-04 15:14:23 -08:00
RandySheriffH
679718b12f
Configure session thread pool spinning preference (#6895)
* add config allow_spinning

* add config allow_spinning

* set true as default

* split configures for inter and intra ops

Co-authored-by: Randy Shuai <rashuai@microsoft.com>
2021-03-04 14:54:58 -08:00
Tianlei Wu
8f1786d5d2
Save output tensors in bert_test_data tool (#6872) 2021-03-04 13:09:05 -08:00
Tiago Koji Castro Shibata
fa8d1b44b8
Fix app packaging in UWP (#6804)
* Change msbuild condition for UAP

* update .netcore target as well

* create nuget packages with _native path

* validate path under _native directory for windowsai package

* pep8

* add diagnostic error message

* pep8

* use baseame

* lib\uap10.0

* uap10

* build\\uap10.0

* Manually binplace winmds into appx when PackageReference is used.

* always binplace winmd regardless of packagereference since c# should work with packages.config also

* resolve all paths to full paths to avoid some reference warnings

* move winmds out of lib folder to prevent automatic component registration

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-03-04 11:16:25 -08:00
Suffian Khan
7915b6709a
Revert Gather Grad optimization in PR 6381 targeted for Rocm (#6880)
* revert gather_grad_impl.cu

* put stream changes back in

* restrict changes to commenting launch of optimized version
2021-03-04 10:21:49 -08:00
Scott McKay
54cdb6af71
Add check that the first 2 Loop subgraph inputs have an shape (could be explicit or inferred) as we need to know the rank the subgraph expects. Other inputs to the subgraph are more opaque so we can just pass them through. (#6891) 2021-03-04 20:42:40 +10:00
RandySheriffH
d01006fc22
Move constants from heap to stack to avoid randomness on cudnn function (#6869)
* move const from heap to stack

* add namespace

* add base prefix

* define local type
2021-03-03 20:18:21 -08:00
baijumeswani
ed1883a97c
Workaround for HTTP Error 403: Forbidden for MNIST dataset (#6885) 2021-03-03 18:59:48 -08:00
Guoyu Wang
fedb68429c
[NNAPI EP] Add per-tensor u8s8 support for Qlinear[Conv/MatMul] (#6818)
* NNAPI Add per-tensor u8s8 support

* Update some comments

* Address CR comments

* Address CR comments
2021-03-03 15:44:49 -08:00
Guoyu Wang
3c5d811e77
[CoreML EP] Add [Average/Max]Pool support (#6870) 2021-03-03 14:32:39 -08:00
Hariharan Seshadri
9a9e741a8c
Support optional inputs/outputs in custom op development (#6727) 2021-03-03 05:59:23 -08:00
jingyanwangms
f22f04a109
Add comment (#6860)
Co-authored-by: Jingyan Wang <jingywa@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-03-02 18:54:25 -08:00
Faith Xu
6285ee2398
Reroute quantization tool readme to /docs page (#6854) 2021-03-02 13:49:42 -08:00
Ye Wang
9073f7a5c3
support opset13 in embednorm (#6866) 2021-03-02 12:33:40 -08:00
Ryan Hill
0d0eb2c85c
Change OpKernel class to be shared with shared providers (#6837)
In the previous shared providers there aren't many OpKernel classes, and the existing Provider_OpKernel wrapper was fine. With the opposibility of making Cuda a shared provider, having this need to be changed per OpKernel adds a lot of complexity.

It was fairly straightforward to make OpKernel work with shared providers with minimal changes.

In this change, the ONNX_OPERATOR_* macros can also be shared with the shared providers.
2021-03-02 00:53:48 -08:00
Hariharan Seshadri
38796ad451
Refine force CPU fallback logic in the CUDA EP (#6849) 2021-03-01 19:59:07 -08:00
Edward Chen
66df167a73
Add support for op kernel type control required types, require int64 for some ops (#6832)
Adds support for required types to the op kernel type control infrastructure. Required types are always enabled.
Added int64 as a required type for certain ops.
2021-03-01 19:04:29 -08:00
Guoyu Wang
36a44d55ed
Only report Android Baseline binary size for master branch (#6844)
* Only report binary size from master

* update script

* Correct the typo
2021-03-01 15:57:18 -08:00
Guoyu Wang
5cf6606964
[CoreML EP] Add Concat support (#6834)
* [CoreML EP] Add concat support

* Update comments
2021-03-01 13:35:44 -08:00
Tianlei Wu
2d6e10ba00
Update Attention and QAttention to support pruned model (#6819)
* update Attention operator spec to support pruned model
* update Attention and QAttention cpu & cuda kernel
* Fix invalid embed layer norm fusion test models.
2021-02-27 09:50:16 -08:00
M. Zeeshan Siddiqui
cb8d8464bc
Do not create compute stream when external CUDA allocator is used. (#6833) 2021-02-26 20:13:02 -08:00
Ye Wang
b4b87ac7a0
update (#6827) 2021-02-26 13:58:41 -08:00
Pranav Prakash
d5175795d2
Improvements to quantizer: Removed unused qType field, add reshape op (#6179)
* Handle case where bias_name is already quantized

If bias is shared between multiple nodes and we've already quantized it, just return the quantized name from the map

* Remove qType attribute from QuantizedValue and QuantizedInitializer

These are unused (and were incorrectly set in the case of int8 quantization)

* Add Reshape op to quantizer

* Add test for Reshape quant
2021-02-26 10:21:37 -08:00
Surya Siddharth Pemmaraju
3426108739
Fixed issue in python cmake to update wheel package (#6384)
* Fixed issue in python cmake to update wheel package

* Fixes python cmake issue for OV EP

Added post build step for libonnxruntime_providers_openvino
that copies the updated libonnxruntime_providers_openvino.so file
to /onnxruntime/capi directory every time this target is rebuilt.

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Removed post_build step from onnxruntime_python.cmake

Now that we have added the post build step to copy
onnxruntime_providers_openvino.so and providers_shared.so
to /onnxruntime/capi directory in onnxruntime_providers.cmake file.
so removing the duplication of the same from here.

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Fixed python cmake issue for OpenVINO-EP

->Fixed issue for both Linux and windows

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

Co-authored-by: MaajidKhan <n.maajidkhan@gmail.com>
2021-02-26 06:34:43 -08:00
Chi Lo
9b3171e95c
Make keepdims to its default value when adding ReduceMin/ReduceMax for quantization calibration (#6788)
* Make keepdims to its default value when adding ReduceMin/ReduceMax

* Fix bug for adding ReduceMin/ReduceMax with keepdims=1
2021-02-25 09:47:59 -08:00
Olivia Jain
db05d53b94
Setup perf in docker and add features (#6582)
* setup scripts to run in docker 
* percent threshold for accuracy 
* branch testing
2021-02-25 09:31:03 -08:00
stevenlix
d5f292ab73
fix issues caused by quantize/calibrate changes (#6802) 2021-02-25 05:41:21 -08:00
Maajid khan
7465673e33
[OpenVINO-EP] Find package changes (#6801)
* Find package changes to cmake

* Removing unwanted code from cmake

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

Co-authored-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
2021-02-25 05:12:57 -08:00
Suffian Khan
8a148e44fb
make ci pipeline also run batch and convergence test (#6798) 2021-02-24 20:18:03 -08:00