Моя локальная сеть состоит из 1 компьютера с Windows 10 Pro (менеджер) и 3 компьютеров с Windows 11 Pro (рабочие). Я установил на компьютеры (менеджера и рабочих) MSMPI Microsoft MPI Startup Program версии 10.1.12498.52, MPI4PY v.3.1.5 и Python 3.11.5. Следующий простой код «mpitest.py» отлично работает на каждом компьютере в режиме локального хоста:
Код: Выделить всё
from mpi4py import MPI
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
print("I am the process ",rank)
и команда:
но когда я пытаюсь использовать весь кластер ПК, это не работает. Файл mptest.py присутствует на всех 4 компьютерах в папке C:\. Только в диспетчере ПК есть файл hosts.txt (тоже на C:/), содержащий адреса рабочих ПК следующего вида (первые 3 цифры опускаю из соображений конфиденциальности):
Чтобы запустить процесс на кластере пишу команду:
Код: Выделить всё
mpiexec -machinefile hosts.txt python mpitest.py
Пинг от диспетчера ПК к работникам активен и работает нормально.
Я также отключил брандмауэры и другие средства защиты.
Я ожидал список сообщений «Я процесс... я есть процесс...", исходящий от каждого рабочего и менеджера.
Ошибки не возникает, но создается впечатление, что мастер чего-то ждет.
Что я делаю не так?
Подробнее здесь:
https://stackoverflow.com/questions/786 ... pc-cluster