O comando a seguir parece funcionar bem
mpirun -d -np 4 -hostfile hostlist -mca pls_rsh_agent "ssh -X -n" xclock
Atualmente, estamos tentando escrever um programa que usa o mpirun para iniciar vários clientes X11. Se os programas forem somente texto, usando o seguinte comando, podemos executar proceses em uma lista de computadores:
mpirun -np 4 --hostfile hostlist date
Aqui a hostlist é um arquivo de computadores configurados pelo mpi. Os computadores são configurados para autenticar automaticamente usando chaves públicas. Também podemos executar programas X11 apenas no computador local, por exemplo:
mpirun -np 4 xclock
mostra quatro xclocks conforme o esperado. No entanto, se tentarmos executar programas X11 usando um hostfile:
mpirun -np 4 --hostfile hostlist xclock
então dois xclocks são lançados, mas o computador remoto informa:
Error: can't open display:
No entanto, configuramos .ssh / config com
ForwardX11 Yes
E podemos verificar se a seguinte sequência de comandos funciona:
ssh 10.0.0.2
# connect to mpi cluster node
xclock
# xclock appears on screen
Além disso, se definirmos uma variável DISPLAY com mpirun's -x da seguinte forma:
mpirun -np 4 --hostfile hostlist -x DISPLAY=10.0.0.1:0.0 xclock
Em seguida, recebemos outro erro:
Error: can't open display: 10.0.0.1:0.0
Tentamos desativar qualquer controle de acesso com:
xhost +
Para resumir, gostaríamos de alguma ajuda com o mpirun e o X11 Forwarding. Estamos rodando no Ubuntu 12.10 e no openmpi 1.4.5.