Re: [OMPI users] error messages for btl components that aren't loaded

2006-06-30 Thread Jeff Squyres (jsquyres)
This is due to the way the OMPI finds and loads modules.  What actually
happens is that OMPI looks for *all* modules of a given type and
dlopen's them.  It then applies the filter of which components are
desired and dlclose's all the undesired ones.  It certainly would be
better to apply the filter earlier and only open the desired modules.

We actually identified this behavior quite a while ago, but never put a
high priority on fixing it because we didn't think it would be much of
an issue (because most people build/run in homogeneous environments).
But pending resource availability, I agree that this behavior is
sub-optimal and should be fixed.  I'll enter this issue on the bug
tracker so that we don't forget about it.  Can you -- and anyone else in
similar circumstances -- let me know how common this scenario is?

There is one workaround, however.  The MCA parameter
mca_component_show_load_errors defaults to a "1" value.  When it's 1,
all warnings regarding the loading of components are displayed (i.e.,
the messages you're seeing).  Setting this value to 0 will disable the
messages.  However, you won't see *any* messages about components not
loading.  For example, if you have components that you think should be
loading but are not, you won't be notified. 

That being said, these messages are not usually a concern for end-users,
however -- they are typically more useful for the OMPI developers.  For
example, if a developer accidentally does something to make a plugin
un-loadable (e.g., leaves a symbol out), having these messages displayed
at mpirun time can be *very* useful.  Plugins that are shipped in a
tarball hopefully do not suffer from such issues :-), and usually have
rpath information compiled in them so even LD_LIBRARY_PATH issues
shouldn't be much of a problem.


> -Original Message-
> From: users-boun...@open-mpi.org 
> [mailto:users-boun...@open-mpi.org] On Behalf Of Patrick Jessee
> Sent: Wednesday, June 28, 2006 5:18 PM
> To: Open MPI Users
> Subject: [OMPI users] error messages for btl components that 
> aren't loaded
> 
> 
> Hello. I'm getting some odd error messages in certain situations 
> associated with the btl components (happens with both 1.0.2 
> and 1.1).  
> When certain btl components are NOT loaded, openMPI issues error 
> messages associated with those very components.  For 
> instance, consider 
> an application that is built with an openMPI installation that was 
> configured with mvapi and mx (in addition to tcp,sm,self).   If that 
> application is taken to a system that does not have mvapi and mx 
> interconnects installed and is explicitly started for TCP by using 
> "--mca btl self,tcp,sm", then the following comes  from openMPI:
> 
> [devi01:01659] mca: base: component_find: unable to open: libvapi.so: 
> cannot open shared object file: No such file or directory (ignored)
> [devi01:01659] mca: base: component_find: unable to open: libvapi.so: 
> cannot open shared object file: No such file or directory (ignored)
> [devi01:01659] mca: base: component_find: unable to open: 
> libmyriexpress.so: cannot open shared object file: No such file or 
> directory (ignored)
> [devi02:31845] mca: base: component_find: unable to open: libvapi.so: 
> cannot open shared object file: No such file or directory (ignored)
> [devi02:31845] mca: base: component_find: unable to open: libvapi.so: 
> cannot open shared object file: No such file or directory (ignored)
> [devi02:31845] mca: base: component_find: unable to open: 
> libmyriexpress.so: cannot open shared object file: No such file or 
> directory (ignored)
> 
> These are not fatal, but they definitely give the wrong 
> impression that 
> something is not right.  The "--mca btl self,tcp,sm" option 
> should tell 
> openMPI only to load loopback, tcp, and shared memory components (as 
> these are the only btl components that should be operational on the 
> system).   The mvapi and mx components (which need libvapi.so and 
> libmyriexpress.so, respectively), should  not be loaded and thus 
> libvapi.so and libmyriexpress.so should not be needed or even 
> searched 
> for.  The same thing happens with "--mca btl ^mvapi,mx".  
> Interestingly, 
> even on a system that does have MX, the libmyriexpress.so 
> errors show up 
> if the mx btl component is not loaded.
> 
> Does anyone know (a) why openMPI is complaining about a 
> shared library 
> from a component that isn't even loaded, and (b) how to avoid the 
> seemingly superfluous error messages?  Any help is greatly 
> appreciated.
> 
> -Patrick
> 
> 
> 



Re: [OMPI users] keyval parser error after v1.1 upgrade

