Skip to content

Commit d219da5

Browse files
committed
Make DeepCompile failure cleanup idempotent
Signed-off-by: Masahiro Tanaka <mtanaka@anyscale.com>
1 parent b621eab commit d219da5

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

deepspeed/compile/init_z3.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,11 @@ def backend_with_failure_cleanup(*args, **kwargs):
7878
try:
7979
return backend_fn(*args, **kwargs)
8080
except Exception:
81-
get_deepcompile_handle().cleanup()
82-
engine._set_deepcompile_active(False)
81+
if engine.is_deepcompile_active():
82+
try:
83+
get_deepcompile_handle().cleanup()
84+
finally:
85+
engine._set_deepcompile_active(False)
8386
raise
8487

8588
return backend_with_failure_cleanup

tests/unit/compile/test_zero3_grad_dtype.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -204,14 +204,12 @@ def failing_backend():
204204
fake_engine._release_deepcompile_dynamo_config = (
205205
lambda: DeepSpeedEngine._release_deepcompile_dynamo_config(fake_engine))
206206
fake_engine._set_deepcompile_active = lambda active: DeepSpeedEngine._set_deepcompile_active(fake_engine, active)
207+
fake_engine.is_deepcompile_active = lambda: fake_engine._deepcompile_active
207208

208209
try:
209-
try:
210-
backend()
211-
except RuntimeError as exc:
212-
assert str(exc) == "compile failed"
213-
else:
214-
raise AssertionError("failing backend did not raise")
210+
for _ in range(2):
211+
with pytest.raises(RuntimeError, match="compile failed"):
212+
backend()
215213

216214
assert FakeDynamo.config.force_parameter_static_shapes is True
217215
assert FakeDynamo.config.force_nn_module_property_static_shapes is False
@@ -223,7 +221,6 @@ def failing_backend():
223221

224222
fake_engine.optimizer = None
225223
fake_engine.checkpoint_engine = None
226-
fake_engine.is_deepcompile_active = lambda: fake_engine._deepcompile_active
227224
DeepSpeedEngine.destroy(fake_engine)
228225
assert cleanup_states == [True]
229226
finally:

0 commit comments

Comments
 (0)