tf.contrib.tpu.DeviceAssignment

Class DeviceAssignment

Defined in tensorflow/contrib/tpu/python/tpu/device_assignment.py.

Mapping from logical cores in a computation to the physical TPU topology.

Prefer to use the device_assignment() helper to construct a DeviceAssignment; it is easier if less flexible than constructing a DeviceAssignment directly.

Properties

computation_shape

The computation shape.

Returns:

A rank-1 int32 numpy array with size equal to the TPU topology rank. Describes the logical shape in numbers of core of each replica of the computation in the TPU topology.

Returns:

The computation shape.

core_assignment

The logical to physical core mapping.

Returns:

A numpy array of rank topology_rank + 2, with shape [num_replicas] + computation_shape + [topology_rank]. Maps (replica, logical core coordinates) pairs to physical topology coordinates.

num_cores_per_replica

The number of cores per replica.

num_replicas

The number of replicas of the computation.

topology

A Topology that describes the TPU topology.

Methods

__init__

__init__(
    topology,
    core_assignment
)

Constructs a DeviceAssignment object.

Args:

  • topology: A Topology object that describes the physical TPU topology.
  • core_assignment: A logical to physical core mapping, represented as a rank 3 numpy array. See the description of the core_assignment property for more details.

Raises:

  • ValueError: If topology is not Topology object.
  • ValueError: If core_assignment is not a rank 3 numpy array.

host_device

host_device(
    replica=0,
    logical_core=None,
    job=None
)

Returns the CPU device attached to a logical core.

lookup_replicas

lookup_replicas(
    task_id,
    logical_core
)

Lookup replica ids by task number and logical core.

Args:

  • task_id: TensorFlow task number.
  • logical_core: A tuple of three integers which represents 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=0,
    logical_core=None,
    job=None
)

Returns the name of the TPU device assigned to a logical core.

tpu_ordinal

tpu_ordinal(
    replica=0,
    logical_core=None
)

Returns the ordinal of the TPU device assigned to a logical core.