Skip to content

Contributing

Thank you for helping make Standard Kernels better! We receive requests in the form of RFCs, which create GitHub issues. When you see an RFC you'd like to help with, open a PR referencing it, and update docs where necessary.

Kernel RFC

A kernel RFC must include: motivation (required), detailed design (required).

If you're reporting a bug rather than proposing a feature, use the bug report template instead.

Motivation: what workload does this unblock, and where does it fit among what we already track in Kernel coverage?

  • If you're proposing a kernel, is it a new kernel altogether or a new variant (precision, hardware, shape) of one we already have? Please check Kernel Coverage to see which kernels we have or are planned.

  • We're just as open to RFCs for ideas beyond a specific kernels, such as new methods for validating correctness, or more meta- requests around our processes. If that's what you're proposing, please describe the gap it fills in the ecosystem :)

Detailed design: what interface does this introduce? Any known limitations contributors should expect at this stage? - i.e. a kernel's signature and the shapes/dtypes/hardware it targets, or a checker's inputs and what it catches.

PRs

Every PR should reference the RFC it implements and follow this template.

If the PR adds a kernel or a new supported shape, follow Registering a kernel shape.

We ask that you write your PR messages yourself and do your own due diligence to clean up the PR before asking for review. As a rule of thumb you should understand each line of the PR before you submit it to us!

RFC: link to the relevant RFC or bug report, if any

Summary: what did you change and why

Test plan: sk-check + any additional validation that your reviewer can reproduce

Correctness Guidelines

For kernel and kernel-variant PRs, at minimum paste the applicable sk-check results into the Test Plan. Follow Using sk-check and record the configurations, commands, and device with those results. If a generic graph check cannot represent the public API lifecycle, document that limitation and cite the operation's existing lifecycle-specific evidence.

Updating Documentation

To update this very site you're reading right now (hello!), install the documentation dependencies:

python -m pip install -r docs/requirements.txt

Build and serve on a server:

mkdocs build -f docs/mkdocs.yml --strict
mkdocs serve -f docs/mkdocs.yml

Then you can preview the page on http://127.0.0.1:8000/standardkernels, and PR into standardkernels when done.