* fix error C4996
* remove wd4996 and fix error C4966
* fix typo
* remove wd4996 for onnx-tensorrt
* remove more /wd for onnx-tensorrt
* gix bug for strncpy_s of (Buffer is too small && 0)
* fix code to remove warning 4244
* fix code to remove warning 4267
* remove /wd4267 /wd4244
* fix bug
* change int to size_t
* using size_t instead of int
* use float instead of double
* Use size_t instead of int
* use size_t instead of int
* use size_t instead of int. Also fix typo
* update to torch 1.10
* update torchvision version
* update torchtext version
* remove deprecated option enable_onnx_checker
* add unit test to test gradient of GatherElements
* add ORTMODULE_ONNX_OPSET_VERSION in a docker file
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.