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/<workload>/<name>.py, removing dependencies on the run
directory and other candidates. Document its supported workload, source run,
candidate name, and revision in the module.
Use the kernel’s descriptive name, such as kda_decode_multishape, as its
globally unique KERNEL_META["name"]. Ports from external projects belong under
tirx_kernels/ported/<upstream>/, with their upstream attribution and license.
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 |
Benchmark configuration |
Add |
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.
Save the reproduction commands, environment, and raw correctness and timing reports as the evidence for this contribution. Follow the benchmark suite’s promotion procedure when updating its baseline.
Open a pull request¶
Submit the package changes 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.