Releases: huggingface/kernels
Release list
v0.16.0
New features
Preliminary support for signing
This release adds preliminary support for signing kernels. Kernel signing is currently in an experimental phase and the details may still change. For this reason, signatures are currently not yet validated when downloading a kernel. Kernel verification consists of two parts:
- A list of files and their hashes (digest) is added to a kernel's
metadata.json. During verification, all files must be present and have the correct hash. Verification also fails when there are files that are not specified in the digest. - The (digest inside the) metadata is protected using a detached signature in
metadata.json.sigstore. The signature is made using sigstore, which signs artifacts using ephemeral signing keys, reducing the impact of key theft. During verification, the signature is used to validate thatmetadata.jsonwas not tampered with and that the signature was made from a trusted repository and workflow.
Since the kernel is not verified yet during retrieval during the experimental stage, we provide the kernels verify-signature command-line utility that can be used to verify a kernel on the Hub. The kernel and kernel version to verify should be provided as arguments:
$ kernels verify-signature kernels-community/flash-attn4 0
✅ torch-cuda: kernel metadata is correctly signedAll kernels-community kernels are signed. If you want to experiment with kernel signing yourself, there are two changes you need to make:
- Run
nix flake updateto get the latest version of kernel-builder. The latest version embeds the kernel digest in the metadata. - Update your build workflow to run
cosignto sign the kernel. This cannot be done as part of the build itself, since signing using ephemeral kernels requires internet access and the kernel build sandbox does not provide internet access. You can use the kernels-community workflow as an example of how to set up metadata signing.
CPU kernel skill
kernel-builder now supports the cpu-kernels skill for writing, optimizing, and benchmarking C++ kernels using AVX2/AVX512. For example, to add the skill to Claude, use:
$ kernel-builder skills add --skill cpu-kernels --claudeSimplified handling of kernel functions
use_kernel_func_from_hub, FuncRepository, LocalFuncRepository, and LockedFuncRepository are now deprecated.
To make a function extensible by a layer, you can now use the same decorator as for layers (use_kernel_forward_from_hub). This makes it clearer that the function is actually replaced by a layer. We have also added the use_kernelized_func decorator to attach such a function to the layer wherein it is used to make it discoverable by kernelize. Here is a full example:
# Make silu_and_mul replaceable with a kernel layer registered as `silu_and_mul`.
@use_kernel_forward_from_hub("silu_and_mul")
def silu_and_mul(x: torch.Tensor) -> torch.Tensor:
d = x.shape[-1] // 2
return F.silu(x[..., :d]) * x[..., d:]
# Attach the function to the layer where it is used to make it discoverable by `kernelize`.
@use_kernelized_func(silu_and_mul)
class FeedForward(nn.Module):
def __init__(self, in_features: int, out_features: int):
self.linear = nn.Linear(in_features, out_features)
def forward(self, x: torch.Tensor) -> torch.Tensor:
return silu_and_mul(self.linear(x))The FuncRepository, LocalFuncRepository, and LockedFuncRepository classes will not be replaced. They allowed using an arbitrary function from a kernel as a layer. However, this was easily misused and did not have a clean way of marking such a function as supporting torch.compile or backwards passes. Going forward, they should be made available as regular kernel layers that can be used with LayerRepository and its local/locked versions.
For more information, see the layer documentation.
Curated extra dependencies
Kernels support a small set of curated Python dependencies, such as einops, nvidia-cute-dsl, and apache-tvm-ffi. These dependencies are now also provided as extras of the kernels package, curated for CUDA and curated-xpu for XPU:
# CUDA
$ pip install 'kernels[curated]'
# XPU
$ pip install 'kernels[curated-xpu]'This can be used to install all dependencies that a kernel might use.
Documentation improvements
kernel-builder architecture overview
The documentation now provides an overview of the kernel-builder architecture.
What's Changed
- [docs] add a pinning note. by @sayakpaul in #604
- [ci] don't trigger test_kernels on changes to builder by @sayakpaul in #594
- Set version to 0.16.0.dev0 by @danieldk in #603
- [docs] add an overview document for builder design by @sayakpaul in #606
- vouch: vasqu by @danieldk in #610
- [
FuncRepository] Add ability of detecting flags by @vasqu in #607 - [ci] add concurrency by @sayakpaul in #600
- ci: build forCache to ensure that we have every variant cached by @danieldk in #615
- [packaging] curated package installation by @sayakpaul in #613
- [core] feat: refactor validate dependency by @sayakpaul in #609
- Add jiqing-feng to the vouch list by @danieldk in #617
- python3Packages.triton(-xpu): update hashes to final release by @danieldk in #619
- kernel-builder: add
hashsubcommand and hook up in Nix by @danieldk in #618 - Improve security of handling pyc files by @danieldk in #623
- nix-builder: remove the MKL override by @danieldk in #624
- Unify bytecode handling across downloads/builds/hashing by @danieldk in #625
- [docs] remove stale entry from cli doc. by @sayakpaul in #608
- Add CPU kernel skills by @jiqing-feng in #614
- Add source to metadata by @drbh in #572
- feat: check latest symbol files and update if necessary by @sayakpaul in #629
- add device properties to the API reference. by @sayakpaul in #628
- nix-builder: update to final 2.12.0 by @danieldk in #633
- [ci] remove unsupported 3.13t for maturin by @sayakpaul in #638
- feat: implement load telemetry. by @sayakpaul in #637
- Add support for verifying kernels by @danieldk in #635
- Document convention to use version 0 for alpha/beta kernels by @danieldk in #639
- Use binary wheels for triton-rocm by @danieldk in #616
- Revert "feat: implement load telemetry." by @sayakpaul in #641
- Modify workflow to refresh ABI symbols and add token step by @paulinebm in #642
- kernels: tighten up code signing security by @danieldk in #644
- kernel-abi-check: refresh vendored ABI symbol files by @hf-kernels-bot[bot] in #643
- Add acknowledgment for the xpu-kernels skill / Xe-Forge by @jiqing-feng in #627
- [docs] add an example usage of get_kernel_variants by @sayakpaul in #631
- skills: update cuda skills to make the generated kernels compliant with the builder by @sayakpaul in #630
- kernels: verify using the signer URIs by @danieldk in #649
- don't close a PR from an unvouched contributor when it's opened by a maintainer by @sayakpaul in #646
- kernels: add verify-signature subcommand by @danieldk in #650
- add a contributing doc. by @sayakpaul in #647
- ci: run audits on PRs and update to Opus 4.8 by @danieldk in #654
- kernels: do not skip malformed bundles when using
--filter-unsignedby @danieldk in #653 - kernels: also require
OIDCSourceRepositoryURIby @danieldk in #652 - ci: better gating in the security workflow and be more explicit about untrusted user input by @danieldk in #656
- Support
pyextintorch-noarchby @danieldk in #658 - kernel-builder hash: do not try to join two full paths by @danieldk in #663
- feat: provide helpful guidance to users when they don't have
kernelrepo publishing ...
v0.15.2
This release adds support for can_torch_compile/can_backward to FuncRepository.
v0.15.1
New features
Specifying a kernel version is now required
As announced by deprecation warnings in previous releases, specifying the kernel version is now required when loading a kernel. E.g.
# Not valid anymore!
activation = kernels.get_kernel("kernels-community/activation")is now invalid, instead use:
activation = kernels.get_kernel("kernels-community/activation", version=1)The Hub page for a kernel shows the latest available kernel version. kernels will also warn if the loaded kernel is not the latest version. Full specification of the version helps avoiding breaking existing code as a result of kernel API changes. When the API of a kernel changes, the kernel author must bump up the API version so that downstream code that hasn't been updated for the API change yet, can continue to use the previous version.
Experimental Torch stable ABI support
This release adds support for the Torch stable ABI. When a kernel uses the Torch stable API and sets the the ABI version in build.toml, the kernel will be built to be compatible with that Torch version and later. For instance, the targeted Torch version can be set to 2.10 by setting stable-abi in build.toml:
[torch]
stable-abi = "2.10"Using the stable ABI has large benefits:
- A kernel does not have to be rebuild when a new Torch version comes out.
- The number of variants and consequently builds is reduced. For instance, kernel-builder 0.15.1 builds for Torch 2.11 and 2.12 for non-stable ABI kernels, whereas for stable ABI kernels the kernel only needs to be built for the given ABI version. This cuts the number of builds roughly by half in some cases.
Better offline support
Functions like get_kernel that normally use rely on network access now work with HF_HUB_OFFLINE=1. The kernel will be loaded if it was downloaded before, otherwise an exception will be raised. Using HF_HUB_OFFLINE disables trusted publisher verification (since this requires internet access).
Intel XPU skill
kernel-builder now offers a skill for writing Intel XPU kernels contributed by @danielfleischer. For instance, to add the XPU kernels skill for Claude, use:
$ kernel-builder skills add --claude --skill xpu-kernelsSwitch to dynamic linking of libstdc++
Up till this release, kernel-builder has always linked libstdc++ statically. However, this lead to issues for some kernels where both the statically linked instance and the dynamically linked instance would try to initialize the same global memory, leading to segfaults and other issues. We didn't encounter this behavior before because most kernels only use C++ code for simple wrapping of the actual compute functions. However, we have encountered some kernels using facilities like C++ std::regex, which triggers global locale initialization. To resolve these issues, we switched to dynamic linking of libstdc++.
To enable dynamic linking while still being fully compatile with manylinux_2_28, we rewrap the EL8 gcc toolchain that is used by manylinux_2_28 using Nix and expose it as a stdenv. This allows us to build kernels with this toolchain. For more technical details, see: https://huggingface.co/docs/kernels/builder/design-nix-builder#manylinux228-compatibility
Documentation improvements
IDE integration
We now have a page that describes how to set up a kernel development environment in your IDE. Currently Visual Studio Code is covered, but we plan to add additional IDEs and editors in the future.
What's Changed
- nix-builder: support building CI per framework by @danieldk in #525
- Set version to 0.15.0.dev0, improve maintenance scripts by @danieldk in #524
- Add security auditing workflow by @danieldk in #526
- [docs] update index page to talk about builder. by @sayakpaul in #531
- it should be sgl-project in the trusted publishers list by @sayakpaul in #532
- Require PR submitters to be vouched for by @danieldk in #533
- feat: prefer using hub api to check if publisher is trusted by @drbh in #539
- fix: remove existing test repo before upload by @drbh in #519
- fix: update nix warns to throws by @drbh in #540
- feat: bump cute dsl/cutlass by @drbh in #545
- feat: add to vouched by @drbh in #551
- Update version bumping scripts with the
--majoroption by @danieldk in #550 - upload: fix benchmark deletion filter to match upload filter by @Dev-X25874 in #543
- (fix): update get local kernel in benchmark by @ErikKaum in #555
- docs: fix some merge fallout by @danieldk in #559
- Add pre-commit hooks for ruff, nixfmt, and avoiding main commits by @danieldk in #563
- Remove compatible variant enumeration, add decision trace by @danieldk in #561
- ci: kernel flakes are now required to be in a GitHub repo by @danieldk in #562
- Sort versions numerically in an error message by @danieldk in #560
- Sync PR template with kernels-community by @danieldk in #564
- nix-builder: switch to manylinux_2_28, dynamically link libstdc++ by @danieldk in #558
- feat: enforce that a version must be specified by @drbh in #544
- feat: prefer aotrion from release by @drbh in #541
- ci: test the kernels on two EL versions by @danieldk in #565
- feat: mention maintainers in the slack security auditing. by @sayakpaul in #567
- fix/rocm properties export by @GitGlimpse895 in #487
- Add cxx_flags to docs by @martinloretzzz in #455
- nix-builder: add a hook to detect incorrect op registrations by @danieldk in #569
- Do not load arch kernels on free-threaded Python by @danieldk in #494
- nix-builder: remove Torch 2.10 support by @danieldk in #570
- kernels: dedup condition in
Deviceby @danieldk in #571 - Add xpu-kernels skill - Intel XPU Triton kernel development by @danielfleischer in #547
- [docs] add a page for talks. by @sayakpaul in #577
- kernel-builder: add support for capability 12.1 for CUDA >= 13 by @danieldk in #576
- feat: filter pr ci for just doc related changes by @sayakpaul in #578
- kernel-builder: improve GPU arch handling by @danieldk in #579
- docs: try to fix main page links by @danieldk in #581
- Support the Torch stable ABI by @danieldk in #575
- ruff: remove unused variables by @sayakpaul in #583
- feat: implement coverage reporting by @sayakpaul in #582
- Recommend Windows users to use WSL 2 by @danieldk in #586
- doc updates by @sayakpaul in #587
- feat: make kernel loading work when offline mode ie enabled. by @sayakpaul in #580
- [docs] add a guide on developing with an ide by @sayakpaul in #574
- kernel-builder: reject empty capabilities/archs list by @danieldk in #590
- kernel-abi-check: add support for checking that a kernel does not use non-stable Torch ABI symbols by @danieldk in #591
- feat: implement get-kernel-variants by @sayakpaul in #595
- feat: prefer unique e2e ci repo rather than branch by @drbh in #573
- [ci] try to optimize windows builder ci by @sayakpaul in #589
- Use C++11 ABI tag for a bit longer by @danieldk in #599
- kernels: order no C++ tag before C++11 tag by @danieldk in #598
- CI: do concurrent builds using Nix for XPU and Metal by @danieldk in #602
- nix-builder: remove some dead code in variant handling by @danieldk in #601
- kernels: Fix missing closing paren in
LocalLayerRepository.__str__by @danieldk in #597 - Move ABI check to
kernel-builder check-abiby @danieldk in #596
New...
v0.14.1
This is a bugfix release to use the Hub API to check that a publisher is trusted.
v0.14.0
New features
Kernel repo type
Kernels are now a separate repository type on the Hub. This brings many usability improvements to kernels. For example, you can view all kernels that are hosted on the Hub on the kernel overview page:
https://huggingface.co/kernels
This page allows you to filter kernels by supported backends (CUDA, XPU, Metal, etc.) and specific accelerators such as NVIDIA H100 or Apple M5 Max. The page for a kernel will also show the supported accelerators, operating systems, architectures and Torch versions. For instance, the flash-attn2 page shows all supported hardware and architectures:
https://huggingface.co/kernels/kernels-community/flash-attn2
Starting with kernels 0.14, we only support the new kernel repository type. If you would like to upload kernels to the Hub, you can request support for kernel repositories for your user or organization under Settings -> Account.
Kernel metadata
Kernels have had support for optional metadata to state dependencies, etc. However, we have made including metadata mandatory. This allows users of kernels to query metadata such as the kernel's license and name. But it also made it possible to load kernels by their unique identifier that is also used in their Torch ops name. This makes it easier to debug kernels, since the dynamically loaded name corresponds to the operator name.
We have also added support for querying metadata of kernels that have been loaded:
>>> for kernel in kernels.get_loaded_kernels():
... metadata = kernel.metadata
... repo_info = kernel.repo_info
... print(metadata.id, repo_info.repo_id, metadata.backend.backend_type)
_relu_metal_c835f43 kernels-community/relu metalTrusted publishers
To improve security and restrict loading of arbitrary code, kernels will by default only load kernels from trusted publishers. To load other kernels, use the trust_remote_code option:
get_kernel("some-other-org/my-kernel", version=1, trust_remote_code=True)Torch 2.12 support
This release adds support for Torch 2.12, currently based on RC9. The main branch will be updated with the final release when it is available, but there are typically no ABI changes in (late) release candidates, so building kernels with RC9 should also work on the final release.
What's Changed
- trigger documentation builds on release branches. by @sayakpaul in #445
- Make all Rust crates part of a single Cargo workspace by @danieldk in #446
- python3Packages.nvidia-cutlass-dsl-libs: fix missing lib arg by @danieldk in #448
- feat:
get_loaded_kernels()by @cbensimon in #428 - [Fix][XPU]: resolve executable stack (RWE) security issue in binaries and bump sycl-tla to v0.8 by @YangKai0616 in #449
- deprecation for version and revision check. by @sayakpaul in #450
- feat: default to uploading kernel repo type by @drbh in #447
- nix-builder: update ROCm 7.2.1 hashes by @danieldk in #451
- Add ROCM kernel skill by @01xjw in #343
- CI: update and pin cachix action by @danieldk in #453
- chore: bump doc-builder SHA for PR upload workflow by @rtrompier in #457
- move skills to builder. by @sayakpaul in #456
- feat: resolve repo type and fetch accordingly by @drbh in #435
- [ci] build for the latest variant. by @sayakpaul in #466
- kernel-builder: detect card in
result,build, or target dir by @danieldk in #464 - auto generate kernel-builder cli docs. by @sayakpaul in #463
- clean docs by removing stuff that don't belong to the kernel client cli by @sayakpaul in #460
- fix source resolution in docs. by @sayakpaul in #467
- [docs] fix source resolution again by @sayakpaul in #472
- Move card filling to Nix by @danieldk in #470
- feat: make license lowercase by @drbh in #474
- kernels: remove vendored RST to MDX by @danieldk in #476
- Prefer ruff formatting by @drbh in #462
- [core] package kernels-data as a python wrapper. by @sayakpaul in #475
- nix: avoid constant rebuilds of kernel-builder/kernel-abi-check by @danieldk in #478
- python3Packages.kernels-data: init by @danieldk in #479
- kernels-data: add and expose supported backend archs by @danieldk in #480
- Remove unneeded backward compat by @drbh in #473
- kernels-data: allow unknown fields in
Metadataby @danieldk in #481 - ci: run Nix checks on our own runner to avoid out of disk space by @danieldk in #482
- kernel-builder: use branch from
build.tomlwhen specified by @danieldk in #485 - [Fix] Rename remaining CUTLASS references to sycl-tla in XPU templates and nix by @YangKai0616 in #492
- Revamp metadata writing and add kernel id by @danieldk in #471
- Set the version to 0.14.0.dev0 by @danieldk in #443
- kernels-data: skip serializing archs when
Noneby @danieldk in #493 - [Fix] Auto-detect Python executable in cmake utils by @YangKai0616 in #491
- Build Python 3.13t + 3.14t wheels of PyO3 packages by @danieldk in #495
- feat: add test and docs for get_loaded_kernels. by @sayakpaul in #490
- Fix failing tests by @sayakpaul in #497
- Add
make pin-actionstarget to pin all GitHub actions by @danieldk in #498 - feat: include layer usage examples in the card. by @sayakpaul in #500
- [DOCS] guide for using agents by @burtenshaw in #459
- Fix an issue with Windows ARM64 free threaded builds by @danieldk in #501
- nix-builder: nvidia-cutlass-dsl requires Linux by @danieldk in #488
- [feat] Make utils release by @sayakpaul in #496
- kernels: use
Metadatafromkernels-databy @danieldk in #499 - Add issue and pr templates by @drbh in #509
- feat: prefer using hf hub library by @drbh in #511
- Fix update tests for kernel data lib and path and add ci rust tests by @drbh in #514
- fix: avoid leading separator in user_agent when no caller-supplied agent is provided by @MedChaouch in #510
- Remove non-HF repos from docs/tests by @danieldk in #515
- feat: upload progress bar by @drbh in #410
- ci: update doc builder workflows by @danieldk in #517
- ci: also update PR upload action by @danieldk in #518
- kernel-builder: fix failed uploads trying to remove directories by @danieldk in #516
- feat: add trusted orgs and flag by @drbh in #512
- docs: refresh for native kernel repo type on the Hub by @gary149 in #520
- Add support for Torch 2.12 by @danieldk in #505
- kernel-builder: raise C++ standard level to C++20 by @danieldk in #522
New Contributors
- @cbensimon made their first contribution in #428
- @01xjw made their first contribution in #343
- @rtrompier made their first contribution in #457
- @MedChaouch made their first contribution in #510
- @gary149 made their first contribution in #520
Full Changelog: v0.13.0...v0.14.0
v0.14.0.dev1: Fix failing tests (#497)
* feat: add test and docs for get_loaded_kernels. * fix existing failing tests * fix 2 * style --------- Co-authored-by: Daniël de Kok <me@danieldk.eu>
v0.14.0.dev0
Set the version to 0.14.0.dev0 (#443)
v0.13.0
New features
kernels 0.13.0 is a feature-packed release with among other things an improved CLI for building kernels (kernel-builder), Torch 2.11 support, and a tech-preview of TVM FFI support.
kernel-builder CLI overhaul
The build2cmake command has been renamed to kernel-builder. This new tool can be used to develop, build, and upload kernels without directly using Nix.
These are the main subcommands for the new kernel-builder CLI:
kernel-builder init: scaffold a new kernel, including tests and benchmarks.kernel-builder build: build a kernel.kernel-builder build-and-copy: build a kernel and copy artifacts to thebuilddirectory.kernel-builder build-and-upload: build a kernel and upload it to the Hub.kernel-builder create-pyproject: create Python project such aspyproject.tomlto develop kernels in IDEs and editors.kernel-builder devshell/kernel-builder testshell— drop into a development or test shell for a kernel.kernel-builder upload: upload a built kernel to the Hugging Face Hub.kernel-builder list-variants— list all supported build variants for a kernel.
The build, devshell, and testshell subcommands accept a --variant flag to select a specific build variant. All subcommands accept a directory argument instead of requiring a specific working directory.
An installation script is also provided to help new users get a working kernel-builder environment set up quickly, including Nix, the binary cache, and the required trusted-user configuration. Go to the following page for information on how to get started:
https://huggingface.co/docs/kernels/main/en/builder/writing-kernels#quick-install
PyTorch 2.11 support
kernel-builder now supports Torch 2.11. Torch 2.9 support has been removed in accordance with our policy of supporting the two latest PyTorch versions.
TVM FFI kernels (tech preview)
kernels 0.13 adds support for TVM FFI kernels. TVM FFI aims to be a single ABI for multiple frameworks, such as Torch, JAX, NumPy, and CuPy. TVM FFI support is a tech preview. For instance, we might still make changes to the build.toml options for TVM FFI, change the kernel source layout, or change the provided helper functions.
The kernels examples directory provides ReLU and CUTLASS example kernels that use TVM FFI.
Card filling
kernel-builder now supports card filling. If the kernel source repository contains a CARD.md template, building a kernel will fill the template with details about the kernel. When a kernel is uploaded (with kernel-builder upload or kernel-builder build-and-upload), the card will be uploaded as the README.md of the Hub repository. The default card template can be generated with kernels init.
kernels skills
We added a new CLI command for installing an agent-compatible skill. Use kernels skills add to install the skills for AI coding assistants like Claude, Codex, and OpenCode. For now, only the cuda-kernels skill is supported. Skill files are downloaded from the huggingface/kernels directory in this repository. ROCm kernel skills are on the way.
Local kernel overrides
Kernels can now be overridden locally without changing any get_kernel call sites. Set the LOCAL_KERNELS environment variable to a colon-separated list of org/repo=local_path pairs:
LOCAL_KERNELS=kernels-community/activation=/path/to/local/activation
This is useful for testing kernel changes locally before uploading them to the Hub.
This is useful when running some operations on CPU while the rest of the model runs on a GPU.
More reliable uploads of kernels with a very large number of files
Large kernel uploads are now automatically split across multiple commits to stay within Hub limits, rather than failing or requiring manual intervention for kernels with many files.
What's Changed
- Use lowercase for ninja install in the Windows builder by @danieldk in #237
- update Dockerfile override with monorepo by @drbh in #239
- Ensure that
metadata.jsonis correctly added to the output of Windows builds by @danieldk in #242 - Set version to 0.12.2.dev0 by @danieldk in #238
- update relative paths and readme cleanups by @drbh in #240
- Move all kernel component handling to CMake functions by @danieldk in #243
- Fix
torchVersionsargument ofgenKernelFlakeOutputsby @danieldk in #246 - build2cmake: always generate kernel components for all backends by @danieldk in #245
- Factor out
render_bindingandrender_extensionsby @danieldk in #248 - Use single
setup.pyand move writing tocommonmodule by @danieldk in #250 - Move writing of CMake utility fails and ops wrapper to
commonby @danieldk in #249 - Improve benchmark command by @drbh in #244
- Factor out
render_depsfunction by @danieldk in #251 - Fix build set issues by @danieldk in #252
- CI: relax timeouts for Hub-based tests by @danieldk in #254
- Combine CMake preambles for all backends into a single preamble by @danieldk in #253
- Remove the last backend-specific writer functions by @danieldk in #255
- Ignore flake locks in examples by @danieldk in #257
- Fix XPU build by @danieldk in #256
- Fix the XPU compilation issue by @YangKai0616 in #258
- Remove previous team members from authors by @julien-c in #261
- feat: include benchmark dir in bundle by @drbh in #260
- Remove backend-specific generation and also use CMake variant generation in Nix by @danieldk in #259
- cmake: merge loops for handing Python and data extensions by @danieldk in #266
- add init command that pulls template repo by @drbh in #247
- Add the backend to the ops name by @danieldk in #267
- Support local kernels in benchmark by @drbh in #265
- Make CLI-related modules submodules of
cliby @danieldk in #269 - Add support for overriding kernels locally by @danieldk in #271
- Fix versions torch dependency by @danieldk in #272
- CMake: merge two condition blocks by @danieldk in #273
- Upgrade GitHub Actions to latest versions by @salmanmkc in #232
- Cleanup huggingface hub integration by @drbh in #274
- Rename cutlass-sycl to sycl-tla by @YangKai0616 in #277
get_kernel: support specifying the backend by @danieldk in #268- feat: move template into project by @drbh in #275
- build2cmake: add support for family suffix in CUDA capabilities by @danieldk in #280
- Benchmark graphics by @drbh in #270
- [FEATURE] add
kernels skills addto the cli by @burtenshaw in #278 - add cachix to flake and update buildSet by @drbh in #282
- gen-flake-outputs: add
ci-testpackage by @danieldk in #281 - add utilities to generate template repo cards by @sayakpaul in #210
- include
repo_idin the card usage. by @sayakpaul in #284 - Fix aarch64-linux and add it to CI by @danieldk in #286
- chore: fix minor markdown backtick mistake by @HyperBlaze456 in #289
- feat: enforce strict kernel name by @drbh in #290
- pass revision to to cmake template by @drbh in #291
- builder: support no-arch builds without Nix by @danieldk in #288
- fix: adjust the template publish workflow by @drbh in #295
- fix: update template and init to use new repo and format by @drbh in #296
- fix: adjust token for upload to hub by @drbh in #297
- update init command to respect naming convention by @drbh in https://github.com/huggingfac...
v0.12.3
What's Changed
Full Changelog: v0.12.2...v0.12.3
v0.12.2
New features
This release add experimental Neuron + NKI support to kernels. build2cmake support is currently only available on the main branch.
Full Changelog: v0.12.1...v0.12.2