Understand the difference between baseline timing and live timing
mainKernelBench measures speedup by comparing the runtime of a reference architecture (PyTorch) against an LLM-generated architecture (the candidate kernel). There are two ways to handle the reference runtime:
- Baseline Timing (Offline Analysis): Uses pre-computed JSON files from the
results/timing/directory. This is used for offline scoring to ensure a consistent reference runtime without re-running the PyTorch reference on every evaluation. - Live Timing (Real-time): Computes the reference runtime on the fly. This is used in workflows like
scripts/run_and_check.pyor via thekernelbench.eval.eval_kernel_against_ref(...)API. Live timing is necessary when running on hardware different from the provided baselines.
Note: The provided baseline results use PyTorch 2.5.0+cu124 and CUDA 12.4.