MCPcopy
hub / github.com/deepspeedai/DeepSpeed / _validate_accelerator

Function _validate_accelerator

accelerator/real_accelerator.py:28–44  ·  view source on GitHub ↗
(accel_obj)

Source from the content-addressed store, hash-verified

26
27
28def _validate_accelerator(accel_obj):
29 # because abstract_accelerator has different path during
30 # build time (accelerator.abstract_accelerator)
31 # and run time (deepspeed.accelerator.abstract_accelerator)
32 # and extension would import the
33 # run time abstract_accelerator/DeepSpeedAccelerator as its base
34 # class, so we need to compare accel_obj with both base class.
35 # if accel_obj is instance of DeepSpeedAccelerator in one of
36 # accelerator.abstractor_accelerator
37 # or deepspeed.accelerator.abstract_accelerator, consider accel_obj
38 # is a conforming object
39 if not ((dsa1 is not None and isinstance(accel_obj, dsa1)) or (dsa2 is not None and isinstance(accel_obj, dsa2))):
40 raise AssertionError(f"{accel_obj.__class__.__name__} accelerator is not subclass of DeepSpeedAccelerator")
41
42 # TODO: turn off is_available test since this breaks tests
43 # assert accel_obj.is_available(), \
44 # f'{accel_obj.__class__.__name__} accelerator fails is_available() test'
45
46
47def is_current_accelerator_supported():

Callers 2

get_acceleratorFunction · 0.85
set_acceleratorFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…