2006-06-30 Thread Jeff Squyres (jsquyres)
Ok, good -- that's what I was assuming had happened.

As Brian said, the stdin issue is not currently on our roadmap to fix in
the immediate future.  But I added it to our bug tracker as an
un-milestoned issue so that we don't forget about it

https://svn.open-mpi.org/trac/ompi/ticket/167

Thanks for the report! 

> -Original Message-
> From: users-boun...@open-mpi.org 
> [mailto:users-boun...@open-mpi.org] On Behalf Of Patrick Jessee
> Sent: Thursday, June 29, 2006 5:12 PM
> To: Open MPI Users
> Subject: Re: [OMPI users] keyval parser error after v1.1 upgrade
> 
> Jeff,
> 
> Sorry for the confusion.  It's for the the 
> "mca_oob_tcp_accept" thread.  
> I mistakenly replied to the wrong message ("keyval parser").
> 
> As for the "mca_oob_tcp_accept" thread, I have since found 
> since found 
> some more information on the problem (1.1 no longer works if stdin is 
> closed; 1.0.2 was fine) and have reported this in another message 
> ("Openmpi 1.1: startup problem caused by file descriptor state").
> 
> Let me know if you need anymore information.  Thanks for following up.
> 
> -Patrick
> 
> 
> Jeff Squyres (jsquyres) wrote:
> 
> >Patrick --
> >
> >I'm a little confused about your response.  Are you replying to the
> >"keyval parser" thread (i.e., saying that you had the same problem as
> >Benjamin Landsteiner), or are you replying to the 
> "mca_oob_tcp_accept"
> >thread?
> > 
> >
> >  
> >
> >>-Original Message-
> >>From: users-boun...@open-mpi.org 
> >>[mailto:users-boun...@open-mpi.org] On Behalf Of Patrick Jessee
> >>Sent: Tuesday, June 27, 2006 11:57 AM
> >>To: Open MPI Users
> >>Subject: Re: [OMPI users] keyval parser error after v1.1 upgrade
> >>
> >>Michael Kluskens wrote:
> >>
> >>
> >>
> >>>If you have both OpenMPI 1.0.2 and 1.1 installed in 
> separate areas  
> >>>there are a lot of different ways to mess that up.
> >>>
> >>>Offhand:
> >>>
> >>>Did you configure with --prefix pointed at each of the 
> >>>  
> >>>
> >>different areas.
> >>
> >>
> >>> 
> >>>
> >>>  
> >>>
> >>Yes, --prefix was unique for each different area.
> >>
> >>
> >>
> >>>If both areas are in PATH or LD_LIBRARY_PATH or whatever 
> >>>  
> >>>
> >>environment  
> >>
> >>
> >>>variable your compiler uses than things could be 
> interesting (Intel  
> >>>compiler using FPATH for include files).
> >>>
> >>> 
> >>>
> >>>  
> >>>
> >>Neither area was in the PATH, etc.
> >>
> >>
> >>
> >>>Michael
> >>>
> >>>On Jun 26, 2006, at 6:28 PM, Patrick Jessee wrote:
> >>>
> >>> 
> >>>
> >>>  
> >>>
> Michael,
> 
> Hello.  Thanks for the response.  We do clean configures 
> and makes  
> under /tmp, and install in a completely separate area so I don't  
> see how anything from 1.0.2 could be left over in the 1.1  
> installation.  We aren't installing 1.1 over 1.0.2.   1.1 is  
> configured, built, and installed in a completely different area.
> 
> -Patrick
> 
> Michael Kluskens wrote:
> 
>    
> 
> 
> 
> >You may have to properly uninstall OpenMPI 1.0.2 before  
> >installing  OpenMPI 1.1
> >
> >This was an issue in the past.
> >
> >I would recommend you go into your OpenMPI 1.1 directory 
> >  
> >
> >>and type   
> >>
> >>
> >"make uninstall", then if you have it go into your 
> OpenMPI 1.0.2   
> >directory and do the same.  If you don't have a directory with   
> >OpenMPI 1.0.2 configured already then either rebuild 
> >  
> >
> >>OpenMPI 1.0.2  
> >>
> >>
> >or  go into /usr/local and identify all remaining OpenMPI  
> >directories and  components and remove them.  Basically 
> >  
> >
> >>you should  
> >>
> >>
> >find directories  modified when you installed OpenMPI 1.1 
> >  
> >
> >>(or when  
> >>
> >>
> >you uninstalled it)  and you may find components dated 
> from when  
> >you installed OpenMPI 1.0.2.
> >
> >Michael
> >
> >On Jun 26, 2006, at 4:34 PM, Benjamin Landsteiner wrote:
> >
> >
> > 
> >
> >  
> >
> >>Hello all,
> >>I recently upgraded to v1.1 of Open MPI and ran 
> into a problem  
> >>on my
> >>head node that I can't seem to solve.  Upon running 
> >>
> >>
> >>mpicc, mpiCC,  
> >>
> >>
> >>mpic
> >>++, and so forth, I get an error like this:
> >>
> >>   
> >>
> >>
> >>
> >___
> >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
>    
> 
> 
> 
> >>>___

