tensorflow/c/eager/parallel_device/parallel_device.cc
// For TFE_CustomDevice::copy_tensor_to_device in the parallel device
// registration.
//
// Since this function is used to satisfy the TFE_CustomDevice C API,
// device_info is passed in using a C-style generic. It must always be a
// ParallelDevice.
For TFE_CustomDevice::copy_tensor_to_device in the parallel device
registration.

Since this function is used to satisfy the TFE_CustomDevice C API,
device_info is passed in using a C-style generic. It must always be a
ParallelDevice.
For TFE_CustomDevice :: copy_tensor_to_device in the parallel device registration . Since this function is used to satisfy the TFE_CustomDevice C API device_info is passed in using a C - style generic . It must always be a ParallelDevice .
TFE_TensorHandle* CopyToParallelDevice(TFE_Context* context,
                                       TFE_TensorHandle* tensor,
                                       TF_Status* status, void* device_info) {
  TF_SetStatus(
      status, TF_UNIMPLEMENTED,
      absl::StrCat("Trying to copy a tensor ",
                   tensorflow::unwrap(tensor)->DebugString(),
                   " on to a parallel device. Pack non-parallel "
                   "tensors for each device into a parallel tensor explicitly.")
          .c_str());
  return nullptr;
}
TFE_TensorHandle * CopyToParallelDevice ( TFE_Context * context , TFE_TensorHandle * tensor , TF_Status * status , void * device_info ) { TF_SetStatus ( status , TF_UNIMPLEMENTED , absl :: StrCat ( " " , tensorflow :: unwrap ( tensor ) -> DebugString ( ) , " " " " ) . c_str ( ) ) ; return nullptr ; }
For TFE_CustomDevice::copy_tensor_to_device in the parallel device
registration.
For TFE_CustomDevice :: copy_tensor_to_device in the parallel device registration .