The memleak checker used by default in Debug configuration does not
play nice with embedding static lib of ONNXRuntime into binaries,
because other code will not be using the same debug heap, leading
to trouble.
This makes it easier for outside builders to disable it for their
build.
* add ortmodule and eager mode test
* add ortmodule dependency
* convert between aten ort tensor and ortvalue
* register the EP to ortmodule using ort device information
* remove duplicated test
* remove useless dependency
* handle half precision type for ortmodule outputs
* adjust the tensor conversion python code
Co-authored-by: Cheng Tang <chenta@microsoft.com@orttrainingdev9.d32nl1ml4oruzj4qz3bqlggovf.px.internal.cloudapp.net>
* Changes
*Fixed merge conflicts
Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>
* C# Nuget fix for windows
-> OpenVINO Libs included in Nuget package
-> Updated nuget.exe path for openvino ep build in Windows
-> Include mvcmd file along with openvino dlls
* Fixing PEP Style comments
* Comment Removed
Co-authored-by: MaajidKhan <n.maajidkhan@gmail.com>
Co-authored-by: saharfraza <sfatima.3001@gmail.com>
Potential comparison of a constant with another constant.
at D:\a\_work\1\s\orttraining\orttraining\training_ops\cuda\reduction\\reduction_all.cu@97,42
Co-authored-by: Weixing Zhang <wezhan@microsoft.com>
* add ortmodule and eager mode test
* add ortmodule dependency
* fix eager pipeline
* skip tthe ortmodule test for windows due to win ci issue
* remove useless win ci change
* add torch
Co-authored-by: Abhishek Jindal <abjindal@microsoft.com>
* Op fusion support added
In addition the following op fusions are detected
- ConvRelu
- MatMulAdd
This change includes
- Change abstraction of Subgraph + node + tensor to support delete insert
modify
- add nodearg class to establish connection from tensor to node
- add graphtransformer class to support fusion
- add topological sort to ensure propoer node ordering after fusion
- add convrelu + matmuladd primitive to support execution of fused nodes
- Fix FusionResolution with missing tensors
when fusing, if the target node contains fewer tensors then original
patterns (Gelu and FastGelu ignores many initializers), potentially delete them
also from inputs and initializers
Also check tensor has no producer and consumer before deleting
Signed-off-by: Wang <zhaoyang.wang@intel.com>
* Gelu and FastGelu Fusion for DNNL EP
The basics of the Gelu/FastGelu code is modeled after:
- core/optimizer/fast_gelu_fusion.cc and
- core/optimizer/gelu_fusion.cc
OneDNN does not have support for 'Erf' unless it is part of 'Gelu'.
This results in detecting 'Gelu' fusion twice. Once when detecting
if the 'Erf' Operator is supported and again in the subgraph transformer
code. The capability code is finding the Gelu using onnxruntime:GraphViewer
and onnxruntime::Node. While the transformer code is using DnnlSubgraph
and DnnlNode. This results in two parts of code looking for the same
pattern but unfortanatly having little code reuse.
This also adds support for Biased versions of Gelu and FastGelu if they already
exist in a model.
Signed-off-by: George Nash <george.nash@intel.com>
* Code Clean Up
Signed-off-by: Wang <zhaoyang.wang@intel.com>
Co-authored-by: Wang <zhaoyang.wang@intel.com>
* Add 2 builds to validate the cmake defines for excluding optional components work in both full and minimal builds.
* Create empty config for no-ops build
* Create empty config for no-ops build - attempt #2
* Create empty config for no-ops build - attempt #3
* Update python binding code to work when sparse tensors are disabled.
* Add finetuned qdq options
* Add description
* Add unit tests
* Modify for channel axis
* Remove too specific feature. Move this implementation to e2e example
* Add OpTypesSupportPerChannelQuantization
* fix bug for unit test
* Keep flags OpTypesSupportPerChannelQuantization and QDQChannelAxis for internal use
Will have a follow-up PR to fine tune the code
* remove unnecessary warning
Co-authored-by: stevenlix <38092805+stevenlix@users.noreply.github.com>
Co-authored-by: Yufeng Li <liyufeng1987@gmail.com>