New features
Kernel Python dependencies
This version adds support for kernel Python dependencies. So far, we mostly considered kernels to be either pure PyTorch + Triton or compiled CUDA/ROCm/XPU with a small Torch wrapper. This assumption made kernels easy to deploy everywhere, since they do not have external dependencies. However, DSLs for writing kernels, such as the CUTLASS DSL, are becoming increasingly popular.
To accommodate such DSLs without bringing back the issues that dependencies have, we allow a small, curated set of dependencies. This kernels release implements the client side, validating dependencies and checking that they are installed. The next version of kernel-builder will add dependencies to builds.
Support flattened build directories
Thus far, kernels were stored in build/<variant>/<module_name>. This version of kernels also supports kernels that are stored in build/<variant>. This solves the issue where are kernel cannot be loaded when module_name does not match the repository name (e.g. after a rename). The next version of kernel-builder will build such flattened kernels (with a compatibility layer for older versions of kernels).
What's Changed
- Log glibc version and Python version by @danieldk in #178
- misc(upload): specifically define what folder to allow uploading by @mfuntowicz in #180
- Support new flattened kernel builds by @danieldk in #181
- Validate kernel Python dependencies by @danieldk in #182
- Describe new flattened layout and dependencies by @danieldk in #184
to-wheel: support flat builds by @danieldk in #185- Set version to 0.11.1.dev0 by @danieldk in #186
Full Changelog: v0.11.0...v0.11.1