DEP: Update dependency kernels to >=0.17.0,<0.18.0 - #84
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
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:
>=0.16.0,<0.17.0→>=0.17.0,<0.18.0Release Notes
huggingface/kernels (kernels)
v0.17.0Compare Source
New features
Device architecture checks
get_kernelnow raises an exception if the kernel does not support the architecture of the GPU in the machine. For instance, if a kernel is only compiled for Hopper (CUDA capability 9.0) is loaded on a Blackwell GPU with CUDA capability 12.0 an exception is raised. Previously, an incompatible kernel would load fine and then (loudly or quietly) fail at kernel launch time.In some cases, an AOT kernel may support more architectures than the metadata declares, for instance when the kernel has a Triton fall-back path. For such kernels, the check can be disabled:
Kernel dependencies (experimental)
Kernels can now depend on other kernels from the Hub. Dependencies are declared in the
generalsection ofbuild.toml. For example:The kernel dependencies can than be retrieved when the kernel is imported using the new
get_kernel_depfunction:Warning: using kernel dependencies breaks support for
kernels<0.17. For this reason, we recommend you to only start using kernel dependencies when version 0.17.0 has been out for a while. The kernels minimum version metadata described below will be ported tokernels0.16 and will help with this and future migrations.kernelsminimum versionTo introduce new features more gracefully in the future, using newer
kernelsfeatures (such as kernel dependencies) will write the minimum required version to the kernel metadata. Thekernelsclient will use this to verify that it is compatible with the kernel and, if not, suggest what version ofkernelsto install.Conditional kernelization of layers
use_kernel_forward_from_hubnow accepts an optionalconditionargument. This condition is applied to the layer whenkernelizeis called. This is useful when a layer supports multiple configurations, but kernelization is only supported for one configuration:Experimental TPU backend
kernel-buildernow has experimental support for building TPUtorch_tpu/Pallas kernels.backends = ["tpu"]produces atorch-tpunoarch variant.Intel Crescent Island (cri) support
The XPU/SYCL build supports Intel Crescent Island.
Helion support
The Helion DSL is now supported through the new
helionPython dependency (python-depends = ["helion"]). See the blog post Helion x 🤗 HF Kernels: Building and Shipping Out-of-the-box Performant Kernels for more information.Trusting specific repositories
kernelsonly loads kernels from a curated set of trusted publishers. Until now, the only way to load a kernel from another publisher was to opt in withtrust_remote_code=True, which disables the check entirely. You can now pass a list of repository IDs instead, so that only the given repositories are allowed:kernels infoThe new
kernels infosubcommand describes a kernel from a Hub repo ID or a local path, printing its name, version, license, upstream/source repositories, Python dependencies, and supported backends:Build provenance and dirty builds
Kernel metadata now records the provenance of a build in a
provenanceobject. The provenance information contains the Git commit of the kernel and the builder and whether both were in a clean or dirty state.Backend-scoped stable ABI
kernels0.15.1 added experimental support for the Torch stable ABI. The stable ABI was enabled by settingtorch.stable-abito the stable ABI version that the kernel should be compiled with. Unfortunately, the stable ABI is not complete enough yet to be supported on all backends. For this reason, we have decided to change thetorch.stable-abioption to take a table with versions per-backend:Backends that are not listed are compiled without the stable ABI. This makes it possible to opt-in to the stable ABI per backend and use different stable ABI versions per backend.
Torch 2.13 and 2.14
This release adds support for Torch 2.13 and 2.14 and removes Torch 2.11 and 2.12.
Major documentation improvements
Breaking changes
stable-abiis now a table rather than a single Torch version.build.tomlfiles can be migrated to edition 5 withkernel-builder update-build.check_arch=False.get_kernelinstead of importing the kernel directly.Packaging
kernels-datais not a separate Python package anymore, but is directly integrated into thekernelspackage.What's Changed
cxx-flagsfor Torch and tvm-ffi sources by @danieldk in #680HIP_ARCHITECTURESgets properly cleared by @danieldk in #684kernel-dependsoption togeneraloptions inbuild.tomlby @danieldk in #749GitHashbyGitStatusby @danieldk in #765fetchFromHuggingFace: add by @danieldk in #766build.tomlparsing tokernels-databy @danieldk in #768kernels-databy @danieldk in #771{rocm,xpu}Packages: read version manifests from directory by @danieldk in #797use_kernel_forward_from_hubby @danieldk in #796user_agentin layers by @sayakpaul in #805kernels-dataPython binding intokernelsby @danieldk in #818kernels-datatokernels-commonby @danieldk in #821New Contributors
Full Changelog: huggingface/kernels@v0.16.1...v0.17.0
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 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.