Re: [OMPI users] OpenMpi 1.1 and Torque 2.1.1

2006-06-30 Thread Jeff Squyres (jsquyres)
There was a bug in early Torque 2.1.x versions (I'm afraid I don't
remember which one) that -- I think -- had something to do with a faulty
poll() implementation.  Whatever the problem was, it caused all TM
launchers to fail on OSX.  
 
Can you see if the Torque-included tool pbsdsh works properly?  It uses
the same API that Open MPI does (the "tm" api).  
 
If pbsdsh fails, I suspect you're looking at a Torque bug.  I know that
Garrick S. has since fixed the problem in the Torque code base; I don't
know if they've had a release since then that included the fix.
 
If pbsdsh works, let us know and we'll track this down further.




From: users-boun...@open-mpi.org
[mailto:users-boun...@open-mpi.org] On Behalf Of Justin Bronder
Sent: Thursday, June 29, 2006 5:19 PM
To: us...@open-mpi.org
Subject: [OMPI users] OpenMpi 1.1 and Torque 2.1.1


I'm having trouble getting OpenMPI to execute jobs when
submitting through Torque.
Everything works fine if I am to use the included mpirun
scripts, but this is obviously
not a good solution for the general users on the cluster.

I'm running under OS X 10.4, Darwin 8.6.0.  I configured OpenMpi
with:
export CC=/opt/ibmcmp/vac/6.0/bin/xlc
export CXX=/opt/ibmcmp/vacpp/6.0/bin/xlc++
export FC=/opt/ibmcmp/xlf/8.1/bin/xlf90_r
export F77=/opt/ibmcmp/xlf/8.1/bin/xlf_r
export LDFLAGS=-lSystemStubs
export LIBTOOL=glibtool

PREFIX=/usr/local/ompi-xl

./configure \
--prefix=$PREFIX \
--with-tm=/usr/local/pbs/ \
--with-gm=/opt/gm \
--enable-static \
--disable-cxx

I also had to employ the fix listed in:
http://www.open-mpi.org/community/lists/users/2006/04/1007.php


I've attached the output of ompi_info while in an interactive
job.  Looking through the list,
I can at least save a bit of trouble by listing what does work.
Anything outside of Torque
seems fine.  From within an interactive job, pbsdsh works fine,
hence the earlier problems
with poll are fixed.

Here is the error that is reported when I attemt to run hostname
on one processor:
node96:/usr/src/openmpi-1.1 jbronder$
/usr/local/ompi-xl/bin/mpirun -np 1 -mca pls_tm_debug 1 /bin/hostname
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: final
top-level argv:
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: orted
--no-daemonize --bootproxy 1 --name  --num_procs 2 --vpid_start 0
--nodename  --universe
jbron...@node96.meldrew.clusters.umaine.edu:default-universe --nsreplica
"0.0.0;tcp://10.0.1.96:49395" --gprreplica "0.0.0;tcp://10.0.1.96:49395"
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: Set
prefix:/usr/local/ompi-xl
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: launching on
node localhost
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: resetting
PATH:
/usr/local/ompi-xl/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/pbs/bin:
/usr/local/mpiexec/bin:/opt/ibmcmp/xlf/8.1/bin:/opt/ibmcmp/vac/6.0/bin:/
opt/ibmcmp/vacpp/6.0/bin:/opt/gm/bin:/opt/fms/bin
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: found
/usr/local/ompi-xl/bin/orted
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: not
oversubscribed -- setting mpi_yield_when_idle to 0
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: executing:
orted --no-daemonize --bootproxy 1 --name 0.0.1 --num_procs 2
--vpid_start 0 --nodename localhost --universe
jbron...@node96.meldrew.clusters.umaine.edu:default-universe --nsreplica
"0.0.0;tcp://10.0.1.96:49395" --gprreplica "0.0.0;tcp://10.0.1.96:49395"
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: start_procs
returned error -13
[node96.meldrew.clusters.umaine.edu:00850] [0,0,0]
ORTE_ERROR_LOG: Not found in file rmgr_urm.c at line 184
[node96.meldrew.clusters.umaine.edu:00850] [0,0,0]
ORTE_ERROR_LOG: Not found in file rmgr_urm.c at line 432
[node96.meldrew.clusters.umaine.edu:00850] mpirun: spawn failed
with errno=-13
node96:/usr/src/openmpi-1.1 jbronder$ 


