Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ptp-user] PTP Launcher FailswithJava.lang.reflect.InvocationTargetException

 

---------------------------------------------------------------------------------------

42 blacklab.aps.anl.gov:EVANS>source ~/bin/setOpenMPI

43 blacklab.aps.anl.gov:EVANS>echo $PATH

.:/clhome/EVANS/bin:/clhome/aps_tools/gcc-4.2/bin:/clhome/EVANS/openmpi/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin

44 blacklab.aps.anl.gov:EVANS>echo $LD_LIBRARY_PATH

/clhome/aps_tools/gcc-4.2/lib:/clhome/aps_tools/gcc-4.2/lib64:/clhome/EVANS/openmpi/lib

45 blacklab.aps.anl.gov:EVANS>/clhome/EVANS/eclipsePlugins/eclipse/plugins/org.eclipse.ptp.linux.x86_64_1.1.0/bin/ptp_orte_proxy

proxy_svr_connect returned.

 

---------------------------------------------------------------------------------------

 

Thanks,

 

        -Ken


From: ptp-user-bounces@xxxxxxxxxxx [mailto:ptp-user-bounces@xxxxxxxxxxx] On Behalf Of Greg Watson
Sent: Thursday, December 20, 2007 1:44 PM
To: PTP User list
Subject: Re: [ptp-user] PTP Launcher FailswithJava.lang.reflect.InvocationTargetException

 

 

On Dec 19, 2007, at 12:04 PM, Kenneth Evans, Jr. wrote:



Greg,

 

Thanks for your help.

 

You're welcome. 



 

First, I should say I am new to OpenMPI.  We are set up for MPICH2.  I am an experienced Eclipse user, however, and would like to try Eclipse, including installing Tau.  This is the reason for using OpenMPI.

 

I modified openmpi-default-hostfile, as you suggested, and I can now run on the command line with:

 

mpiexec --prefix /clhome/EVANS/openmpi -n 5 helloWorld

 

(Note: No machine file.)  My .login sets MPICH2 paths.  I can reset the paths on the machine on which I am running, but I need the –prefix for the nodes to work.  The paths are set for OpenMPI in a script that I use to start Eclipse, but I would guess there is still the problem with the nodes that –prefix fixes.  Can this be handled in PTP?

 

I'm not sure why you need to use --prefix at all? Did you specify a prefix when you ran configure on OpenMPI? That should set up everything correctly so you should just need to use mpirun.



 

It still doesn’t work in Eclipse.  I get the same exception.  There is only one machine (Machinemachine0, no typo) in the drop-down menu in the launch configuration.  Just what is this machine anyway and where is it set?  I would expect a list of nodes like in the openmpi-default-hostfile. 

 

This machine name comes from a simulator in PTP. It is selected as a fallback when a valid proxy can't be started. When we get things set up correctly you will see all the machines you put in the hostfile.



The launcher seems like the place to put this information.  It also seems like there should be a place for arguments to mpiexec in addition to those for the program.  Perhaps I have missed something.

 

What other arguments do you need?



 

I tried restarting Eclipse with –clean.  It didn’t help.

 

The file ptp_orte_proxy exists and looks OK.  I did not get errors during sh BUILD.  I added the following lines to BUILD, first:

 

--------------------------------------------------------------------------------

# Added manually to the original since installation is non-standard

export CFLAGS=-I/clhome/EVANS/openmpi/include

export LDFLAGS="-L/clhome/EVANS/openmpi/lib -Wl,-rpath,/clhome/EVANS/openmpi/lib"

--------------------------------------------------------------------------------

 

(BTW the directions on the help page need some line breaks, and this isn’t exactly what I took them to say, but it seems like it should do what I think they indicate is needed.)

 

Please try running the ptp_orte_proxy program manually and let me know what output you see. I suspect you have a LD_LIBRARY_PATH problem.

 

--------------------------------------------------------------------------------

 

Looking to the future: I use MPE.  Is there an easy way to point OpenMPI to the version that is already installed?  There is a paragraph about the advantages of using the mpicc wrapper somewhere I looked.  Can the OpenMPI mpicc be fixed to specify MPE with options like “-mpe=log” as in MPICH2 or do I need to use –L and –l?

 

I'm not an OpenMPI expert, sorry. You'll need to post something to the OpenMPI mailing list.

 

 

 

Regards,

 

Greg

Greg,

 

>> I'm not sure why you need to use --prefix at all? Did you specify a prefix when you ran configure on OpenMPI? That should set up everything correctly so you should just need to use mpirun.

 

I think that’s a different prefix.

 

From http://www.open-mpi.org/faq/?category=running#mpirun-prefix:

-----------------------------------------------------------------------------------

3. What if I can't modify my PATH and/or LD_LIBRARY_PATH?

There are some situations where you cannot modify the PATH or LD_LIBRARY_PATH -- e.g., some ISV application prefer to hide all parallelism from the user, and therefore do not want to make the user modify their shell startup files.

In such cases, you have two options:

Use mpirun's --prefix command line option (described below).

Modify the wrapper compilers to include directives to include run-time search locations for the Open MPI libraries (see this FAQ entry)

mpirun's --prefix command line option takes as an argument the top-level directory where Open MPI was installed. While relative directory names are possible, they can become ambiguous depending on the job launcher used; using absolute directory names are strongly recommended.

For example, say that Open MPI was installed into /opt/openmpi-1.2.4. You would use the --prefix option like this:

shell$ mpirun --prefix /opt/openmpi-1.2.4 -np 4 a.out

This will prefix the PATH and LD_LIBRARY_PATH on both the local and remote hosts with /opt/openmpi-1.2.4/bin and /opt/openmpi-1.2.4/lib, respectively.

-----------------------------------------------------------------------------------

 

I apparently need it to prefix the PATH and LD_LIBRARY_PATH on the remote host.

 

>> What other arguments do you need?

 

(--prefix is one ;-)  In the link above, there are other command-line arguments to mpiexec, as there are with most other implementations.  In the Eclipse Java launcher, for example, you have the option to enter JVM arguments _and_ program arguments.

 

>> Please try running the ptp_orte_proxy program manually and let me know what output you see. I suspect you have a LD_LIBRARY_PATH problem.


Back to the top