Skip to content

Commit eac05b8

Browse files
committed
Update evaluator.py
1 parent 42e760c commit eac05b8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

examples/mlx_fine_tuning_kernels/evaluator.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ def compare_implementations(
171171
except Exception as e:
172172
print(f" ❌ Baseline trial failed: {e}")
173173
results['baseline'].append({"error": str(e)})
174+
# FAIL FAST: If first trial fails, don't continue
175+
if trial == 0:
176+
print(" 🚨 First trial failed - stopping evaluation early")
177+
return {"error": f"First trial failed: {e}"}
174178

175179
# Test evolved implementation
176180
try:
@@ -191,6 +195,10 @@ def compare_implementations(
191195
except Exception as e:
192196
print(f" ❌ Evolved trial failed: {e}")
193197
results['evolved'].append({"error": str(e)})
198+
# FAIL FAST: If first trial fails, don't continue
199+
if trial == 0:
200+
print(" 🚨 First trial failed - stopping evaluation early")
201+
return {"error": f"First trial failed: {e}"}
194202

195203
# Cleanup after all trials
196204
self.cleanup()
@@ -574,7 +582,7 @@ def evaluate(program_path: str) -> Dict[str, Union[bool, float, str, int]]:
574582
comparison_results = benchmark.compare_implementations(
575583
baseline_kernels=baseline_kernels,
576584
evolved_kernels=evolved_kernels,
577-
num_trials=5
585+
num_trials=5
578586
)
579587

580588
if 'error' in comparison_results:

0 commit comments

Comments
 (0)