Skip to main content
Every 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
Tracking data is stored locally in 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

The UI launches a local MLflow server backed by the mlruns/ directory. All runs appear under the fastkernels experiment.
  1. Experiment list (left sidebar) — select the fastkernels experiment to see all tracked runs.
  2. 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_speedup to find your fastest runs).
  3. 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 under errors/

Comparing Runs

  1. Select two or more runs using the checkboxes in the runs table.
  2. Click Compare. The comparison view shows:
    • Parameter diff — which settings changed between runs (e.g., cuda_only: True vs False)
    • 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

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 that fastkernels 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-nativelog_kernel_bench() takes KernelBenchResult, log_eval() takes EvalReport — the same objects produced by the benchmark suite
  • Graceful degradation — if mlflow is 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 when mlflow is installed. To disable:
The system degrades gracefully — a single warning is printed on the first tracking call, and all subsequent calls are silent no-ops. No code changes needed.