My thanks for any help in advance,

Justin Bronder.




Re: [OMPI users] mca_btl_tcp_frag_send: writev failed with errno=110

2006-06-30 Thread Tony Ladd
Jeff

Thanks for the reply; I realize you guys must be really busy with the recent
release of openmpi. I tried 1.1 and I don't get error messages any more. But
the code now hangs; no error or exit. So I am not sure if this is the same
issue or something else. I am enclosing my source code. I compiled with icc
and linked against an icc compiled version of openmpi-1.1.

My program is a set of network benchmarks (a crude kind of netpipe) that
checks typical message passing patterns in my application codes. 
Typical output is:

 32 CPU's: sync call time = 1003.0time
rate (Mbytes/s) bandwidth (MBits/s)
 loop   buffers  size XC   XE   GS   MS XC
XE   GS   MS XC   XE   GS   MS
   1   6416384  2.48e-02 1.99e-02 1.21e+00 3.88e-02   4.23e+01
5.28e+01 8.65e-01 2.70e+01   1.08e+04 1.35e+04 4.43e+02 1.38e+04
   2   6416384  2.17e-02 2.09e-02 1.21e+00 4.10e-02   4.82e+01
5.02e+01 8.65e-01 2.56e+01   1.23e+04 1.29e+04 4.43e+02 1.31e+04
   3   6416384  2.20e-02 1.99e-02 1.01e+00 3.95e-02   4.77e+01
5.27e+01 1.04e+00 2.65e+01   1.22e+04 1.35e+04 5.33e+02 1.36e+04
   4   6416384  2.16e-02 1.96e-02 1.25e+00 4.00e-02   4.85e+01
5.36e+01 8.37e-01 2.62e+01   1.24e+04 1.37e+04 4.28e+02 1.34e+04
   5   6416384  2.25e-02 2.00e-02 1.25e+00 4.07e-02   4.66e+01
5.24e+01 8.39e-01 2.57e+01   1.19e+04 1.34e+04 4.30e+02 1.32e+04
   6   6416384  2.19e-02 1.99e-02 1.29e+00 4.05e-02   4.79e+01
5.28e+01 8.14e-01 2.59e+01   1.23e+04 1.35e+04 4.17e+02 1.33e+04
   7   6416384  2.19e-02 2.06e-02 1.25e+00 4.03e-02   4.79e+01
5.09e+01 8.38e-01 2.60e+01   1.23e+04 1.30e+04 4.29e+02 1.33e+04
   8   6416384  2.24e-02 2.06e-02 1.25e+00 4.01e-02   4.69e+01
5.09e+01 8.39e-01 2.62e+01   1.20e+04 1.30e+04 4.30e+02 1.34e+04
   9   6416384  4.29e-01 2.01e-02 6.35e-01 3.98e-02   2.45e+00
5.22e+01 1.65e+00 2.64e+01   6.26e+02 1.34e+04 8.46e+02 1.35e+04
  10   6416384  2.16e-02 2.06e-02 8.87e-01 4.00e-02   4.85e+01
5.09e+01 1.18e+00 2.62e+01   1.24e+04 1.30e+04 6.05e+02 1.34e+04

