# tf.contrib.tpu.DeviceAssignment

## Class DeviceAssignment

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.