MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / SerializeTensorMessage

Method SerializeTensorMessage

tensorflow/contrib/star/star_message.cc:29–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27}
28
29uint64_t StarMessage::SerializeTensorMessage(
30 const Tensor& in, const TensorProto& inp,
31 bool is_dead, StarBuf* message_buf,
32 StarBuf* tensor_buf) {
33 StarMessage sm;
34 sm.tensor_shape_ = in.shape();
35 sm.data_type_ = in.dtype();
36 sm.is_dead_ = is_dead;
37
38 bool can_memcpy = DataTypeCanUseMemcpy(sm.data_type_);
39
40 if (can_memcpy) {
41 sm.tensor_bytes_ = in.TotalBytes();
42
43 tensor_buf->len_ = sm.tensor_bytes_;
44 tensor_buf->data_ = const_cast<char*>(in.tensor_data().data());
45 tensor_buf->owned_ = false;
46 } else {
47 sm.tensor_bytes_ = inp.ByteSize();
48
49 tensor_buf->len_ = sm.tensor_bytes_;
50 tensor_buf->data_ = new char[tensor_buf->len_]();
51 inp.SerializeToArray(tensor_buf->data_, tensor_buf->len_);
52 }
53
54 message_buf->len_ = StarMessage::kMessageTotalBytes;
55 message_buf->data_ = new char[message_buf->len_];
56 StarMessage::SerializeMessage(sm, message_buf->data_);
57
58 return StarMessage::kMessageTotalBytes + sm.tensor_bytes_;
59}
60
61} // namespace tensorflow

Callers

nothing calls this directly

Calls 7

DataTypeCanUseMemcpyFunction · 0.85
tensor_dataMethod · 0.80
ByteSizeMethod · 0.80
shapeMethod · 0.45
dtypeMethod · 0.45
TotalBytesMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected