fp16 optimizer timers fix - TypeError: 'NoneType' object is not callable (#7330)
This fix is required to prevent the below error:
=================================== FAILURES
===================================
__________________ TestFp8ComposabilityAcrossZero.test[fp16]
___________________
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/opt/conda/envs/py_3.10/lib/python3.10/multiprocessing/pool.py",
line 125, in worker
result = (True, func(*args, **kwds))
File "/opt/conda/envs/py_3.10/lib/python3.10/multiprocessing/pool.py",
line 51, in starmapstar
return list(itertools.starmap(args[0], args[1]))
File "/root/PR/test/DeepSpeed/tests/unit/common.py", line 322, in
_dist_run
raise e
File "/root/PR/test/DeepSpeed/tests/unit/common.py", line 314, in
_dist_run
self.run(**self._fixture_kwargs)
File "/root/PR/test/DeepSpeed/tests/unit/common.py", line 470, in run
self._current_test(**fixture_kwargs)
File
"/root/PR/test/DeepSpeed/tests/unit/runtime/half_precision/test_fp8.py",
line 88, in test
loss = run_zero(stage, model_dtype)
File
"/root/PR/test/DeepSpeed/tests/unit/runtime/half_precision/test_fp8.py",
line 74, in run_zero
model.step()
File "/root/PR/test/DeepSpeed/deepspeed/runtime/engine.py", line 2387,
in step
self._take_model_step(lr_kwargs)
File "/root/PR/test/DeepSpeed/deepspeed/runtime/engine.py", line 2290,
in _take_model_step
self.optimizer.step()
File
"/root/PR/test/DeepSpeed/deepspeed/runtime/fp16/fused_optimizer.py",
line 255, in step
self.timers(OVERFLOW_CHECK_TIMER).start()
TypeError: 'NoneType' object is not callable
"""
Co-authored-by: Olatunji Ruwase <tjruwase@gmail.com>
Co-authored-by: Logan Adams <114770087+loadams@users.noreply.github.com>
Co-authored-by: Olatunji Ruwase <tunji.ruwase@snowflake.com>