meta-pytorch / meta-pytorch/KernelAgent

Clarification on reported 1.56x speedup aggregation method

Open
#144 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
556
Forks
92
PR merge metrics
No merged PRs in 30d

Description

The blog post KernelAgent: Hardware-Guided GPU Kernel Optimization states:

We evaluate the kernels generated by KernelAgent on all 100 L1 KernelBench tasks. Overall, it achieved 2.02x speedup over generated kernels from earlier versions. On average, KernelAgent generated 1.56x speedup when compared to default torch.compile, outperforming 65 of 100 KernelBench L1 tasks and achieving 89% of the hardware roofline efficiency on the H100.

Could you please clarify the aggregation method used for the "1.56x speedup" figure?

  1. Is this geometric mean or arithmetic mean?
  2. What timing method was used? The benchmark.py in the artifacts repo uses triton.testing.do_bench with warmup=500, rep=100, return_mode="mean". Was this the same configuration used for the reported numbers?
  3. What dtype was used? The artifacts benchmark.py casts models and inputs to bfloat16 before benchmarking. Was the 1.56x measured in BF16 or FP32?
  4. Are the per-kernel speedup numbers for all 100 L1 tasks available? The artifacts repo only contains 5 curated kernels.

This information would help the community make accurate comparisons when benchmarking other kernel optimization tools.

Thank you for open-sourcing this work :)

cc @kaiming-cheng @Laurawly @Jack-Khuu @vishalgoyal316 @RohitRathore1 @Sanskaaar1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked artifacts repository's benchmark.py and compare its do_bench configuration, dtype conversion, and aggregation logic with the figures described in the blog post. Done means documenting whether the 1.56x result uses an arithmetic or geometric mean, its timing and dtype settings, and whether per-kernel results for all 100 L1 tasks are available.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation, performance
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.