Commit graph

5670 commits

Author SHA1 Message Date
pengwa
5ee47e3ffa
legacy_megatron-lm/deepspeed_ZERO1&2 FP16_Optimizer wrapper (#9184)
* megatron-lm FP16_Optimizer Wrap, allow model parallelism aggregation optional

* add deepspeed zero1 and zero2 - checkoverflow & clip norm

* re-structure code and add the copyright

* update the document

* refine the code after validation
2021-10-14 09:01:23 +08:00
Viswanath Boga
4771256be3
fix to avoid quantizing attention with varied q,k,v sizes (#9357)
* fix to avoid quantizing attention with varied q,k,v sizes

* updated the changes to address the comments
2021-10-13 16:25:34 -07:00
Chandru Ramakrishnan
ba0cca96f0
Hooked up eager logging to ORT default logger. (#9340)
* Hooked up eager logging to ORT default logger.
2021-10-13 18:10:32 -04:00
groenenboomj
905fe36599
Add Conv and ConvTrans to ROCm EP (#9338)
Added support for Conv and ConvTrans operators
in the ROCm execution provider. Doubles not currently
supported.
2021-10-13 14:18:08 -07:00
Arthur Meyre
bccd09c688
Serizalize model only once to reduce backend preparation overhead (#8270)
* The serialization can be very heavy for large models
* Only use the serialized model check on compatible onnx versions
* onnx version >= 1.10.0 supports serialized model check
Signed-off-by: IceTDrinker <49040125+IceTDrinker@users.noreply.github.com>
2021-10-13 13:58:22 -07:00
George Nash
e8ba5145ce
Add Transpose, Reshape, Pow and LeakyRelu ops to DNNL execution provider (#9180)
* Transpose for DNNL EP

Transpose reorders the memory to the right format but has the wrong
dimentions and memory::format. So a new memory descriptor is created
that points to the reordered memory. However, that memory is in a
different location than the output expects.  An extra parameter was
added to the SetMemory to specify when memory must be copied if it is
output from the subgraph.

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

* Implementation of Reshape op for dnnl ep

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

* Add Pow op to dnnl execution provider

This Pow is limited; the exponent must be scaler or a one dimensional tensor
e.g. a tensor with only a single element. The exponent must also be a constant
initializer since it is only read when the primitive is created. OneDNN does
not have any way to change the exponent after the primitive is created.

The GraphViewer is now passed into the NodeCapability code since the GraphViewer
is needed to find out if an input is a constant initializer.

The unit tests for "Pow" did not make the exponent a constant initializer. To
help verify the dnnl execution providers Pow function a version of the Pow unit
tests was created for the DNNL execution provier that made the exponent a constant
initializer.

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

* Add LeakyRelu to DNNL execution provider

LeakyRelu was added to the dnnl elementwise ops.

In the elementwise op the GetAlpha method was modified
to take the default value for Alpha as a parameter instead
of reading it from a member varable. This felt like it would
be less likely to cause programer error.

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

* Switch dnnl_code_capability DataTypes from strings to enums

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

* Update DnnlSubgraphPrimitive.GetMemory function input

This updates the GetMemory member function to take DnnlTensor
instead of a string. This was done for two reasons.  Every
time the function was called it was always done using
DnnlTensor.Name() this will reduce the code repition. We never
called it using a saved string.

This also makes the function inputs more closely match the
GetMemoryAndReshape function. Making less differences between
member functions.

Signed-off-by: George Nash <george.nash@intel.com>
2021-10-13 10:20:07 -07:00
Yulong Wang
1527af3e30
[js/web] deduplicate test cases between opsets (#9327)
* [js/web] deduplicate test cases between opsets

* fix eslint error
2021-10-12 22:37:19 -07:00
TomWildenhain-Microsoft
fb31701f7e
Fix bug in determining default slice axes (#9328) 2021-10-12 16:17:11 -07:00
Moshe David
510b747821
w (#9319)
Co-authored-by: modav <modav@microsoft.com>
2021-10-12 16:02:40 -07:00
Tang, Cheng
f0bc35c4ba
fix a hardcode type (#9337) 2021-10-12 13:44:46 -07:00
Hariharan Seshadri
d5c5c4fa50
Handle implicit subgraph inputs required on different devices in Memcpy transformer (#9299) 2021-10-12 11:21:17 -07:00
Tang, Cheng
48737091c0
resolve the provider options before create training session in orttrainer (#9199)
* resolve the provider options before create training session in orttrainer

* Update orttraining/orttraining/python/orttraining_pybind_common.h

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>

* support clear the training ep instance pool

* fix status error

Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>
2021-10-12 09:30:45 -07:00
ashbhandare
52c021d1f3
Fix export of aten op for Max and Avg Pool 2D (#9330) 2021-10-12 09:03:14 -07:00
mindest
f9cf62912a
Add same_shape case for BiasDropout (#9188)
* bias dropout improvement

* add transform case for same shape case

* combine kernel

* merge with vectorized kernel

* use "has_same_shape_bias"

* minor: a "N % 4 != 0" case

* add op UT for has_same_shape_bias

* address comments; add param case for 1d bias;
add param case tests for 1d and same-shape bias

* rewrite logic condition

Co-authored-by: Peng Wang <pengwa@microsoft.com>
2021-10-12 19:57:38 +08:00
Sunghoon
2f1204a5d5
[js/web] Enable wasm profiling and preserve function names in profiling (#9314)
* add p50 in test

* allow WebAssembly profiling and preserve function names

Co-authored-by: Yulong Wang <yulongw@microsoft.com>
2021-10-11 22:04:50 -07:00
Ye Wang
787dcb7dbc
Support extra addition before softmax in attention cuda kernel (#9205)
* checkin qk_add in cuda ep

* enable test

* added todo

* review comments
2021-10-11 15:31:31 -07:00
Jiaxu Dong
03276527b3
Fix typing error (#9316) 2021-10-09 14:39:11 -07:00
Edward Chen
79e736ed25
Make onnxruntime::Status nodiscard (#9279)
Mark onnxruntime::Status class with [[nodiscard]] attribute.
Fix existing warnings.
2021-10-08 17:10:31 -07:00
TomWildenhain-Microsoft
da56f01ac2
Fix bug in ReduceSum with noop_with_empty_axes (#9301) 2021-10-08 13:33:24 -07:00
Dmitri Smirnov
7b61bca6df
Fix inclusive sum overlfow when applied on int8_t buffer in Compress (#9295)
Use thrust::transform_iterator when feeding input to cub::DeviceScan::InclusiveScan() to make sure the accumulator type is wide enough not to overflow.
2021-10-08 11:29:28 -07:00
satyajandhyala
29379db432
Added SigmoidGrad schema and kernels. (#9244)
* Added SigmoidGrad schema and kernels.

* Added test_sigmoid_grad function.
2021-10-08 11:03:28 -07:00
Vincent Wang
cd65a8089e
Optimize Variadic Elementwise Ops (#9186)
* optimize variadic elementwise ops

* remove nvvp file

* correct comment

* resolve comments
2021-10-08 13:45:54 +08:00
Hariharan Seshadri
5f5f28bf14
Fix bug in allocation planner while planning location for initializers (#9306) 2021-10-07 19:05:07 -07:00
Tang, Cheng
68601fc296
error handling ffor eager mode's data transfer (#9261) 2021-10-07 17:16:33 -07:00
Suffian Khan
70cf61fa84
disable bart-l for now (#9305) 2021-10-07 16:55:54 -07:00
Maajid khan
72c4cea9e6
[OpenVINO-EP] V3.2 Release (#9232)
* model caching changes for 2021.4

Signed-off-by: Your Name <you@example.com>

* changed the ov version check

* Minor changes added

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

* Added support for external data format

Starting from OpenVINO 2021.4 version, OpenVINO-EP
will support onnx models with Weights saved in external
file location.

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

* Introduced Hetero/Multi options for perf_test

Enabled to use HETERO/MULTI device feature from
OpenVINO-EP using the onnxruntime_perf_test tool.

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

* cleaned up CMake code for older OV version support

OV 2020.3 is now longer supported by OpenVINO-EP.
This check is not required now.

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

* Add option to disable graph partitioning

Added a option to diable graph partitioning
during build time for OpenVINO-EP.

with this option, when the model is not fully
supported on OpenVINO-EP, the model fully fall
backs to default CPU EP (MLAS).

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

* Changed the flag for diabling graph partitioning

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

* Fixes the flake8 check error

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

* Added changes for disable graph partition option

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

* Fixed flake8 indentation error

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

Co-authored-by: Your Name <you@example.com>
2021-10-07 16:02:19 -07:00
ytaous
7166586d7e
Enable SkipCheck by default (#9215)
* Enable SkipCheck by default

* fix UTs

* fix UT

* fix UTs

* fix UTs

* address comments

* fix UT

* enable skipchecks

* move _SkipCheck back

* move _SkipCheck back

* move _SkipCheck back

* Update orttraining/orttraining/python/training/ortmodule/_inference_manager.py

* Update orttraining/orttraining/python/training/ortmodule/_utils.py

Co-authored-by: Ethan Tao <ettao@OrtTrainingDev4.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>
2021-10-07 15:47:14 -07:00
Yulong Wang
88d5023885
[js/web] always use new data dir for ort web E2E karma tests (#9303)
* [js/web] always use new data dir for ort web E2E karma tests

* fix
2021-10-07 15:27:12 -07:00
Tang, Cheng
c002dc86a3
set mpi group init flag after add group (#9293) 2021-10-07 10:09:16 -07:00
Changming Sun
4f4875b0e8 Add "workspace: clean: all" to anybuild build yaml file 2021-10-06 22:49:37 -07:00
Gary Miguel
e2b1852eec
Build: respect onnxruntime_PREFER_SYSTEM_LIB for more things (#9181)
This is based on a patch applied locally by
https://github.com/conda-forge/onnxruntime-feedstock. Having this in
master seems useful.
2021-10-06 13:49:28 -07:00
Thiago Crepaldi
52d067402a
Fix all-or-nothing fallback for bad ORTModule init (#9277)
* Fix all-or-nothing fallback for bad ORTModule init

* Address comments
2021-10-06 15:12:27 -04:00
Suffian Khan
510b58c877
Increase AMD CI pipeline timeout to 120 min (#9280)
* increase timeout

* add timeout

* add timeout

* rename
2021-10-06 10:43:09 -07:00
Changming Sun
334980e016 Delete nocontribops pipelines 2021-10-06 10:30:32 -07:00
baijumeswani
bcdb411c8d
Implement FusedAdam for ORT adapted from DeepSpeed (#9266) 2021-10-05 20:50:34 -07:00
Guoyu Wang
a4d53c4ab5
fix training distributed ci failure (#9273) 2021-10-05 15:36:44 -07:00
ashbhandare
35c2102cfa
Fixes for GatherND, Multinomial (#9143)
* register gathernd kernel, aten multinomial

* fix CI, add test

* review comments
2021-10-05 14:51:58 -07:00
G. Ramalingam
0b77c9ca7c
Cleanup function definitions of contrib ops (#9265)
* Simplify function definitions

* Simplify fast-gelu function definition

* Simplify training function op body definitions

Signed-off-by: Ganesan Ramalingam <grama@microsoft.com>

* Eliminate redundant function

Signed-off-by: Ganesan Ramalingam <grama@microsoft.com>

* Formatting changes

Signed-off-by: Ganesan Ramalingam <grama@microsoft.com>

* Minor formatting changes

Signed-off-by: Ganesan Ramalingam <grama@microsoft.com>

* Add comment

Signed-off-by: Ganesan Ramalingam <grama@microsoft.com>

* Specify int64 type for constant 1

Signed-off-by: Ganesan Ramalingam <grama@microsoft.com>
2021-10-05 11:38:42 -07:00
Thiago Crepaldi
6e2f66ee9c
Allow custom exporter args + bug fix (#9242) 2021-10-04 11:32:42 -04:00
Jingqiao Fu
67ff339df7
fixed a profiler.py bug (#9231) 2021-10-03 20:28:20 -07:00
ashari4
113edbda64
Add bf16 specialization for IsDataType (#9254)
* Add bf16 specialization

* Fixed indent
2021-10-02 07:15:06 -07:00
Sheil Kumar
8f6fd014e4
Force Windows AI NuGet pipeline to use Windows SDK 19041 (#9255)
* Force Windows AI Nuget pipeline to use 19041 Windows SDK as 22000 casues a downlevel regression by importing LoadLibraryW

* move into quotes

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-10-01 21:46:14 -07:00
Faith Xu
9fe09cb72a
Update dockerfile readme (#9241)
* Update dockerfiles page

* Delete Dockerfile.server

* Delete Dockerfile.training
2021-10-01 17:28:26 -07:00
Tiago Koji Castro Shibata
11a391a88f
Port ARM64x support (#9230) 2021-10-01 13:06:43 -07:00
Guoyu Wang
60bbdf1403
Remove unused NodeArgs in Graph::Resolve (#9213)
* Remove unused NodeArgs

* Handle case where a node arg from an initializer from initializer_names_to_preserve

* Fix CI failure

* update test

* Fix outer scope node args failure

* Use NodeArg* as the key of the std::set instead of string

* Minor updates
2021-10-01 11:44:26 -07:00
Yulong Wang
8adb9ab85a
fix CodeQL warning for path-injection (#9243) 2021-10-01 11:32:00 -07:00
baijumeswani
45399d5ace
Remove TORCH_WARN to avoid torch string related operations that take up time (#9238) 2021-10-01 13:56:04 -04:00
Tang, Cheng
be4d887439
Fix ONNX exporter call with latest API for ORTrainer (#9228)
* update the exporter call with latest api in orttrainer

* use official export api instead of the private call
2021-10-01 13:49:55 -04:00
Yulong Wang
448325b254
[js/web] name ort web for consistency (#9240) 2021-09-30 22:53:26 -07:00
Tracy Sharpe
c23a216900
MLAS: fix AVXVNNI+Linux qgemv kernel (#9234) 2021-09-30 21:24:18 -07:00