[MPICH] Запретить запуск задачи на локальном узле

rjirf

Как запретить запуск задачи на локальном узле с помощью параметров mpirun и т.п.

rjirf

Предположим, мы находимся на узле 192.168.0.1 в nfs-шареной директории /home/user/share,
где находится 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

Не помогает!

Chupa

у 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"

rjirf

Сенкс. Хотя я использовал -keep_pg вместо -v. Тут кое-что прояснилось.

$ 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 заставляет это делать

Chupa

ключ -rsh rsh должен помочь

rjirf

Сейчас, хотя и пишет

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

rjirf

Настроил беспарольный ssh-доступ с 192.168.0.2 на 192.168.0.4 туда и обратно.
Стало работать нормально. Но проблема остается открытой.
Как заставить mpich подчиняться ключам
Оставить комментарий
Имя или ник:
Комментарий: