ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
Find a file
Zhang Lei 76dfe8108b
Optimize quantized LSTM (#8634)
* optimize some lstm gate computation. Remove no need string constructions.

* change gcc optimization flags for computation bound logics in rnn_helpers

* better qgemm for M=1

* Some improve on avx512

* add condition to limit GCC related marcros

* Correct QGemm assembly for M=1 AVX2 optimization to pass mlas_test.

* Fix rnn_helper build issue for wasm.

* better asm code here according to feedbacks.

* Remove customized vectorize and unroll option for GCC.
Using restrict on some function to help GCC to correctly vectorize it.
Rewrite clip_add_bias() to let GCC correctly vectorize it.

* Better restrict semantic for merge_lstm_gates_to_memory() by adding in_place().
Add MSC __restrict for the clip_add_bias() mthod to vectorize correctly.

* Force CI restart as it stucked by the onnxruntime-python-checks-ci-pipeline which can not restart.
2021-08-11 22:02:18 -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 Add Python checks pipeline (#7032) 2021-08-09 10:37:05 -07:00
cmake Revert "Fix Windows Store build (#8481)" (#8679) 2021-08-11 00:37:36 -07:00
csharp Add Python checks pipeline (#7032) 2021-08-09 10:37:05 -07:00
dockerfiles Rewrite dockerfiles/Dockerfile.arm32v7 (#8686) 2021-08-11 15:25:04 -07:00
docs Support bool type for Pad Op and fix Unsqueeze in Tile grad for Opset 13 (#8602) 2021-08-11 11:21:02 -07:00
include/onnxruntime/core Fix bug in CPU force fallback logic (#8597) 2021-08-05 21:36:28 -07:00
java Add UINT8 datatype support to Java (#8401) 2021-07-22 17:11:49 -07:00
js [js/web] enable SharedArrayBuffer feature for WebAssembly testing (#8651) 2021-08-10 11:22:07 -07:00
objectivec [Objective-C API] Fix ORTIsCoreMLExecutionProviderAvailable link error when used from Swift. (#8350) 2021-07-14 18:38:58 -07:00
onnxruntime Optimize quantized LSTM (#8634) 2021-08-11 22:02:18 -07:00
orttraining [eager mode] fix build and support customize shared provider entry point (#8680) 2021-08-11 15:10:35 -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 create packaging pipeline to support cuda11.4 (#8663) 2021-08-11 17:44:57 -07:00
winml Disable candy_opset9 WinML model test on Qualcomm Adreno (#8647) 2021-08-11 17:57:12 -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 Add README for docs (#6626) 2021-03-12 15:14:40 -08:00
LICENSE Remove year from license (#6658) 2021-02-12 00:25:56 -08:00
NuGet.config
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 Add link to sample repos (#8417) 2021-07-21 16:18:59 -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 packaging pipeline produces -cpu- named packages due to a logical error (#8665) 2021-08-09 16:49:59 -07:00
ThirdPartyNotices.txt Adding pytorch cpuinfo as dependency (#8178) 2021-07-12 14:21: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.