Contribute a kernel

Package a selected run result, validate it, and submit it to tirx-kernels.

Kernel contributions go to the tirx-kernels repository. Start with a passing candidate from the run’s frontier; see Inspect the results to select one.

Package the candidate

Work in a development checkout of tirx-kernels. Adapt the selected candidate into tirx_kernels/curated/<name>.py, removing dependencies on the run directory and other candidates. Document its supported workload, source run, candidate name, and revision in the module.

Prepare these package changes, following a nearby kernel:

Change

Purpose

Kernel module

Provide the metadata, configurations, and hooks defined by the kernel protocol. The registry discovers kernels through their KERNEL_META declarations.

Benchmark configuration

Add or update the kernel’s workload file under tirx_kernels/bench_suite/config/curated.

Catalog entry

Link the kernel from the kernel catalog.

Validate and record results

Validate the packaged implementation through its correctness runner across the configurations and architectures it claims to support. This checks the code users will import after integration. Use the applicable analysis tools when changing synchronization, memory access, or numerical behavior.

Measure the packaged kernel and its reference in the same run, with the same GPU, inputs, dependencies, and timing method. For changes to an existing kernel, also compare before and after using the benchmark suite.

Update the curated results table using its reporting procedure. Save the reproduction commands, environment, and raw correctness and timing reports as the evidence for this contribution.

Open a pull request

Submit the package changes and results update together to tirx-kernels. Describe the implementation idea and its limitations, and link the validation evidence from the previous step. Keep run logs and intermediate candidates outside the kernel package.

For a harness or tool defect found during the run, follow Report and fix bugs.