class_docstr: Mapping from logical cores in a computation to the physical TPU topology.
  
  Prefer to use the `DeviceAssignment.build()` helper to construct a
  `DeviceAssignment`; it is easier if less flexible than constructing a
  `DeviceAssignment` directly.
class_docstr_tok: ["Mapping","from","logical","cores","in","a","computation","to","the","physical","TPU","topology",".","Prefer","to","use","the","`","DeviceAssignment.build","(",")","`","helper","to","construct","a","`","DeviceAssignment","`",";","it","is","easier","if","less","flexible","than","constructing","a","`","DeviceAssignment","`","directly","."]
docstr: Returns the ordinal of the TPU device assigned to a logical core.
docstr_tok: ["Returns","the","ordinal","of","the","TPU","device","assigned","to","a","logical","core","."]
code: def tpu_ordinal(self, replica: int = 0, logical_core: int = 0) -> int:
      """Returns the ordinal of the TPU device assigned to a logical core."""
      coordinates = self.coordinates(replica, logical_core)
      return self._topology.tpu_device_ordinal_at_coordinates(
          coordinates
      )
  
imports: import enum
  import math
  from typing import List, Optional, Tuple
  import numpy
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.tpu.topology import Topology
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 8 for calling the DeviceAssignment obj's underlying member method code with example usage: obj.tpu_ordinal(replica, logical_core) and returns: self