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?
On Mon, Dec 6, 2010 at 6:31 PM, Ralph Castain <firstname.lastname@example.org>
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:
> 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.
> users mailing list
users mailing list
users mailing list