Time is total for all 64 buffers. Rate is one way across one link (# of
bytes/time).
1) XC is a bidirectional ring exchange. Each processor sends to the right
and receives from the left
2) XE is an edge exchange. Pairs of nodes exchange data, with each one
sending and receiving
3) GS is the MPI_AllReduce
4) MS is my version of MPI_AllReduce. It splits the vector into Np blocks
(Np is # of processors); each processor then acts as a head node for one
block. This uses the full bandwidth all the time, unlike AllReduce which
thins out as it gets to the top of the binary tree. On a 64 node Infiniband
system MS is about 5X faster than GS-in theory it would be 6X; ie log_2(64).
Here it is 25X-not sure why so much. But MS seems to be the cause of the
hangups with messages > 64K. I can run the other benchmarks OK,but this one
seems to hang for large messages. I think the problem is at least partly due
to the switch. All MS is doing is point to point communications, but
unfortunately it sometimes requires a high bandwidth between ASIC's. It
first it exchanges data between near neighbors in MPI_COMM_WORLD, but it
must progressively span wider gaps between nodes as it goes up the various
binary trees. After a while this requires extensive traffic between ASICS.
This seems to be a problem on both my HP 2724 and the Extreme Networks
Summit400t-48. I am currently working with Extreme to try to resolve the
switch issue. As I say; the code ran great on Infiniband, but I think those
switches have hardware flow control. Finally I checked the code again under
LAM and it ran OK. Slow, but no hangs.

To run the code compile and type:
mpirun -np 32 -machinefile hosts src/netbench 8
The 8 means 2^8 bytes (ie 256K). This was enough to hang every time on my
boxes.

You can also edit the header file (header.h). MAX_LOOPS is how many times it
runs each test (currently 10); NUM_BUF is the number of buffers in each test
(must be more than number of processors), SYNC defines the global sync
frequency-every SYNC buffers. NUM_SYNC is the number of sequential barrier
calls it uses to determine the mean barrier call time. You can also switch
the verious tests on and off, which can be useful for debugging

Tony

---
Tony Ladd
Professor, Chemical Engineering
University of Florida
PO Box 116005
Gainesville, FL 32611-6005

Tel: 352-392-6509
FAX: 352-392-9513
Email: tl...@che.ufl.edu
Web: http://ladd.che.ufl.edu 


src.tgz
Description: application/compressed


Re: [OMPI users] OpenMpi 1.1 and Torque 2.1.1

2006-06-30 Thread Justin Bronder

Greetings,

The bug with poll was fixed in the stable Torque 2.1.1 release, and I have
checked again
to make sure that pbsdsh does work.

jbronder@meldrew-linux ~/src/hpl $ qsub -I -q default -l nodes=4:ppn=2 -l
opsys=darwin
qsub: waiting for job 312.ldap1.meldrew.clusters.umaine.edu to start
qsub: job 312.ldap1.meldrew.clusters.umaine.edu ready

node96:~ jbronder$ pbsdsh uname -a
Darwin node96.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
Darwin node96.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
Darwin node94.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
Darwin node94.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
Darwin node95.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
Darwin node95.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
Darwin node93.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
Darwin node93.meldrew.clusters.umaine.edu 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power
Macintosh powerpc
node96:~ jbronder$

If there is anything else I should check, please let me know.

Thanks,

Justin Bronder.

On 6/30/06, Jeff Squyres (jsquyres)  wrote:


 There was a bug in early Torque 2.1.x versions (I'm afraid I don't
remember which one) that -- I think -- had something to do with a faulty
poll() implementation.  Whatever the problem was, it caused all TM launchers
to fail on OSX.

Can you see if the Torque-included tool pbsdsh works properly?  It uses
the same API that Open MPI does (the "tm" api).

If pbsdsh fails, I suspect you're looking at a Torque bug.  I know
that Garrick S. has since fixed the problem in the Torque code base; I don't
know if they've had a release since then that included the fix.

If pbsdsh works, let us know and we'll track this down further.

 --
*From:* users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] *On
Behalf Of *Justin Bronder
*Sent:* Thursday, June 29, 2006 5:19 PM
*To:* us...@open-mpi.org
*Subject:* [OMPI users] OpenMpi 1.1 and Torque 2.1.1

I'm having trouble getting OpenMPI to execute jobs when submitting through
Torque.
Everything works fine if I am to use the included mpirun scripts, but this
is obviously
not a good solution for the general users on the cluster.

I'm running under OS X 10.4, Darwin 8.6.0.  I configured OpenMpi with:
export CC=/opt/ibmcmp/vac/6.0/bin/xlc
export CXX=/opt/ibmcmp/vacpp/6.0/bin/xlc++
export FC=/opt/ibmcmp/xlf/8.1/bin/xlf90_r
export F77=/opt/ibmcmp/xlf/8.1/bin/xlf_r
export LDFLAGS=-lSystemStubs
export LIBTOOL=glibtool

PREFIX=/usr/local/ompi-xl

./configure \
--prefix=$PREFIX \
--with-tm=/usr/local/pbs/ \
--with-gm=/opt/gm \
--enable-static \
--disable-cxx

I also had to employ the fix listed in:
http://www.open-mpi.org/community/lists/users/2006/04/1007.php


I've attached the output of ompi_info while in an interactive job.
Looking through the list,
I can at least save a bit of trouble by listing what does work.  Anything
outside of Torque
seems fine.  From within an interactive job, pbsdsh works fine, hence the
earlier problems
with poll are fixed.

Here is the error that is reported when I attemt to run hostname on one
processor:
node96:/usr/src/openmpi-1.1 jbronder$ /usr/local/ompi-xl/bin/mpirun -np 1
-mca pls_tm_debug 1 /bin/hostname
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: final top-level argv:
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: orted
--no-daemonize --bootproxy 1 --name  --num_procs 2 --vpid_start 0
--nodename  --universe 
jbron...@node96.meldrew.clusters.umaine.edu:default-universe
--nsreplica "0.0.0;tcp://10.0.1.96:49395" --gprreplica "0.0.0
;tcp://10.0.1.96:49395"
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: Set
prefix:/usr/local/ompi-xl
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: launching on node
localhost
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: resetting PATH:
/usr/local/ompi-xl/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/pbs/bin:/usr/local/mpiexec/bin:/opt/ibmcmp/xlf/8.1/bin:/opt/ibmcmp/vac/6.0/bin:/opt/ibmcmp/vacpp/6.0/bin:/opt/gm/bin:/opt/fms/bin
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: found
/usr/local/ompi-xl/bin/orted
[node96.meldrew.clusters.umaine.edu:00850] pls:tm: not oversubscribed --
setting mpi_yiel

Re: [OMPI users] error messages for btl components that aren't loaded

2006-06-30 Thread Patrick Jessee

Jeff,

Thanks for the reply and your attention to this.


Can you -- and anyone else in
similar circumstances -- let me know how common this scenario is?


I think this depends on the environment.  For us and many other ISVs, it 
is very common.  The build host is almost always physically different 
than the target systems, and the target systems usually only have a 
subset of the network hardware for which the application was originally 
configured (and may have drivers installed in different places).  The 
application will be configured for all possible interconnects.  On the 
individual target systems (each with possibly different interconnect 
types), the specific interconnect will be selected either by user input 
or by auto-detection.  Thus, we would build for mx, gm, mvapi, openib, 
tcp, sm, ...; however, some systems may have only mx or only mvapi or 
neither.


The MCA of OpenMPI seems like it is very well suited for such a 
development environment because certain components can be selectively 
activated at run-time depending on the system.  Your idea of applying 
the filter earlier and only opening the desired modules sounds like an 
excellent approach.


Thanks for considering the issue.   Please let me know if I can provide 
any more information.


-Patrick


Jeff Squyres (jsquyres) wrote:


This is due to the way the OMPI finds and loads modules.  What actually
happens is that OMPI looks for *all* modules of a given type and
dlopen's them.  It then applies the filter of which components are
desired and dlclose's all the undesired ones.  It certainly would be
better to apply the filter earlier and only open the desired modules.

We actually identified this behavior quite a while ago, but never put a
high priority on fixing it because we didn't think it would be much of
an issue (because most people build/run in homogeneous environments).
But pending resource availability, I agree that this behavior is
sub-optimal and should be fixed.  I'll enter this issue on the bug
tracker so that we don't forget about it.  Can you -- and anyone else in
similar circumstances -- let me know how common this scenario is?

