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
: ATopology
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 thecore_assignment
property for more details.
Raises:
ValueError
: Iftopology
is notTopology
object.ValueError
: Ifcore_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.