[MPICH] Запретить запуск задачи на локальном узле
Предположим, мы находимся на узле 192.168.0.1 в nfs-шареной директории /home/user/share,
где находится mpi-программа my-exec и файлик myhosts-1 с узлами:
Любая из следующих команд
В лучшем случае исполняет программу на двух узлах, один из которых - 192.168.0.1
Задача заключается в том, чтобы заставить программу работать на узлах, отличных от локального.
Делаем файлик myhosts-2:
Командуем
Не помогает!
где находится mpi-программа my-exec и файлик myhosts-1 с узлами:
192.168.0.2:1
192.168.0.4:1
Любая из следующих команд
export P4_RSHCOMMAND=rsh;
mpirun -np 2 -machinefile myhosts-1 my-exec
mpirun -exclude 192.168.0.1 -np 2 -machinefile myhosts-1 my-exec
mpirun -nolocal -np 2 -machinefile myhosts-1 my-exec
В лучшем случае исполняет программу на двух узлах, один из которых - 192.168.0.1
Задача заключается в том, чтобы заставить программу работать на узлах, отличных от локального.
Делаем файлик myhosts-2:
192.168.0.2 0 /home/user/share/my-exec
192.168.0.4 1 /home/user/share/my-exec
Командуем
mpirun -p4pg myhosts-2 my-exec
Не помогает!
у mpirun есть охуенные ключи -t и -v :
$ mpirun.mpich -v -t -nolocal -np 2 -machinefile myhosts-1 /bin/true
running /bin/true on 2 LINUX ch_p4 processors
Procgroup file:
192.168.0.2 0 /bin/true
192.168.0.4 1 /bin/true
/usr/bin/rsh 192.168.0.2 "/bin/true" -p4pg "/home/shurick/PI32303" -p4wd "/home/shurick"
Сенкс. Хотя я использовал -keep_pg вместо -v. Тут кое-что прояснилось.
Не пойму, почему оно юзает ssh вместо rsh. И как это исправить.
Такое впечатление, что -nolocal заставляет это делать
$ export P4_RSHCOMMAND=rsh;mpirun -v -t -nolocal -np 2 -machinefile myhosts-1 my-exec
running /home/user/share/my-exec on 2 386BSD ch_p4 processors
Procgroup file:
192.168.0.2 0 /home/user/share/my-exec
192.168.0.4 1 /home/user/share/my-exec
ssh 192.168.0.2 /home/user/share/my-exec -p4pg /home/user/share/PI28594 -p4wd /home/user/share
Не пойму, почему оно юзает ssh вместо rsh. И как это исправить.
Такое впечатление, что -nolocal заставляет это делать
ключ -rsh rsh должен помочь
Сейчас, хотя и пишет
идет тута по rsh:
Но не работает, а выдает:
Другими словами, не может попасть с узла 192.168.0.2 на 192.168.0.4
Unrecognized argument -rsh ignored.
идет тута по rsh:
$ export P4_RSHCOMMAND=rsh;mpirun -v -t -rsh rsh -nolocal -np 2 -machinefile myhosts-1 my-exec
running /home/user/share/my-exec on 2 386BSD ch_p4 processors
Procgroup file:
192.168.0.2 0 /home/user/share/my-exec
192.168.0.4 1 /home/user/share/my-exec
rsh 192.168.0.2 /home/user/share/my-exec -p4pg /home/user/share/my-exec/PI28594 -p4wd /home/user/share
Но не работает, а выдает:
p4_error: Child process exited while making connection to remote process on 192.168.0.4: 0
Другими словами, не может попасть с узла 192.168.0.2 на 192.168.0.4
Настроил беспарольный ssh-доступ с 192.168.0.2 на 192.168.0.4 туда и обратно.
Стало работать нормально. Но проблема остается открытой.
Как заставить mpich подчиняться ключам
Стало работать нормально. Но проблема остается открытой.
Как заставить mpich подчиняться ключам
Оставить комментарий
rjirf
Как запретить запуск задачи на локальном узле с помощью параметров mpirun и т.п.