There is one workaround, however.  The MCA parameter
mca_component_show_load_errors defaults to a "1" value.  When it's 1,
all warnings regarding the loading of components are displayed (i.e.,
the messages you're seeing).  Setting this value to 0 will disable the
messages.  However, you won't see *any* messages about components not
loading.  For example, if you have components that you think should be
loading but are not, you won't be notified. 


That being said, these messages are not usually a concern for end-users,
however -- they are typically more useful for the OMPI developers.  For
example, if a developer accidentally does something to make a plugin
un-loadable (e.g., leaves a symbol out), having these messages displayed
at mpirun time can be *very* useful.  Plugins that are shipped in a
tarball hopefully do not suffer from such issues :-), and usually have
rpath information compiled in them so even LD_LIBRARY_PATH issues
shouldn't be much of a problem.


 


-Original Message-
From: users-boun...@open-mpi.org 
[mailto:users-boun...@open-mpi.org] On Behalf Of Patrick Jessee

Sent: Wednesday, June 28, 2006 5:18 PM
To: Open MPI Users
Subject: [OMPI users] error messages for btl components that 
aren't loaded



Hello. I'm getting some odd error messages in certain situations 
associated with the btl components (happens with both 1.0.2 
and 1.1).  
When certain btl components are NOT loaded, openMPI issues error 
messages associated with those very components.  For 
instance, consider 
an application that is built with an openMPI installation that was 
configured with mvapi and mx (in addition to tcp,sm,self).   If that 
application is taken to a system that does not have mvapi and mx 
interconnects installed and is explicitly started for TCP by using 
"--mca btl self,tcp,sm", then the following comes  from openMPI:


[devi01:01659] mca: base: component_find: unable to open: libvapi.so: 
cannot open shared object file: No such file or directory (ignored)
[devi01:01659] mca: base: component_find: unable to open: libvapi.so: 
cannot open shared object file: No such file or directory (ignored)
[devi01:01659] mca: base: component_find: unable to open: 
libmyriexpress.so: cannot open shared object file: No such file or 
directory (ignored)
[devi02:31845] mca: base: component_find: unable to open: libvapi.so: 
cannot open shared object file: No such file or directory (ignored)
[devi02:31845] mca: base: component_find: unable to open: libvapi.so: 
cannot open shared object file: No such file or directory (ignored)
[devi02:31845] mca: base: component_find: unable to open: 
libmyriexpress.so: cannot open shared object file: No such file or 
directory (ignored)


These are not fatal, but they definitely give the wrong 
impression that 
something is not right.  The "--mca btl self,tcp,sm" op

Re: [OMPI users] MPI_Bcast/MPI_Finalize hang with Open MPI 1.1

2006-06-30 Thread Doug Gregor


On Jun 29, 2006, at 11:16 PM, Graham E Fagg wrote:

On Thu, 29 Jun 2006, Doug Gregor wrote:


When I use algorithm 6, I get:

[odin003.cs.indiana.edu:14174] *** An error occurred in MPI_Bcast
[odin005.cs.indiana.edu:10510] *** An error occurred in MPI_Bcast
Broadcasting integers from root 0...[odin004.cs.indiana.edu:11752]
*** An error occurred in MPI_Bcast


ops.. my mistake!.. only 0-5 are valid for bcast I have to change  
the error message:

[reliant:06935] coll:tuned:bcast_intra_do_forced algorithm 6
[reliant:06935] coll:tuned:bcast_intra_do_forced attempt to select  
algorithm 6 when only 0-6 is valid?


I'm still trying to find out why it hangs.. let you know as soon as  
I find anything but right now I am testing using TCP.


FWIW, I was able to reproduce the problem with both tcp and mvapi.

Can you let me know the exact path and LD_LIBRARY_PATH your using  
on odin?


PATH=/san/mpi/openmpi-1.1-gcc/bin:/u/dgregor/bin:/usr/kerberos/bin:/ 
usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/san/intel/cc/9.0/bin:/san/ 
intel/fc/9.0/bin:/san/intel/idb/9.0/bin:/san/pathscale/bin:/usr/local/ 
sched/slurm/bin


LD_LIBRARY_PATH=/san/mpi/openmpi-1.1-gcc/lib:/san/intel/cc/9.0/lib:


Doug


[OMPI users] Datatype bug regression from Open MPI 1.0.2 to Open MPI 1.1

2006-06-30 Thread Yvan Fournier
Hello,

I had encountered a bug in Open MPI 1.0.1 using indexed datatypes
with MPI_Recv (which seems to be of the "off by one" sort), which
was corrected in Open MPI 1.0.2.

It seems to have resurfaced in Open MPI 1.1 (I encountered it using
different data and did not recognize it immediately, but it seems
it can reproduced using the same simplified test I had sent
the first time, which I re-attach here just in case).

