Spec-Zone.ru › TensorFlow

tf.experimental.dtensor.barrier

Выполняет барьер на сетке.

tf.experimental.dtensor.barrier(
    mesh: tf.experimental.dtensor.Mesh,
    barrier_name: Optional[str] = None,
    timeout_in_ms: Optional[int] = None
)

По возвращении из барьера все операции, выполненные до барьера, завершатся на всех клиентах. В настоящее время мы выделяем полностью фрагментированный тензор с формой сетки и выполняем all_reduce на нем.

Пример:

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

x = [1, 2, 3]
x = dtensor.relayout(x, dtensor.Layout.batch_sharded(mesh, 'batch', 1))
dtensor.barrier(mesh)

# At this point all devices on all clients in the mesh have completed
# operations before the barrier. Therefore it is OK to tear down the clients.
sys.exit()
Аргументы
mesh Сетка, на которой нужно запустить барьер.
barrier_name Имя барьера. В основном используется для целей ведения журнала.
timeout_in_ms Таймаут барьера в мс. Если опущен, блокируется неопределенно долго, пока барьер не будет достигнут со всех клиентов.

© 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/barrier

Spec-Zone.ru

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