Hi, Am 08.12.2010 um 21:20 schrieb Ralph Castain:
> Afraid I'm not an x-forwarding expert... :-( > > Hopefully someone more knowledgeable can chime in. > > > On Dec 8, 2010, at 12:54 PM, brad baker wrote: > >> Ya, I just tested -x as well, and it does indeed set the value of DISPLAY >> correctly for every process, every time I run it. Unfortunately the display >> is still not behaving as desired. Sometimes they open, and sometimes they >> don't. >> >> I'm currently using openmpi-1.4.1 over infiniband on a Rocks cluster. Any >> ideas on how to debug this will be greatly appreciated. is `xterm` working, when you start it with `mpirun` on the nodes? Besides defining -X all the time, you can also put it in ~/.ssh/config in a "Host *" rule. SSH authentication is hostbased (or by a passphraseless ssh-key)? There is only one rank per machine? -- Reuti >> Thanks, >> Brad >> >> On Tue, Dec 7, 2010 at 1:42 PM, Ralph Castain <r...@open-mpi.org> wrote: >> FWIW: I just tested the -x option on a multi-node system and had no problem >> getting the value of DISPLAY to propagate. I was able to define it on the >> cmd line, saw it set correctly on every process, etc. >> >> This was with our devel trunk - not sure what version you are using. >> >> >> On Dec 7, 2010, at 12:12 PM, brad baker wrote: >> >>> Thanks for your responses! I'm at home today so I can't actually do any >>> tests to 'see' if anything works. But I logged in remotely and I did as >>> Ralph suggested and ran env as my app. No process returned a value for >>> DISPLAY. Then I made a small program that calls getenv("DISPLAY") to run >>> with mpi, and each process returns NULL. >>> >>> I did some googling and found in the mpirun man page: >>> >>> "Exported Environment Variables >>> The -x option to mpirun can be used to export specific environment >>> variables to the new processes. While the syntax of the -x option allows >>> the definition of new variables, note that the parser for this option is >>> currently not very sophisticated - it does not even understand quoted >>> values. Users are advised to set variables in the environment and use -x to >>> export them; not to define them." >>> So it looks like I need to manually set them, possible how Jeff suggested. >>> I'll do some more research on this and get back after I've tried a few >>> things in the lab. >>> >>> Thanks again! >>> Brad >>> >>> >>> On Tue, Dec 7, 2010 at 10:26 AM, Jeff Squyres <jsquy...@cisco.com> wrote: >>> Are you using ssh to launch OMPI between your nodes? (i.e., is mpirun >>> using ssh under the covers to launch on remote nodes) >>> >>> If so, you might want to just set OMPI to use "ssh -X", which sets up SSH >>> tunneled X forwarding, and therefore it sets DISPLAY for you properly on >>> all the remote nodes automatically. But it does have the disadvantage of >>> being a bit slow, since it's coming through ssh. >>> >>> Alternatively, you can xhost +<source_host>, where <source_host> is the >>> host where your X app is running. Then set your DISPLAY variable manually >>> to <source_host>:display and it'll just go in an unencrypted fashion. This >>> is normal X forwarding stuff -- you can probably google around for more >>> info on this. >>> >>> NOTE: IIRC, xauth is better than xhost these days. I stopped using X for >>> most things many years ago, so my xhost/xauth information is probably a >>> little dated. Google around for the most recent / best ways to do this >>> stuff. >>> >>> >>> On Dec 6, 2010, at 10:11 PM, Ralph Castain wrote: >>> >>> > BTW: you might check to see if the DISPLAY envar is being correctly set >>> > on all procs. Two ways to do it: >>> > >>> > 1. launch "env" as your app to print out the envars - can be messy on the >>> > output end, though you could use the mpirun options to tag and/or split >>> > the output from the procs >>> > >>> > 2. in your app, just do a getenv and print the display envar >>> > >>> > Would help tell us if there is an OMPI problem, or just a problem in how >>> > you setup X11 >>> > >>> > >>> > On Dec 6, 2010, at 9:18 PM, Ralph Castain wrote: >>> > >>> >> Hmmm...yes, the code does seem to handle that '=' being in there. Forgot >>> >> it was there. >>> >> >>> >> Depending on the version you are using, mpirun could just open the >>> >> display for you. There is an mpirun option that tells us to please start >>> >> each app in its own xterm. >>> >> >>> >> You shouldn't need forwarding if you are going to see it on a local >>> >> display (i.e., one physically attached to the node), assuming you are >>> >> logged into those nodes (otherwise you don't own the display). >>> >> >>> >> If you are trying to view it on your own local display, then you do need >>> >> forwarding setup. >>> >> >>> >> >>> >> On Dec 6, 2010, at 8:36 PM, brad baker wrote: >>> >> >>> >>> Without including the -x DISPLAY, glut doesn't know what display to >>> >>> open. For instance, without the -x DISPLAY parameter glut returns an >>> >>> error from each process stating that it could not find display "" >>> >>> (empty string). This strategy is briefly described in the openmpi >>> >>> FAQs for launching gui applications with openmpi. >>> >>> >>> >>> I'm assuming that by setting the DISPLAY envar to :0.0, each process >>> >>> will render to their local display, which is my intention, and as I >>> >>> previously stated works for up to 2 processes. So I believe it to be >>> >>> necessary. >>> >>> >>> >>> But I'm thinking I may have to configure some kind of X11 forwarding. >>> >>> I'm not sure... >>> >>> >>> >>> Thanks for your reply! Any more ideas? >>> >>> Brad >>> >>> >>> >>> >>> >>> On Mon, Dec 6, 2010 at 6:31 PM, Ralph Castain <r...@open-mpi.org> wrote: >>> >>> Guess I'm not entirely sure I understand how this is supposed to work. >>> >>> All the -x does is tell us to pickup an envar of the given name and >>> >>> forward its value to the remote apps. You can't set the envar's value >>> >>> on the cmd line. So you told mpirun to pickup the value of an envar >>> >>> called "DISPLAY=:0.0". >>> >>> >>> >>> So yes - I would expect this would be behaving strangely. >>> >>> >>> >>> If you tell us -x DISPLAY, we'll pickup the local value of DISPLAY and >>> >>> forward it. What that will cause your app to do is, I suppose, up to it. >>> >>> >>> >>> >>> >>> On Dec 6, 2010, at 12:42 PM, brad baker wrote: >>> >>> >>> >>> > Hello, >>> >>> > >>> >>> > I'm working on an mpi application that opens a glut display on each >>> >>> > node of a small cluster for opengl rendering (each node has its own >>> >>> > display). My current implementation scales great with mpich2, but I'd >>> >>> > like to use openmpi infiniband, which is giving me trouble. >>> >>> > >>> >>> > I've had some success with the -x DISPLAY=:0.0 parameter to mpirun, >>> >>> > which will open the display on up to 2 of my nodes... any 2. But >>> >>> > when I attempt to run the application on 4 nodes, the display is >>> >>> > non-deterministic. If any open at all process 0 definately will, and >>> >>> > sometimes process 3 along with that. I haven't observed much >>> >>> > behavior from process 1 or 2. >>> >>> > >>> >>> > My command: >>> >>> > >>> >>> > mpirun -x DISPLAY=:0.0 -np 4 -hostfile ~/openmpi.hosts ./myapp >>> >>> > >>> >>> > I've tried adding the -d option with no success. >>> >>> > >>> >>> > Does anyone have any suggestions or comments? I'll certainly provide >>> >>> > more information if required. >>> >>> > >>> >>> > Thanks, >>> >>> > Brad >>> >>> > _______________________________________________ >>> >>> > users mailing list >>> >>> > us...@open-mpi.org >>> >>> > http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >>> >>> >>> >>> >>> _______________________________________________ >>> >>> users mailing list >>> >>> us...@open-mpi.org >>> >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >>> >>> >>> _______________________________________________ >>> >>> users mailing list >>> >>> us...@open-mpi.org >>> >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >> >>> > >>> > _______________________________________________ >>> > users mailing list >>> > us...@open-mpi.org >>> > http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >>> >>> -- >>> Jeff Squyres >>> jsquy...@cisco.com >>> For corporate legal information go to: >>> http://www.cisco.com/web/about/doing_business/legal/cri/ >>> >>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users