우리는 현재 mpirun을 사용하여 여러 X11 클라이언트를 시작하는 프로그램을 작성하려고 합니다. 프로그램이 일반 텍스트인 경우 다음 명령을 사용하여 컴퓨터 목록에서 프로세스를 실행할 수 있습니다.
mpirun -np 4 --hostfile hostlist date
여기의 호스트 목록은 mpi로 구성된 컴퓨터의 파일입니다. 컴퓨터는 공개 키를 사용하여 자동으로 인증하도록 설정되어 있습니다. 또한 로컬 컴퓨터에서 X11 프로그램을 실행할 수도 있습니다. 예를 들면 다음과 같습니다.
mpirun -np 4 xclock
4개의 xclock이 예상대로 표시됩니다. 그러나 호스트 파일을 사용하여 X11 프로그램을 실행하려고 하면:
mpirun -np 4 --hostfile hostlist xclock
그런 다음 두 xclock이 모두 시작되지만 원격 시스템은 다음을 보고합니다.
Error: can't open display:
하지만 우리는 이미 구성했습니다..ssh/config그리고
ForwardX11 Yes
다음 명령 순서가 작동하는지 확인할 수 있습니다.
ssh 10.0.0.2
# connect to mpi cluster node
xclock
# xclock appears on screen
또한 mpirun의 -x를 사용하여 DISPLAY 변수를 다음과 같이 설정하면:
mpirun -np 4 --hostfile hostlist -x DISPLAY=10.0.0.1:0.0 xclock
그러면 또 다른 오류가 발생합니다.
Error: can't open display: 10.0.0.1:0.0
우리는 다음을 통해 모든 액세스 제어를 비활성화하려고 합니다.
xhost +
전체적으로 mpirun 및 X11 전달에 대한 도움이 필요합니다. 우리는 Ubuntu 12.10 및 openmpi 1.4.5에서 실행 중입니다.
답변1
다음 명령은 잘 작동하는 것 같습니다
mpirun -d -np 4 -hostfile hostlist -mca pls_rsh_agent "ssh -X -n" xclock