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 |
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.