fastkernels agent, fastkernels kernels, fastkernels eval, and fastkernels e2e run is automatically logged to MLflow. This gives you:
- Kernel lineage — every generated kernel is stored as an MLflow artifact, linked to the run parameters that produced it
- Benchmark history — speedup, correctness, and max error ratio for every operator across every run
- Run comparison — compare runs side-by-side and visualize how metrics evolve across iterations
mlruns/ (gitignored). If mlflow is not installed, all tracking calls silently become no-ops.
What Gets Logged
Each run is tagged with a
tier to distinguish its source:
Querying from the CLI
MLflow Web UI
mlruns/ directory. All runs appear under the fastkernels experiment.
Navigating the UI
- Experiment list (left sidebar) — select the
fastkernelsexperiment to see all tracked runs. - Runs table — each row is a tracked run. Columns show run name, start time, duration, and logged metrics. Click column headers to sort (e.g., sort by
e2e_speedupto find your fastest runs). - Search and filter — use the search bar above the runs table with MLflow filter syntax:
Inspecting a Run
Click any run row to open its detail page:- Parameters — model, level, TP degree, LLM model, seed, and other run configuration
- Metrics — per-operator generation success (
gen_rms_norm_success), unit test results (utest_rms_norm_success,utest_rms_norm_max_diff), and end-to-end results (e2e_speedup,e2e_token_match_rate) - Artifacts — browse the
kernels/folder to view and download the exact source code of every generated kernel; failed generations store error traces undererrors/
Comparing Runs
- Select two or more runs using the checkboxes in the runs table.
- Click Compare. The comparison view shows:
- Parameter diff — which settings changed between runs (e.g.,
cuda_only: TruevsFalse) - Metric comparison — side-by-side values for
e2e_speedup,e2e_token_match_rate, per-operator metrics - Artifact diff — compare kernel source code between runs to see how generated code evolved
- Parameter diff — which settings changed between runs (e.g.,
Downloading Kernel Artifacts
From any run’s artifact browser, click a kernel file (e.g.,kernels/rms_norm.py) to preview it. Use the download button to save it locally.
You can also download artifacts programmatically:
Tracking API
Any kernel optimization script or custom agent can use the tracking API directly. This is the same API thatfastkernels agent, fastkernels kernels, fastkernels eval, and fastkernels e2e use internally.
API Reference
Design Principles
- Agent-agnostic — works with any agent, script, or manual workflow
- Dataclass-native —
log_kernel_bench()takesKernelBenchResult,log_eval()takesEvalReport— the same objects produced by the benchmark suite - Graceful degradation — if
mlflowis not installed, one warning is printed and all calls become no-ops - Exception-safe — logging errors never crash benchmarks
Disabling Tracking
Tracking is always-on whenmlflow is installed. To disable: