Update Rust crate ort to v2.0.0-rc.12#46
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
3d39fa2 to
660efc7
Compare
660efc7 to
93463d1
Compare
93463d1 to
7d37f51
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.0-rc.10→2.0.0-rc.12Release Notes
pykeio/ort (ort)
v2.0.0-rc.12Compare Source
2.0.0-rc.12
💖 If you find
ortuseful, please consider sponsoring us on Open Collective 💖🤔 Need help upgrading? Ask questions in GitHub Discussions or in the pyke.io Discord server!
This release was made possible by Rime.ai!
📍 Multiversioning
The big highlight of this release is multiversioning:
ortcan now use any minor version of ONNX Runtime from v1.17 to v1.24. New features are gated behindapi-*feature flags, likeapi-20orapi-24. These flags will set the minimum version of ONNX Runtime required byort.More info 👉 https://ort.pyke.io/setup/multiversion
🪄 Automatic device selection
With ONNX Runtime 1.22 or later,
ortwill now automatically use an NPU if one is available for maximum efficiency & power savings! Setting your own execution providers will override this.This is thanks to the super cool new
SessionBuilder::with_auto_deviceAPI! There's alsoSessionBuilder::with_devicesfor finer control.👁️ CUDA 13
ortnow ships builds for both CUDA 12 & CUDA 13! It should automatically detect which CUDA you're using, but if it gets it wrong, you can override it by setting theORT_CUDA_VERSIONenvironment variable to12or13.🩹
SessionBuildererror recoveryYou can now recover from errors when building a session by calling
.recover()on the error type to get theSessionBuilderback.🛡️ Build attestations
Prebuilt binaries are now attested via GitHub Actions, so you can verify that they are untampered builds of ONNX Runtime coming straight from pyke.io.
To verify, download your binary package of choice and use the
ghCLI to verify:(Also note that the SHA-256 hash lines up with the one defined in
dist.txt.)Moving stuff around
ORT_LIB_LOCATIONenvironment variable has been renamed toORT_LIB_PATH._LOCATION.ort::tensoris now inort::value, because why have atensormodule if theTensor<T>type actually comes from thevaluemodule?IoBindingandAdapterwere moved from their own modules intoort::session. All sub-modules ofort::sessionbesidesbuilderwere collapsed intoort::session.ort::operatorwere collapsed intoort::operator.with_denormal_as_zero->with_flush_to_zerowith_device_allocator_for_initializers->with_device_allocated_initializersFixes
c52bd2aFix MIGraphX registration.374a9d1Fix global environment thread poolsff08428Fix a segfault inTensor::clone.3d6c2a9Use new API to load the DirectML EP.5913ae0Make vcpkg builds work again.079ecb4Fix issues with multiple environment registration.❤️🧡💛💚💙💜
v2.0.0-rc.11Compare Source
💖 If you find
ortuseful, please consider sponsoring us on Open Collective 💖🤔 Need help upgrading? Ask questions in GitHub Discussions or in the pyke.io Discord server!
I'm sorry it took so long to get to this point, but the next big release of
ortshould be, finally, 2.0.0 🎉. I know I said that about one of the old alpha releases (if you can even remember those), but I mean it this time! Also, I would really like to not have to do another major release right after, so if you have any concerns about any APIs, please speak now or forever hold your peace!A huge thank you to all the individuals who have contributed to the Collective over the years: Marius, Urban Pistek, Phu Tran, Haagen, Yunho Cho, Laco Skokan, Noah, Matouš Kučera, mush42, Thomas, Bartek, Kevin Lacker, & Okabintaro. You guys have made these past rc releases possible.
If you are a business using
ort, please consider sponsoring me. Egress bandwidth from pyke.io has quadrupled in the last 4 months, and 90% of that comes from just a handful of businesses. I'm lucky enough that I don't have to pay for egress right now, but I don't expect that arrangement to last forever. pyke &orthave been funded entirely from my own personal savings for years, and (as I'm sure you're well aware 😂) everything is getting more expensive, so that definitely isn't sustainable.Seeing companies that raise tens of millions in funding build large parts of their business on
ort, ask for support, and then not give anything back just... seems kind of unfair, no?ort-webort-weballows you to use the fully-featured ONNX Runtime on the Web! This time, it's hack-free and thus here to stay (it won't be removed, and then added back, and then removed again like last time!)See the crate docs for info on how to port your application to
ort-web; there is a little bit of work involved. For a very barebones sample application, seeort-web-sample.Documentation for
ort-web, like the rest ofort, will improve by the time 2.0.0 comes around. If you ever have any questions, you can always reach out via GitHub Discussions or Discord!Features
5d85209Add WebNN & WASM execution providers forort-web.#430(💖 @jhonboy121) Support statically linking to iOS frameworks.#433(💖 @rMazeiks) Implement more traits forGraphOptimizationLevel.6727c98MakePrepackedWeightsSend + Sync.15bd15cMake the TLS backend configurable with newtls-*Cargo features.f3cd995Allow overriding the cache dir with theORT_CACHE_DIRenvironment variable.8b3a1edLoad the dylib immediately when usingort::init_from.#484(💖 @michael-p) Updatendarrayto v0.17.ndarraydependency to v0.17, too.0084d08Newort::lifetimetracing target tracks when objects are allocated/freed to aid in debugging leaks.Fixes
2ee17aaFix a memory leak inIoBinding.317be20Don't storeEnvironmentas a static.mutex lock failed: Invalid argumentcrash on macOS when exiting the process.466025cFix unexpected CPU usage when copying GPU tensors.ecca246Fix UB when extracting empty tensors.22f71baGate theArrayExtensionstrait behind thestdfeature, fixing#![no_std]builds.af63ceaFix an illegal memory access onno_stdbuilds.#444(💖 @pembem22) Fix Android link.1585268Don't allow sessions to be created with non-CPU allocators#485(💖 @mayocream) Fix load order when usingcuda::preload_dylibs.c5b68a1FixAsyncInferenceFutdrop behavior.Misc
ortin CI, please cache the~/.cache/ort.pyke.iodirectory between runs.ort's dependency tree has shrunk a little bit, so it should build a little faster!b68c928Overhaulbuild.rspkg-configsupport now requires thepkg-configfeature.d269461MakeMetadatamethods returnOption<T>instead ofResult<T>.47e5667Gatepreload_dylibandcuda::preload_dylibsbehind a newpreload-dylibsfeature flag instead ofload-dynamic.3b408b1Shortenexecution_providerstoepandXXXExecutionProvidertoXXX.38573e0SimplifyThreadManagertrait.ONNX Runtime binary changes
x86_64-apple-darwin) has been dropped following upstream changes to ONNX Runtime & Rust.--client_package_build, meaning default options will optimize for low-resource edge inference rather than high throughput.x86-64-v3, aka Intel Haswell/Broadwell and AMD Zen (any Ryzen) or later.ort-tracttractto 0.22.2d40e05ort-tractno longer claims it isort-candleinort::info().ort-candlecandleto 0.9.❤️🧡💛💚💙💜
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.