Here is a summary of the case:

--

Each processor reads a file ("data_p0" or "data_p1") giving a list of
global element ids. Some elements (vertices from a partitionned mesh)
may belong to both processors, so their id's may appear on both
processors: we have 7178 global vertices, 3654 and 3688 of them being
known by ranks 0 and 1 respectively.

In this simplified version, we assign coordinates {x, y, z} to each
vertex equal to it's global id number for rank 1, and the negative of
that for rank 0 (assigning the same values to x, y, and z). After
finishing the "ordered gather", rank 0 prints the global id and
coordinates of each vertex.

lines should print (for example) as:
  6456 ;   6455.0   6455.0   6456.0
  6457 ;  -6457.0  -6457.0  -6457.0
depending on whether a vertex belongs only to rank 0 (negative
coordinates) or belongs to rank 1 (positive coordinates).

With the OMPI 1.0.1 bug (observed on Suse Linux 10.0 with gcc 4.0 and on
Debian sarge with gcc 3.4), we have for example for the last vertices:
  7176 ;   7175.0   7175.0   7176.0
  7177 ;   7176.0   7176.0   7177.0
seeming to indicate an "off by one" type bug in datatype handling

Not using an indexed datatype (i.e. not defining USE_INDEXED_DATATYPE
in the gather_test.c file), the bug dissapears.

--

Best regards,

Yvan Fournier



ompi_datatype_bug.tar.gz
Description: application/compressed-tar


Re: [OMPI users] Testing one-sided message passing with 1.1

2006-06-30 Thread Brian Barrett

On Jun 29, 2006, at 5:23 PM, Tom Rosmond wrote:

I am testing the one-sided message passing (mpi_put, mpi_get) that  
is now supported in the 1.1 release.  It seems to work OK for some  
simple test codes, but when I run my big application, it fails.   
This application is a large weather model that runs operationally  
on the SGI Origin 3000, using the native one-sided message passing  
that has been supported on that system for many years.  At least on  
that architecture, the code always runs correctly for processor  
numbers up to 480.  On the O3K a requirement for the one-sided  
communication to work correctly is to use 'mpi_win_create' to  
define the RMA 'windows' in symmetric locations on all processors,  
i.e. the same 'place' in memory on each processor.  This can be   
done with static memory, i.e. , in common; or on the 'symmetric  
heap', which is defined via environment variables.  In my  
application the latter method is used.  I define several of these  
'windows' on the symmetric heap, each with a unique handle.


Before I spend my time trying to diagnose this problem further, I  
need as much information about the OpenMPI one-sided implementation  
as available.  Do you have a similar requirement or criteria for  
symmetric memory for the RMA windows?  Are there runtime parameters  
that I should be using that are unique to one-sided message passing  
with OpenMPI?  Any other information will certainly be appreciated.


There are no requirements on the one-sided windows in terms of buffer  
pointers.  Our current implementation is over point-to-point so it's  
kinda slow compared to real one-sided implementations, but has the  
advantage of working with arbitrary window locations.


There is only two parameters to tweak in the current implementation:

  osc_pt2pt_eager_send: If this is 1, we try to start progressing  
the put/get
 before the synchronization point.  The default is 0.  This is  
not well

 tested, so I recommend leaving it 0.  It's safer at this point.

  osc_pt2pt_fence_sync_method: This one might be worth playing with,  
but I
 doubt it could cause your problems.  This is the collective we  
use to
 implement MPI_FENCE.  Options are reduce_scatter (default),  
allreduce,
 alltoall.  Again, I doubt it will make any difference, but  
would be

 interesting to confirm that.

You can set the parameters at mpirun time:

mpirun -np XX -mca osc_pt2pt_fence_sync_method reduce_scatter ./ 
test_code


Our one-sided implementation has not been as well tested as the rest  
of the code (as this is our first release with one-sided support).   
If you can share any details on your application or, better yet, a  
test case, we'd appreciate it.


There is one known issue with the implementation.  It does not  
support using MPI_ACCUMULATE with user-defined datatypes, even if  
they are entirely composed of one predefined datatype.  We plan on  
fixing this in the near future, and an error message will be printed  
if this situation occurs.



Brian

--
  Brian Barrett
  Open MPI developer
  http://www.open-mpi.org/