Commit f1fa1a67 authored by ver217's avatar ver217
Browse files

fix grad offload when enabling reuse_fp16_shard

parent 4b01da24
...@@ -290,6 +290,9 @@ class ShardedOptimizerV2(ColossalaiOptimizer): ...@@ -290,6 +290,9 @@ class ShardedOptimizerV2(ColossalaiOptimizer):
if p.colo_attr.saved_grad.is_null(): if p.colo_attr.saved_grad.is_null():
continue continue
p.colo_attr.saved_grad.trans_state(TensorState.COMPUTE) p.colo_attr.saved_grad.trans_state(TensorState.COMPUTE)
# If reuse_fp16_shard, grad fp16 which wasn't be offloaded may be evicted to CPU
if not p.colo_attr.offload_grad:
colo_model_data_tensor_move_inline(p.colo_attr.grad_payload, torch.cuda.current_device())
# FIXME(ver217): p.data here is an empty tensor on CUDA and has no useful infomation # FIXME(ver217): p.data here is an empty tensor on CUDA and has no useful infomation
# If we change p.grad directly # If we change p.grad directly
# it may raise error because of different shape/dtype/device of p.data and p.grad # it may raise error because of different shape/dtype/device of p.data and p.grad
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment