oneflow.placement¶
OneFlow placement Class¶
-
class
oneflow.
placement
¶ A oneflow.palcement is an object representing the device group on which a oneflow.Tensor is or will be allocated. The oneflow.palcement contains a device type (‘cpu’ or ‘cuda’) and corresponding device sequence.
A oneflow.Tensor’s palcement can be accessed via the Tensor.palcement property.
A oneflow.palcement can be constructed in several ways:
>>> import oneflow as flow >>> p = flow.placement("cuda", {0:range(4)}) >>> p oneflow.placement(device_type="cuda", machine_device_ids={0 : [0, 1, 2, 3]}, hierarchy=(4,)) >>> p = flow.placement("cuda", {0:range(4)}, (2, 2)) >>> p oneflow.placement(device_type="cuda", machine_device_ids={0 : [0, 1, 2, 3]}, hierarchy=(2, 2)) >>> p = flow.placement("cpu", {0:[0, 1], 1:[2, 3]}, (4,)) >>> p oneflow.placement(device_type="cpu", machine_device_ids={0 : [0, 1], 1 : [2, 3]}, hierarchy=(4,)) >>> p = flow.placement("cpu", {0:[0, 1, 2, 3]}, (2, 2)) >>> p oneflow.placement(device_type="cpu", machine_device_ids={0 : [0, 1, 2, 3]}, hierarchy=(2, 2))
-
oneflow.env.
all_device_placement
(device_type: str) → oneflow._oneflow_internal.placement¶ Return a placement containing all devices of all machines under env.
- Parameters
device_type (str) – cuda or cpu
For examples:
# world_size = 4, node_size = 1 import oneflow as flow p = flow.env.all_device_placement("cuda") # oneflow.placement(device_type="cuda", machine_device_ids={0 : [0, 1, 2, 3]}, hierarchy=(4,)) p = flow.env.all_device_placement("cpu") # oneflow.placement(device_type="cpu", machine_device_ids={0 : [0, 1, 2, 3]}, hierarchy=(4,))