Added new quantization operators: QLinearAdd, QAttention
Improved quantization performance for transformer based models on CPU
More graph fusion
Further optimization in MLAS kernel
Introduced pre-packing for constant Matrix B of DynamicQuantizeMatMul and Qattention
New Python IOBinding APIs (bind_cpu_input, bind_output, copy_outputs_to_cpu) allow easier benchmarking
Users no longer need to allocate inputs and outputs on non-CPU devices using third-party allocators.
Users no longer need to copy inputs to non-CPU devices; ORT handles the copy.
Users can now use copy_outputs_to_cpu to copy outputs from non-CPU devices to CPU for verification.
CUDA support for Einsum (opset12)
ONNX Runtime Training updates
Opset 12 support
New sample for training experiment using Huggingface GPT-2.
Upgraded docker image built from the latest PyTorch release
Telemetry is now enabled by default for Python packages and Github release zip files (C API); see more details on what/how telemetry is collected in ORT
[Coming soon] Availability of Python package for ONNX Runtime 1.4 for Jetpack 4.4
For all other APIs/builds, the 1.3.0 release packages are suggested. 1.3.1 does address the 1.3.0 issue of Crash when setting IntraOpNumThreads using the C/C++/C# API, so if this fix is needed it can be built from source using this release branch (with official release support).
ONNX Runtime v1.3.0
Key Updates
General
ONNX 1.7 support
Opset 12
Function expansion support that enables several new ONNX 1.7 ops such as NegativeLogLikelihoodLoss, GreaterOrEqual, LessOrEqual, Celu to run without a kernel implementation.
[Preview] ONNX Runtime Training
ONNX Runtime Training is a new capability released in preview to accelerate training transformer models. See the sample here to use this feature in your training experiments.
Commits
1f69a58 Conditionally compile without std::is_trivially_copyable to satisfy old GCC v...
c40c05a Create N-1 threads in intra-op pool, given main thread now active (#4493)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Dependabot tried to update this pull request, but something went wrong. The most likely cause is #4, which may be blocking Dependabot from updating your dependency files.
Bumps onnxruntime from 1.2.0 to 1.4.0.
Release notes
Sourced from onnxruntime's releases.
Commits
1f69a58
Conditionally compile without std::is_trivially_copyable to satisfy old GCC v...c40c05a
Create N-1 threads in intra-op pool, given main thread now active (#4493)4269556
Bump version to 1.4.0 (#4496)37b5248
Revert "Remove docstrigs if __ONNX_NO_DOC_STRINGS" (#4495)35ee00d
Pin typing version. (#4490)07455cf
Support double type for Greater CPU (#4373)f18dee8
Remove docstrigs if __ONNX_NO_DOC_STRINGS (#4494)c71c49a
Make TArray safer to use and update method name for consistency. (#4483)00706e1
dont add deps for uwp apps (#4485)3e48ffd
Move AutoPadType to common.h (#4474)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)