Spec-Zone.ru › TensorFlow 1.15

tf.distribute.cluster_resolver.SlurmClusterResolver

Просмотреть исходный код на GitHub

ClusterResolver для системы с менеджером задач Slurm.

Наследуется от: ClusterResolver

Просмотр псевдонимов

Основные псевдонимы

`tf.contrib.cluster_resolver.SlurmClusterResolver`

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.distribute.cluster_resolver.SlurmClusterResolver, `tf.compat.v2.distribute.cluster_resolver.SlurmClusterResolver`

tf.distribute.cluster_resolver.SlurmClusterResolver(
    jobs, port_base=8888, gpus_per_node=1, gpus_per_task=1, tasks_per_node=None,
    auto_set_gpu=True, rpc_layer='grpc'
)

Это реализация менеджеров кластеров для кластеров Slurm. Это позволяет указать задания и количество задач, количество задач на узел, количество видеокарт на каждом узле и количество видеокарт для каждой задачи. Он получает атрибуты системы из переменных окружения Slurm, определяет имена выделенных вычислительных узлов, строит кластер и возвращает объект ClusterResolver, который можно использовать для распределённого TensorFlow.

Аргументы
jobs Словарь с именами задач в качестве ключей и количеством задач в задании в качестве значения.
port_base Первый номер порта для начала процессов на узле.
gpus_per_node Количество видеокарт, доступных на каждом узле.
gpus_per_task Количество видеокарт, которые будут использоваться для каждой задачи.
tasks_per_node Количество задач, которые необходимо запустить на каждом узле; если не задано, по умолчанию используется значение из переменной окружения Slurm SLURM_NTASKS_PER_NODE.
auto_set_gpu Автоматически устанавливает видимые устройства CUDA при решении кластера, устанавливая переменную окружения CUDA_VISIBLE_DEVICES. По умолчанию True.
rpc_layer (Необязательно) Протокол, который использует TensorFlow для взаимодействия между узлами. По умолчанию 'grpc'.
Исключения
RuntimeError Если запрошено больше видеокарт на узел, чем доступно, или запрошено больше задач, чем назначено.
Атрибуты
environment Возвращает текущую среду, в которой выполняется TensorFlow.

Возможны два значения возврата: "google" (когда TensorFlow выполняется в внутренней среде Google) или пустая строка (когда TensorFlow выполняется в другом месте).

Если вы реализуете ClusterResolver, который работает как в среде Google, так и в открытых исходных кодах (например, TPU ClusterResolver или подобный), вам необходимо возвращать соответствующую строку в зависимости от среды, которую нужно определить.

В противном случае, если вы реализуете ClusterResolver, который будет работать только в TensorFlow с открытым исходным кодом, вам не нужно реализовывать этот свойство.

Методы

cluster_spec

Просмотреть исходный код

cluster_spec()

Возвращает объект ClusterSpec на основе последней информации о группе экземпляров.

Это возвращает объект ClusterSpec для использования на основе информации из заданных параметров инициализации и переменных окружения Slurm. Определение кластера решается каждый раз при вызове этой функции. Менеджер извлекает имена узлов из scontrol и собирает задачи в этом порядке до тех пор, пока количество задач на узле не будет равно указанному значению. Видеокарты на узлах распределяются по задачам в соответствии с указанными параметрами путём установки переменной среды CUDA_VISIBLE_DEVICES.

Возвращает
ClusterSpec, содержащий информацию об узлах, полученную из переменных окружения Slurm.

get_task_info

Просмотреть исходный код

get_task_info()

Возвращает имя задачи и идентификатор задачи для процесса, вызывающего этот метод.

Возвращает имя задания и индекс задачи для процесса, вызывающего эту функцию, в соответствии с его рангом и структурой кластера. Имя задания и индекс задачи устанавливаются после построения кластера с помощью cluster_spec, в противном случае по умолчанию устанавливаются в None.

Возвращает
Строка, определяющая имя задания, к которому принадлежит процесс, и целое число, определяющее индекс задачи, к которой принадлежит процесс в этом задании.

master

Просмотреть исходный код

master(
    task_type=None, task_id=None, rpc_layer=None
)

Возвращает строку master для подключения к мастеру TensorFlow.

Аргументы
task_type (Необязательно) Переопределяет тип задачи по умолчанию.
task_id (Необязательно) Переопределяет индекс задачи по умолчанию.
rpc_layer (Необязательно) Переопределяет протокол RPC по умолчанию, который TensorFlow использует для взаимодействия между узлами.
Возвращает
Строка подключения к мастеру TensorFlow.

num_accelerators

Просмотреть исходный код

num_accelerators(
    task_type=None, task_id=None, config_proto=None
)

Возвращает количество ускорительных ядер на рабочем узле.

Это возвращает количество ускорительных ядер (таких как GPU и TPU), доступных на рабочем узле.

Мы также позволяем вызывающим сторонам указать тип задачи и идентификатор задачи, если они хотят получить количество ускорительных ядер для определённого процесса TensorFlow. Это необходимо для поддержки разнородных сред, где количество ускорительных ядер на хост отличается.

Аргументы
task_type (Необязательно) Тип задачи TensorFlow на машине, для которой нужно запросить информацию.
task_id (Необязательно) Индекс задачи TensorFlow на машине, для которой нужно запросить информацию.
config_proto (Необязательно) Настройка для запуска новой сессии для запроса количества ускорительных ядер.
Возвращает
Карта типов ускорителей и количества ядер.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/distribute/cluster_resolver/SlurmClusterResolver

Spec-Zone.ru

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