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.

__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.

Properties

core_assignment

The logical to physical core mapping.

Returns:

An integer numpy array of rank 3, with shape [num_replicas, num_cores_per_replica, topology_rank]. Maps (replica, logical core) 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

tf.contrib.tpu.DeviceAssignment.host_device

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

Returns the CPU device attached to a logical core.

tf.contrib.tpu.DeviceAssignment.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: 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.

tf.contrib.tpu.DeviceAssignment.tpu_device

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

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

tf.contrib.tpu.DeviceAssignment.tpu_ordinal

tpu_ordinal(
    replica=0,
    logical_core=0
)

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