What problem does it solve?
This instructional Skill provides a complete, end-to-end workflow for adding new CUDA kernels to FlashInfer, from kernel definition to deployment-ready integration.
Core Features & Use Cases
- Kernel definition: implement a CUDA kernel in include/flashinfer for a new operation.
- Launcher & binding: create a host launcher in csrc and a TVM-FFI binding to expose the kernel to Python and TVM.
- JIT generation & Python API: generate JIT modules and provide a high-level Python API to users.
- Testing & benchmarking: add unit tests and benchmarks to validate correctness and performance across CUDA architectures.
- AOT registration: register the module for ahead-of-time compilation to improve startup latency and reuse.
Quick Start
Follow this end-to-end workflow to add a CUDA kernel: implement the kernel in include/flashinfer, create a launcher and TVM-FFI binding, build a JIT module, expose a Python API, write tests and benchmarks, and register the module for AOT.