|  View source on GitHub | 
Mapping from logical cores in a computation to the physical TPU topology.
tf.tpu.experimental.DeviceAssignment(
    topology: tf.tpu.experimental.Topology,
    core_assignment: np.ndarray
)
Prefer to use the DeviceAssignment.build() helper to construct a
DeviceAssignment; it is easier if less flexible than constructing a
DeviceAssignment directly.
| Raises | |
|---|---|
| ValueError | If topologyis notTopologyobject. | 
| ValueError | If core_assignmentis not a rank 3 numpy array. | 
Methods
build
@classmethodbuild( topology:tf.tpu.experimental.Topology, computation_shape: Optional[np.ndarray] = None, computation_stride: Optional[np.ndarray] = None, num_replicas: int = 1, device_order_mode:tf.tpu.experimental.DeviceOrderMode= DeviceOrderMode.AUTO ) -> 'DeviceAssignment'
coordinates
coordinates(
    replica: int, logical_core: int
) -> Tuple
Returns the physical topology coordinates of a logical core.
host_device
host_device(
    replica: int = 0, logical_core: int = 0, job: Optional[str] = None
) -> str
Returns the CPU device attached to a logical core.
lookup_replicas
lookup_replicas(
    task_id: int, logical_core: int
) -> List[int]
Lookup replica ids by task number and logical core.
| Args | |
|---|---|
| task_id | TensorFlow task number. | 
| logical_core | An integer, identifying a logical core. | 
| Returns | |
|---|---|
| A sorted list of the replicas that are attached to that task and logical_core. | 
| Raises | |
|---|---|
| ValueError | If no replica exists in the task which contains the logical core. | 
tpu_device
tpu_device(
    replica: int = 0, logical_core: int = 0, job: Optional[str] = None
) -> str
Returns the name of the TPU device assigned to a logical core.
tpu_ordinal
tpu_ordinal(
    replica: int = 0, logical_core: int = 0
) -> int
Returns the ordinal of the TPU device assigned to a logical core.