diff --git a/helion/autotuner/base_search.py b/helion/autotuner/base_search.py index a1b9f0b00..74ba4db7f 100644 --- a/helion/autotuner/base_search.py +++ b/helion/autotuner/base_search.py @@ -115,9 +115,19 @@ def _compute_baseline(self) -> tuple[object, bool, Sequence[object] | None]: """ new_args = self._clone_args(self._original_args) baseline_config = self.config_spec.default_config() - baseline_output = self.kernel.compile_config( - baseline_config, allow_print=False - )(*new_args) + try: + baseline_output = self.kernel.compile_config( + baseline_config, allow_print=False + )(*new_args) + torch.cuda.synchronize() + except Exception as e: + decorator = self.kernel.format_kernel_decorator( + baseline_config, self.settings + ) + raise exc.InvalidConfig( + "Default config failed while computing baseline.\n" + f"Default config: {decorator}\n" + ) from e original_args_flat, _ = tree_flatten(self._original_args) new_args_flat, _ = tree_flatten(new_args) mutated = False diff --git a/test/test_atomic_ops.py b/test/test_atomic_ops.py index 349108bf7..eb4828b3f 100644 --- a/test/test_atomic_ops.py +++ b/test/test_atomic_ops.py @@ -278,7 +278,7 @@ def test_atomic_add_w_tile_attr(self): @skipIfRefEager("Error only raises in normal mode") def test_atomic_add_device_tensor_error(self): - @helion.kernel(static_shapes=True) + @helion.kernel(static_shapes=True, use_default_config=True) def kernel(x: torch.Tensor) -> torch.Tensor: for tile in hl.tile(x.size(0), block_size=128): device_tensor = hl.zeros([tile], dtype=x.dtype)