message: Support configuring TPU in multi-client use cases.
  The ConfigureAndInitializeGlobalTPU op takes in device attribute that has correct job name and task id, and initialize the TPU devices accordingly.
diff: @@ -1489,4 +1489,23 @@ A pseudo-op to represent host-side computation in an XLA program.
  TF_DerivedResultTypeListAttr Toutputs = TF_DerivedResultTypeListAttr<0>;
  }
  +def TF_ConfigureAndInitializeGlobalTPUOp : TF_Op<"ConfigureAndInitializeGlobalTPU", []> {
  + let summary = [{
  +An op that initialize the TPU system in a multi-client set up.
  + }];
  +
  + let description = [{
  +Initializes global TPU system for mutli-client execution.
  +
  +This op does the work of both ConfigureDistributedTpuOp and
  +InitializeHostForDistributedTpuOp, and outputs the latter's result.
  + }];
  +
  + let arguments = (ins);
  +
  + let results = (outs
  + Res<TF_Int32Tensor, [{A vector containing the global TPU id of each TPU on the host.}]>:$output
  + );
  +}
  +
  #endif // TF_OPS
  