Diff: origin/master...HEAD, staged and unstaged changes
Total: 33 lines
Missing: 15 lines
Coverage: 54%
Source File
Diff Coverage (%)
Missing Lines
hyper_parallel/core/dtensor/dtensor.py
33.3%
305-306
hyper_parallel/platform/torch/dtensor.py
56.7%
24-26,30,246-247,249-250,263,265,267,275,285
hyper_parallel/core/dtensor/dtensor.py
301302303304305306307308309
Returns: DTensor: A new DTensor whose local shard is on CPU. """new_local=self._local_tensor.cpu()returnself._from_converted_local(new_local)deffloat(self):"""Convert the DTensor to float dtype.
hyper_parallel/platform/torch/dtensor.py
202122232425262728293031323334
def_tensor_data_descriptor():"""Return the raw Tensor.data descriptor from Tensor or its base classes."""fortensor_clsingetattr(Tensor,"__mro__",()):# tolerate tests patching Tensor with a mock objectdescriptor=vars(tensor_cls).get("data")ifdescriptorisnotNone:returndescriptordescriptor=getattr(Tensor,"data",None)ifdescriptorisnotNoneandhasattr(descriptor,"__get__"):returndescriptorraiseAttributeError("Tensor.data descriptor is not available")classDTensorBase(Tensor):"""torch dtensor base"""
withgetattr(torch,"_C").DisableTorchFunctionSubclass():data_descriptor.__set__(self,local_value)data_descriptor.__set__(self._local_tensor,local_value)ifrequires_gradisnotNoneandhasattr(self,"requires_grad_"):self.requires_grad_(requires_grad)defnumpy(self,*args,**kwargs):"""Return the local shard as a NumPy array.
281282283284285286287288289
``dtensor.data.cpu().numpy()``. NumPy has no distributed layout inference path; delegate to the local tensor to keep Tensor-like local data semantics. """returnself._local_tensor.numpy(*args,**kwargs)@propertydefdtype(self)->torch.dtype:"""