New Features
Intel XPU support
This release of kernel-builder adds XPU support. Many thanks to @sywangyi for implementing this! You can use the xpu
backend type in build.toml
for XPU kernels. For example:
[kernel.activation_xpu]
backend = "xpu"
depends = ["torch"]
src = ["relu_xpu/relu.cpp"]
The ReLU example kernel shows how you can make a kernel that support CUDA, ROCm and XPU backends.
kernel-abi-check
Python binding
kernel-abi-check
now also has a Python binding. This will be used by the upcoming kernels check
subcommand.
API changes
Prior to this version, a kernel would have to provide the Git revision to genFlakeOutputs
in its flake.nix
. For example:
kernel-builder.lib.genFlakeOutputs {
path = ./.;
rev = self.shortRev or self.dirtyShortRev or self.lastModifiedDate;
};
Starting with version 0.6.2, kernel-builder determines the revision. Instead, a kernel has to pass through the flake itself (self
):
kernel-builder.lib.genFlakeOutputs {
inherit self;
path = ./.;
};
The old invocation of genFlakeOutputs
still works with a warning, but will be deprecated in the future.
What's Changed
- Add XPU support by @danieldk in #210
- Add
xpu
to the docs by @danieldk in #211 - Cache build2cmake and kernel-abi-check by @danieldk in #213
- Improve cutlass-sycl support by @danieldk in #214
- Fix a regression in test shells by @danieldk in #217
- build-and-copy: correctly get variant by @danieldk in #218
- build-and-copy: copy build from the bundle output, not
result/
by @danieldk in #219 - Add a license by @danieldk in #220
- add dnnl to the link library, some kernels need onednn by @sywangyi in #224
- Add initial kernel building security guidelines by @danieldk in #216
- Let kernel-builder determine the kernel revision by @danieldk in #221
- hotfix: add
onednn-xpu
to the build inputs by @danieldk in #226 - Add a Python binding for kernel-abi-check by @danieldk in #225
- Add kernel-abi-check-python release workflow by @danieldk in #228
Full Changelog: v0.6.1...v0.6.2