MCPcopy Create free account
hub / github.com/RightNow-AI/autokernel / setup_problem

Function setup_problem

kernelbench/bridge.py:495–547  ·  view source on GitHub ↗

Set up workspace for optimizing a KernelBench problem. Creates: workspace/kb_active/reference.py -- original Model + get_inputs workspace/kb_active/metadata.json -- problem metadata + analysis kernel.py -- starter ModelNew (edit this)

(problem: KernelBenchProblem, backend: str = "cuda")

Source from the content-addressed store, hash-verified

493# ---------------------------------------------------------------------------
494
495def setup_problem(problem: KernelBenchProblem, backend: str = "cuda") -> None:
496 """
497 Set up workspace for optimizing a KernelBench problem.
498
499 Creates:
500 workspace/kb_active/reference.py -- original Model + get_inputs
501 workspace/kb_active/metadata.json -- problem metadata + analysis
502 kernel.py -- starter ModelNew (edit this)
503 """
504 KB_ACTIVE_DIR.mkdir(parents=True, exist_ok=True)
505
506 # Write reference
507 ref_path = KB_ACTIVE_DIR / "reference.py"
508 ref_path.write_text(problem.source_code, encoding="utf-8")
509
510 # Write metadata
511 meta_path = KB_ACTIVE_DIR / "metadata.json"
512 analysis = problem.analyze()
513 metadata = {
514 "level": problem.level,
515 "problem_id": problem.problem_id,
516 "name": problem.name,
517 "uid": problem.uid,
518 "analysis": analysis,
519 "backend": backend,
520 }
521 meta_path.write_text(json.dumps(metadata, indent=2), encoding="utf-8")
522
523 # Generate starter kernel.py
524 starter = problem.generate_starter(backend=backend)
525 KERNEL_PY.write_text(starter, encoding="utf-8")
526
527 # Report
528 print(f"=== KernelBench Problem Setup ===")
529 print()
530 print(f" Problem: {problem.uid} -- {problem.name}")
531 print(f" Level: {problem.level}")
532 print(f" Operations: {', '.join(analysis['operations']) or 'unknown'}")
533 print(f" Difficulty: {analysis['estimated_difficulty']}")
534 print(f" Parameters: {'yes' if analysis['has_parameters'] else 'no'}")
535 print(f" Forward: {analysis['forward_lines']} lines")
536 if analysis["input_shapes"]:
537 for i, s in enumerate(analysis["input_shapes"]):
538 print(f" Input {i}: shape={s}")
539 print()
540 print(f" Reference: workspace/kb_active/reference.py")
541 print(f" Metadata: workspace/kb_active/metadata.json")
542 print(f" Kernel: kernel.py <-- EDIT THIS")
543 print()
544 print("Next steps:")
545 print(" 1. Edit kernel.py -- optimize ModelNew.forward()")
546 print(" 2. Run: uv run kernelbench/bench_kb.py")
547 print(" 3. Keep improvements or git reset --hard HEAD~1 to revert")
548
549
550# ---------------------------------------------------------------------------

Callers 1

mainFunction · 0.85

Calls 2

analyzeMethod · 0.80
generate_starterMethod · 0.80

Tested by

no test coverage detected