nvidia/cutedsl-kernel-integration
Use when integrating a CuTeDSL/CUTE DSL kernel into cuDNN Frontend as a frontend-only Python API, including APIBase wrappers, lazy cudnn exports, optional cutedsl dependencies, FE OSS documentation, and pytest coverage.
npx skills add https://github.com/NVIDIA/cudnn-frontend --skill cutedsl-kernel-integration
Use this skill to add or update a CuTeDSL frontend-only API in cuDNN Frontend. The goal is a complete integration: Python API, wrapper, exports, docs, and tests.
sm107 vs the default SM100 kernel). Keep the public class and wrapper unchanged when dispatch is internal.references/integration-pattern.md for the detailed repo conventions before implementing.python/cudnn/<operation>/, python/cudnn/gemm/cutedsl/dense/<operation>/, python/cudnn/gemm/cutedsl/grouped/<operation>/, python/cudnn/gemm/cutedsl/discrete_grouped/<operation>/, or python/cudnn/sdpa/<direction>/.APIBase; keep constructor descriptors, check_support(), compile(), and execute() consistent with the closest template.TupleDict.__init__.py files and _LAZY_OPTIONAL_IMPORTS in python/cudnn/__init__.py.cutedsl optional dependency unless the new kernel truly needs an additional package.test/python/fe_api/, including support validation and numerical/reference coverage when executable.cudnn exports.sm107) variant, follow the architecture-dispatch pattern in references/integration-pattern.md instead of exposing a new public API. Current examples: grouped_gemm_quant, grouped_gemm_glu, and grouped_gemm_dglu.SKILL.md has valid frontmatter and all referenced paths exist.pytest test/python/fe_api/test_<operation>.py target when the environment has the required GPU and optional dependencies; otherwise report the skipped verification explicitly.pytest test/python/fe_api/test_rubin_kernel_dispatch.py. On Rubin hardware, the existing FE API e2e tests for the affected operation should still pass without API changes.Take nvidia/cutedsl-kernel-integration from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.