Spec-Zone.ru › TensorFlow

tf.experimental.dtensor.create_tpu_mesh

Возвращает распределённую сетку TPU, оптимизированную для кольцевых редукций AllReduce.

tf.experimental.dtensor.create_tpu_mesh(
    mesh_dim_names: List[str],
    mesh_shape: List[int],
    mesh_name: str,
    ring_dims: Optional[int] = None,
    ring_axes: Optional[List[str]] = None,
    ring_bounds: Optional[List[int]] = None,
    can_split_host_across_rings: bool = True,
    build_ring_across_rings: bool = False,
    rotate_ring_across_rings: bool = False,
    use_xla_spmd: bool = layout_lib.USE_XLA_SPMD
) -> tf.experimental.dtensor.Mesh

Для построения колец будут использоваться только необходимые ведущие оси, указанные в ring_axes, при условии, что подмассив, образованный этими осями, содержит достаточно ядер для кольца требуемого размера. Оставшиеся оси в ring_axes не повлияют на результаты.

Эта функция всегда использует все устройства TPU и предоставляет больше возможностей настройки, чем tf.experimental.dtensor.create_distributed_mesh.

Аргументы
mesh_dim_names Список названий измерений сетки.
mesh_shape Форма сетки.
mesh_name Уникальное имя сетки. Если оно не указано, имя будет сгенерировано автоматически.
ring_dims Необязательный параметр; количество ведущих (ring_dims > 0) или замыкающих (ring_dims < 0) измерений сетки, для которых нужно построить кольца. Если значение не указано, кольца строятся для всех измерений, кроме первого.
ring_axes Необязательный параметр; перестановка ["x", "y", "z", "core"], задающая порядок осей топологии TPU для построения колец. Если значение не указано, используется порядок ["core", "x", "y", "z"].
ring_bounds Необязательный параметр; максимальное количество устройств на каждой оси в порядке x, y, z, core. Если значение не указано, используются ограничения физической топологии.
can_split_host_across_rings Необязательный параметр; если значение равно true, устройствам, подключённым к одному хосту (то есть клиенту DTensor), могут быть назначены разные кольца. Значение false может сделать некоторые сочетания аргументов недопустимыми; примеры см. в DeviceAssignmentTest.testCreateMesh[No]SplittingHosts*.
build_ring_across_rings Необязательный параметр; если значение равно true, дополнительно строится кольцо параллелизма по данным поверх колец параллелизма по модели. Это кольцо может иметь шаг.
rotate_ring_across_rings Необязательный параметр; если значение равно true, кольцо параллелизма по данным строится в порядке по столбцам, а не по строкам.
use_xla_spmd Булево значение: если оно равно True, будет использоваться XLA SPMD вместо DTensor SPMD.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/experimental/dtensor/create_tpu_mesh

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API