ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
Find a file
George Nash d4a88cfe3f
Add Gemm op to DNNL Exectution provider (#8799)
* Implement Gemm op for DNNL execution provider

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

* Remove KernelRegistry and Gemm op for dnnl ep

The KernelRegistry for the dnnl execution provider only
registered a Gemm op that as best we can tell was never
actually used and also was not using the dnnl library.

We have implemented a Gemm op in the DNNL execution provider
subgraph code and thus are removing the unused Gemm op that
was in the dnnl KernelRegistry.

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

* Fix duplicated output and kernelshape inference

fix getcapability to make sure subgraph outputs do not have duplicates

fix kernelshape inference in pool

Signed-off-by: Wang <zhaoyang.wang@intel.com>

* Removed most dnnl specialized ifdefs from gradient_ops_test code

Re-enable GlobalAveragePoolGrad test for dnnl ep

The bugs that were exposed by the GlobalAveragePoolGrad test have
been fixed and this test no longer needs to be disabled for DNNL.

Removed the ReluGradDnnl test. We are getting the testing from the
already existing ReluGrad test.

MaxPoolGrad test no longer has specialized execution provider
enabling for DNNL execution provider. It will now run without
the extra enabling.

ConvGrad is the only test that still has dnnl specialized ifdefs
However, the ConvGrad code was not being executed by the code
unless it was listed first in the list of execution providers.

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

* Fix transpose issue on Gemm

On transposing square matrices, getmemoryandreshape will fail to reshape

fix by adding a bool

Signed-off-by: Wang <zhaoyang.wang@intel.com>

* Save memory space by reusing internal tensor for output

The intermediat matmul output tensor can be used as the output
tensor for the binary calculation.

Remove the unused IsAttributeSupported from the
DnnlGemmNodeCapability class since we now support all of the
Gemm attributes in our implementation.

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

Co-authored-by: Wang <zhaoyang.wang@intel.com>
2021-08-23 08:45:34 -07:00
.gdn Update compliance tasks in python packaging pipeline and fix some compile warnings (#8471) 2021-07-30 17:16:37 -07:00
.github Update issue template to ask users to check known issues to avoid repetition. (#8288) 2021-07-02 15:36:14 -07:00
cgmanifests Extend node debugging utilities to push tensors and node placement to SQL database (#8672) 2021-08-21 00:40:12 -07:00
cmake Extend node debugging utilities to push tensors and node placement to SQL database (#8672) 2021-08-21 00:40:12 -07:00
csharp Integrate TensorRT EP libs into existing GPU Nuget Package (Approach#1) (#8727) 2021-08-18 17:26:34 -07:00
dockerfiles Cuda11.4 (#8709) 2021-08-17 16:36:26 -07:00
docs GridSample OP implementation for CPU and CUDA (#8551) 2021-08-20 12:37:38 -07:00
include/onnxruntime/core Introduce C and C++ APIs for Sparse Tensors (#8621) 2021-08-16 16:33:47 -07:00
java Add UINT8 datatype support to Java (#8401) 2021-07-22 17:11:49 -07:00
js [js/web] enable 'use_ort_model_bytes_directly' by default (#8734) 2021-08-18 11:18:58 -07:00
objectivec [Objective-C API] Fix ORTIsCoreMLExecutionProviderAvailable link error when used from Swift. (#8350) 2021-07-14 18:38:58 -07:00
onnxruntime Add Gemm op to DNNL Exectution provider (#8799) 2021-08-23 08:45:34 -07:00
orttraining Add Gemm op to DNNL Exectution provider (#8799) 2021-08-23 08:45:34 -07:00
package/rpm Bump ORT master version to 1.8.2 (#8646) 2021-08-09 11:10:29 -07:00
samples Add Python checks pipeline (#7032) 2021-08-09 10:37:05 -07:00
server fix boost download url (#7843) 2021-05-26 16:08:57 -07:00
tools Add Component Governance (#8794) 2021-08-20 17:41:18 -07:00
winml Rename ml_value.h to ort_value.h (#8726) 2021-08-13 07:04:56 -07:00
.clang-format
.clang-tidy
.dockerignore
.flake8 Add Python checks pipeline (#7032) 2021-08-09 10:37:05 -07:00
.gitattributes
.gitignore Integrate eager mode source code into onnxruntime repo (#8584) 2021-08-06 08:30:27 -07:00
.gitmodules Upgrade TensorRT to v8.0.1 (#8512) 2021-08-02 11:20:31 -07:00
build.amd64.1411.bat
build.bat
build.sh
CODEOWNERS Update CODEOWNERS with mobile team ownership of expected kernel def hash data files. (#8454) 2021-07-22 11:19:06 -07:00
CONTRIBUTING.md fixed the link (#8757) 2021-08-18 11:45:42 -07:00
LICENSE Remove year from license (#6658) 2021-02-12 00:25:56 -08:00
NuGet.config Delete nuget extra configs (#6477) 2021-01-27 20:25:45 -08:00
ort.wprp
packages.config Update DirectML version to 1.5.1 and enable ARM/ARM64 builds with DML (#7511) 2021-04-30 00:49:30 -07:00
README.md Fix typo 2021-08-12 15:57:15 -07:00
requirements-dev.txt Add post-install command to build PyTorch CPP extensions from within onnxruntime package (#8027) 2021-06-28 18:11:58 -07:00
requirements-doc.txt Add auto doc gen for ORTModule API during CI build (#7046) 2021-03-22 10:20:33 -07:00
requirements-training.txt Add post-install command to build PyTorch CPP extensions from within onnxruntime package (#8027) 2021-06-28 18:11:58 -07:00
requirements.txt.in Chang how numpy version is handled. (#8130) 2021-06-23 14:08:37 -07:00
setup.py Update Python setuptools classfiers to remove windows and mac (#8776) 2021-08-20 08:53:25 -07:00
ThirdPartyNotices.txt Extend node debugging utilities to push tensors and node placement to SQL database (#8672) 2021-08-21 00:40:12 -07:00
VERSION_NUMBER Bump ORT master version to 1.8.2 (#8646) 2021-08-09 11:10:29 -07:00

ONNX Runtime is a cross-platform inference and training machine-learning accelerator.

ONNX Runtime inference can enable faster customer experiences and lower costs, supporting models from deep learning frameworks such as PyTorch and TensorFlow/Keras as well as classical machine learning libraries such as scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different hardware, drivers, and operating systems, and provides optimal performance by leveraging hardware accelerators where applicable alongside graph optimizations and transforms. Learn more →

ONNX Runtime training can accelerate the model training time on multi-node NVIDIA GPUs for transformer models with a one-line addition for existing PyTorch training scripts. Learn more →

Get Started

General Information: onnxruntime.ai

Usage documention and tutorials: onnxruntime.ai/docs

Companion sample repositories:

Build Pipeline Status

System CPU GPU EPs
Windows Build Status Build Status Build Status
Linux Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Mac Build Status
Build Status
Android Build Status
iOS Build Status
WebAssembly Build Status

Data/Telemetry

Windows distributions of this project may collect usage data and send it to Microsoft to help improve our products and services. See the privacy statement for more details.

Contributions and Feedback

We welcome contributions! Please see the contribution guidelines.

For feature requests or bug reports, please file a GitHub Issue.

For general discussion or questions, please use GitHub Discussions.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

This project is licensed under the MIT License.