Ответ 1
Tensorflow автоматически запускает вычисления на столько ядер, сколько доступно на одной машине.
Если у вас есть распределенный кластер, обязательно следуйте инструкциям на https://www.tensorflow.org/how_tos/distributed/, чтобы настроить кластер. (например, правильно создайте tf.ClusterSpec и т.д.)
Чтобы помочь отлаживать, вы можете использовать log_device_placement
конфигурации log_device_placement
в сеансе, чтобы распечатать Tensorflow, где фактически размещены вычисления. (Примечание: это работает как для графических процессоров, так и для распределенного Tensorflow.)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Обратите внимание, что хотя алгоритм размещения расчётов Tensorflow отлично подходит для небольших вычислительных графов, вы можете повысить производительность на больших вычислительных графах, вручную разместив вычисления на определенных устройствах. (например, с with tf.device(...):
blocks.)