Submit a request
Copy the example, add your definition, workloads, and baseline, then open a pull request to wishlist. No issue is required.
Need a CUDA kernel for your training/inference but cannot find the experts to implement?
Submit your definitions and workloads to KDA-wishlist, and KDA will automatically optimize it w/ agentic workflows!
Part of NVIDIA agentic CUDA and RSI efforts
Currently supporting NVIDIA B200 and B300 GPUs only.
Definition · Workloads · Baseline
Explore and benchmark candidates
Code · Benchmarks · Reproduction
CUDA kernels are foundational to the modern LLM ecosystem, but building high-performance implementations requires deep expertise.
KDA Wishlist is an experimental program where the KDA team uses agentic workflows to build the kernels the community needs.
HOW IT WORKS
Kernel Design Agents (KDA) are agentic CUDA systems that research, implement, verify, and iterate on performance-sensitive kernel tasks. Each request gives them a measurable contract—not just an idea.
FlashInfer Trace is a standardized JSON format for describing a GPU kernel definition and its workload.
Copy the example, add your definition, workloads, and baseline, then open a pull request to wishlist. No issue is required.
Others add a thumbs-up reaction to the pull request and contribute useful workload context.
Accepted tasks enter a measured loop of analysis, generation, correctness checks, and profiling.
We publish the strongest validated kernel with benchmarks, reproduction steps, and known limits.
READY TO CONTRIBUTE
Push your request files to a branch based on wishlist, then enter your fork and branch.
SELECTED ACHIEVEMENTS
KDA has already turned optimization targets into production contributions across LLM serving, image generation, and video workloads.
MLSys’26 FlashInfer Kernel Contest · B300 · MoE 2.25× · DSA 29.95× · GDN 6.10×
L1 Single Operation track · score 0.7608 · previous best 0.7584
MLSys’26 FlashInfer Contest · B300 · MoE 0.67× · DSA 11.91× · GDN 1.16×
KDA speedup for the Wan 2.2 workload on B200
10.621 → 5.240 ms weighted; model E2E +2.11%
B200 · 4.22–7.34× across 14 production shapes; E2E −9.16%
More improvements
Results vary by hardware, model, and workload. See each linked pull request or repository for validation and reproduction details.
GOOD TO KNOW
Currently, KDA only supports NVIDIA B200 and B300 GPUs. Document one or both targets in your request README and provide reproducible workloads for each selected target.
Files ready? Follow the submission guide and open a pull request to wishlist. Keep the details in your request README; the pull request description can be brief. If you need help preparing the files, discuss an idea in an issue. Complete files are optional for discussions, and an issue is never required before a pull request.
Merging a pull request adds the request to the wishlist. It does not mean optimization is complete. Follow the original pull request for progress and result links, including after it is merged.
Browse requests, find one you care about, and add a thumbs-up reaction to the pull request description. The list includes open and closed pull requests so merged requests remain visible. Comments are best used for new workload evidence or implementation context.
Yes—unless we agree otherwise in advance. For accepted requests, KDA may publish the submitted definitions, generated implementations, benchmarks, profiling data, and design notes. We credit submitters for their definitions and workloads. We are also collecting representative kernels and workloads to guide the development of the next generation of KDA. If your business requires private kernels, email ligengz@nvidia.com to discuss a collaboration through NVIDIA Kernel Factory.
KDA typically delivers one to three of the most-requested kernels each week, depending on the team’s workloads. Sihao Liu and Ligeng Zhu are currently self-paying the GPU and tokens, so capacity is limited. If you have a bunch of kernels to optimize, email ligengz@nvidia.com to setup an official collaboration through NVIDIA Kernel Factory.
Requests may need revision when they cannot be reproduced, lack a reliable correctness reference, target unsupported hardware, are too vague for automated evaluation, or have unclear licensing.
YOUR BOTTLENECK, NEXT
Bring the definition, real workloads, and your best-known baseline implementation.
Submit a request Discuss an idea Browse and upvote requests