Re: [OMPI users] Displaying Selected MCA Modules

2008-06-21 Thread Jeff Squyres

On Jun 20, 2008, at 3:50 PM, Joshua Bernstein wrote:

No, we don't have an easy way to show which plugins were loaded and  
may/will be used during the run.  The modules you found below in -- 
display-map are only a few of the plugins (all dealing with the run- 
time environment, and only used on the back-end nodes, so it may  
not be what you're looking for -- e.g., it doesn't show the plugins  
used by mpirun).

What do you need to know?


Well basically I want to know what MTA's are being used to startup a  
job.


MTA?

I'm confused as to what the difference is between "used by mpirun"  
versus user on the back-end nodes. Doesn't --display-map show which  
MTA modules will used to start the backend processes?


Yes.  But OMPI's run-time design usually has mpirun load one plugin of  
a given type, and then have the MPI processes load another plugin of  
the same type.  For example, for I/O forwarding - mpirun will load the  
"svc" plugin, while MPI processes will load the "proxy" plugin.  In  
this case, mpirun is actually providing all the smarts for I/O  
forwarding, and all the MPI processes simply proxy requests up to  
mpirun.  This is a common model throughout our run-time support, for  
example.


The overarching issue is that I'm attempting to just begin testing  
my build and when I attempt to startup a job, it just hangs:


[ats@nt147 ~]$ mpirun --mca pls rsh -np 1 ./cpi
[nt147.penguincomputing.com:04640] [0,0,0] ORTE_ERROR_LOG: Not  
available in file ras_bjs.c at line 247


The same thing happens if I just disable the bjs RAS MTA, since bjs,  
really isn't used with Scyld anymore:


[ats@nt147 ~]$ mpirun --mca ras ^bjs --mca pls rsh -np 1 ./cpi



I know very, very little about the bproc support in OMPI -- I know  
that it evolved over time and is disappearing in v1.3 due to lack of  
interest.  If you want it to stay, I think you've missed the v1.3 boat  
(we're in feature freeze for v1.3), but possibilities exist for future  
versions if you're willing to get involved in Open MPI.


The interesting thing here is that orted starts up, but I'm not sure  
what is supposed to happen next:


[root@nt147 ~]# ps -auxwww | grep orte
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/ 
procps-3.2.3/FAQ
ats   4647  0.0  0.0 48204 2136 ?Ss   12:45   0:00 orted  
--bootproxy 1 --name 0.0.1 --num_procs 2 --vpid_start 0 --nodename  
nt147.penguincomputing.com --universe  
a...@nt147.penguincomputing.com:default-universe-4645 --nsreplica  
"0.0.0;tcp://192.168.5.211:59110;tcp://10.10.10.1:59110;tcp:// 
10.11.10.1:59110" --gprreplica "0.0.0;tcp:// 
192.168.5.211:59110;tcp://10.10.10.1:59110;tcp://10.11.10.1:59110" -- 
set-sid


I'm not sure that just asking for the rsh pls is the Right thing to do  
-- I'll have to defer to Ralph on this one...


Can you successfully run non-MPI apps, like hostname?

Finally, it should be noted that the upcoming release of Scyld will  
now include OpenMPI. This notion is how all of this got started.



Great!  It sounds like you need to get involved, though, to preserve  
bproc support going forward.  LANL was the only proponent of bproc- 
like support; they have been moving away from bproc-like clusters,  
however, and so support faded.  We made the decision to axe bproc  
support in v1.3 because there was no one to maintain it.  :-(


--
Jeff Squyres
Cisco Systems



Re: [OMPI users] parallel AMBER & PBS issue

2008-06-21 Thread Jeff Squyres
Sorry for the delay in replying -- I was on vacation for a week and  
all the mail piled up...


That is a very weird stack trace.  Is the application finishing and  
then crashing during the shutdown?


I'd be surprised if the problem is actually related to PBS (the stack  
trace would be quite different).  I wonder if the real problem was  
that it only started one process, and Amber was unable to handle that  
nicely...?


Are you sure that you have PBS support compiled in Open MPI properly?   
Check ompi_info | grep tm.  You should see a line like this:


 MCA pls: tm (MCA v1.0, API v1.0.1, Component v1.2.6)

If you don't see a "pls: tm" line, then your OMPI was not configured  
with PBS support, and mpiexec may have only started one copy of  
Amber...?


As for trying to use a hostfile, I think the real errors are here:


Host key verification failed.
Host key verification failed.


It seems that you ssh is not setup properly...?



On Jun 12, 2008, at 11:52 AM, Arturas Ziemys wrote:


Hi,

We have Xeon dual cpu cluster on redhat. I have compiled openMPI 1.2.6
with g95 and AMBER (scientific program doing parallel molecular
simulations; Fortran 77&90). Both compilation seems to be fine.  
However,

AMBER runs from command prompt "mpiexec -np x " successfully,
but using PBS batch system fails to run in parallel and runs only  
using

single CPU. I get errors like:

[Morpheus06:02155] *** Process received signal ***
[Morpheus06:02155] Signal: Segmentation fault (11)
[Morpheus06:02155] Signal code: Address not mapped (1)
[Morpheus06:02155] Failing at address: 0x3900
[Morpheus06:02155] [ 0] /lib/tls/libpthread.so.0 [0x401ad610]
[Morpheus06:02155] [ 1] /lib/tls/libc.so.6 [0x420eb85e]
[Morpheus06:02155] [ 2] /lib/tls/libc.so.6(__cxa_finalize+0x7e)
[0x42029eae]
[Morpheus06:02155] [ 3] /home/aziemys/bin/openmpi/lib/libmpi_f90.so.0
[0x40018325]
[Morpheus06:02155] [ 4] /home/aziemys/bin/openmpi/lib/libmpi_f90.so.0
[0x400190f6]
[Morpheus06:02155] [ 5] /lib/ld-linux.so.2 [0x4000c894]
[Morpheus06:02155] [ 6] /lib/tls/libc.so.6(exit+0x70) [0x42029c20]
[Morpheus06:02155] [ 7] /home/aziemys/bin/amber9/exe/sander.MPI  
[0x82beb63]

[Morpheus06:02155] [ 8]
/home/aziemys/bin/amber9/exe/sander.MPI(_g95_exit_4+0x2c) [0x82bd648]
[Morpheus06:02155] [ 9]
/home/aziemys/bin/amber9/exe/sander.MPI(mexit_+0x9f) [0x817cd03]
[Morpheus06:02155] [10]
/home/aziemys/bin/amber9/exe/sander.MPI(MAIN_+0x3639) [0x80e8e51]
[Morpheus06:02155] [11]
/home/aziemys/bin/amber9/exe/sander.MPI(main+0x2d) [0x82bb471]
[Morpheus06:02155] [12] /lib/tls/libc.so.6(__libc_start_main+0xe4)
[0x42015574]
[Morpheus06:02155] [13]
/home/aziemys/bin/amber9/exe/sander.MPI(sinh+0x49) [0x80697a1]
[Morpheus06:02155] *** End of error message ***
mpiexec noticed that job rank 0 with PID 2150 on node Morpheus06  
exited

on signal 11 (Segmentation fault).
5 additional processes aborted (not shown)

If I decide to supply machine file ($PBS_NODEFILE), it fails with :

Host key verification failed.
Host key verification failed.
[Morpheus06:02107] ERROR: A daemon on node Morpheus09 failed to  
start as

expected.
[Morpheus06:02107] ERROR: There may be more information available from
[Morpheus06:02107] ERROR: the remote shell (see above).
[Morpheus06:02107] ERROR: The daemon exited unexpectedly with status  
255.

[Morpheus06:02107] [0,0,0] ORTE_ERROR_LOG: Timeout in file
base/pls_base_orted_cmds.c at line 275
[Morpheus06:02107] [0,0,0] ORTE_ERROR_LOG: Timeout in file
pls_rsh_module.c at line 1166
[Morpheus06:02107] [0,0,0] ORTE_ERROR_LOG: Timeout in file  
errmgr_hnp.c

at line 90
[Morpheus06:02107] ERROR: A daemon on node Morpheus07 failed to  
start as

expected.
[Morpheus06:02107] ERROR: There may be more information available from
[Morpheus06:02107] ERROR: the remote shell (see above).
[Morpheus06:02107] ERROR: The daemon exited unexpectedly with status  
255.

[Morpheus06:02107] [0,0,0] ORTE_ERROR_LOG: Timeout in file
base/pls_base_orted_cmds.c at line 188
[Morpheus06:02107] [0,0,0] ORTE_ERROR_LOG: Timeout in file
pls_rsh_module.c at line 1198
--
mpiexec was unable to cleanly terminate the daemons for this job.
Returned value Timeout instead of ORTE_SUCCESS.
--

Help, please.

--

Arturas Ziemys, PhD
 School of Health Information Sciences
 University of Texas Health Science Center at Houston
 7000 Fannin, Suit 880
 Houston, TX 77030
 Phone: (713) 500-3975
 Fax:   (713) 500-3929

___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users



--
Jeff Squyres
Cisco Systems



Re: [OMPI users] Problem with getting started [solved]

2008-06-21 Thread Jeff Squyres
It could also have been that you didn't have exactly matching  
installations on both machines.  Even if they were the same version,  
if they weren't configured / installed the same way on both machines,  
this could have led to problems.  Also be sure that either the MPI  
application is compatible / runnable on both systems or you have a  
separate MPI application binary for each system (e.g., to account for  
glibc and other differences between your two OS's).


Running in heterogeneous situations like that is quite difficult to  
do, and not for the meek.  :-)



On Jun 13, 2008, at 2:12 AM, Manuel Freiberger wrote:


Hello,

Well, actually I'm quite sure that it was not the firewall because I  
had to

turn it off as otherwise no connection could be established. So my
 iptables --list
returns

Chain INPUT (policy ACCEPT)
target prot opt source   destination

Chain FORWARD (policy ACCEPT)
target prot opt source   destination

Chain OUTPUT (policy ACCEPT)
target prot opt source   destination

on both machines. After reinstalling OMPI, I did not make any  
changes to the
firewall but now it works without problems. Probably installing the  
library
with exactly the same configuration (same --prefix and so on) did  
the trick.


But nonetheless, thank you very much for your hint! :-)

Best regards,
Manuel

On Thursday 12 June 2008 18:23, Rainer Keller wrote:

Hi,
are You sure it was not a Firewall issue on the Suse 10.2?
If there are any connections from the Gentoo machine trying to  
access the

orted on the Suse, check in /var/log/firewall.

For the time being, try stopping the firewall by (as root) with
/etc/init.d/SuSEfirewall2_setup stop
and test whether it works ,-]

With best regards,
Rainer

On Donnerstag, 12. Juni 2008, Manuel Freiberger wrote:

Hi!

Ok, I found the problem. I reinstallen OMPI on both PCs but this  
time

only locally in the users home directory. Now, the sample code works
perfectly. I'm not sure where the error really was located. It  
could be
that it was a problem with the Gentoo installation because OMPI is  
still

marked unstable in portage (~x86 keyword).

Best regards,
Manuel

On Wednesday 11 June 2008 18:52, Manuel Freiberger wrote:

Hello everybody!

First of all I wanted to point out that I'm beginner regarding  
openMPI
and all I try to achieve is to get a simple program working on  
two PCs.
So far I've installed openMPI 1.2.6 on two PCs (one running  
OpenSUSE

10.2, the other one Gentoo).
I set up two identical users on both systems and made sure that I  
can

make an SSH connection between them using private/public key
authentication.

Next I ran the command
 mpirun -np 2 --hostfile myhosts uptime
which gave the result
 6:41pm  up 1 day  5:16,  4 users,  load average: 0.00, 0.07, 0.17
18:43:45 up  7:36,  6 users,  load average: 0.00, 0.02, 0.05
so I concluded that MPI should work in principle.

Next I tried the following code which I copied from Boost.MPI:
 snip
#include 
#include 

int main(int argc, char* argv[])
{
 MPI_Init(&argc, &argv);
 int rank;
 MPI_Comm_rank(MPI_COMM_WORLD, &rank);
 if (rank == 0)
 {
   std::cout << "Rank 0 is going to send" << std::endl;
   int value = 17;
   int result = MPI_Send(&value, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
   if (result == MPI_SUCCESS)
 std::cout << "Rank 0 OK!" << std::endl;
 }
 else if (rank == 1)
 {
   std::cout << "Rank 1 is waiting for answer" << std::endl;
   int value;
   MPI_Status status;
   int result = MPI_Recv(&value, 1, MPI_INT, 0, 0, MPI_COMM_WORLD,
  &status);
   if (result == MPI_SUCCESS && value == 17)
 std::cout << "Rank 1 OK!" << std::endl;
 }
 MPI_Finalize();
 return 0;
}
 snap

Starting a parallel job using
 mpirun -np 2 --hostfile myhosts mpi-test
I get the answer
 Rank 0 is going to send
 Rank 1 is waiting for answer
 Rank 0 OK!
and than the program locks. So the strange thing is that  
obviously the

recv()-command is blocking, which is what I do not understand.

Could anybody provide some hints, where I should start looking  
for the

mistake? Any help is welcome!

Best regards,
Manuel


--
Manuel Freiberger
Institute of Medical Engineering
Graz University of Technology
manuel.freiber...@tugraz.at
___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users



--
Jeff Squyres
Cisco Systems



Re: [OMPI users] weird problem with passing data between nodes

2008-06-21 Thread Jeff Squyres
Yes, this does sound like the classic "assuming MPI buffering" case.   
Check out this magazine column that I wrote a long time ago about this  
topic:


http://cw.squyres.com/columns/2004-08-CW-MPI-Mechanic.pdf

It's #1 on the top 10 list of All-Time Favorite Evils to Avoid in  
Parallel.  :-)


One comment on Mattijs's email: please don't use bsend.  Bsend is  
evil.  :-)




On Jun 13, 2008, at 5:27 AM, Mattijs Janssens wrote:

Sounds like a typical deadlock situation. All processors are waiting  
for one

another.

Not a specialist but from what I know if the messages are small  
enough they'll
be offloaded to kernel/hardware and there is no deadlock. That why  
it might

work for small messages and/or certain mpi implementations.

Solutions:
- come up with a global communication schedule such that if one  
processor

sends the receiver is receiving.
- use mpi_bsend. Might be slower.
- use mpi_isend, mpi_irecv (but then you'll have to make sure the  
buffers stay

valid for the duration of the communication)

On Friday 13 June 2008 01:55, zach wrote:
I have a weird problem that shows up when i use LAM or OpenMPI but  
not

MPICH.

I have a parallelized code working on a really large matrix. It
partitions the matrix column-wise and ships them off to processors,
so, any given processor is working on a matrix with the same number  
of

rows as the original but reduced number of columns. Each processor
needs to send a single column vector entry
from its own matrix to the adjacent processor and visa versa as part
of the algorithm.

I have found that depending on the number of rows of the matrix -or,
the size of the vector being sent using MPI_Send, MPI_Recv, the
simulation will hang.
It is only until i reduce this dimension to a certain max number will
the sim run properly. I have also found that this magic number  
differs
depending on the system I am using, eg my home quad-core box or  
remote

cluster.

As i mentioned i have not had this issue with mpich. I would like to
understand why it is happening rather than just defect over to mpich
to get by.

Any help would be appreciated!
zach
___
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
Cisco Systems



Re: [OMPI users] mpirun (orte ?) not shutting down cleanly on job aborts

2008-06-21 Thread Jeff Squyres
Sorry for the delay in replying to this -- mails sometimes pile up in  
my INBOX and I don't get to reply to them all in a timely fashion.


Yes, you can expect this to be much better in the v1.3 series.  If you  
have a few cycles, you might want to test a nightly trunk tarball  
snapshot in some of your problematic cases and see if it's better.   
We've had a little instability in trunk tarballs over the last week,  
so you might want to wait until next week to give it a shot.


http://www.open-mpi.org/nightly/trunk/


On Jun 9, 2008, at 10:50 AM, Bill Johnstone wrote:


Hello OMPI devs,

I'm currently running OMPI v 1.2.4 .  It didn't seem that any bugs  
which affect me or my users were fixed in 1.2.5 and 1.2.6, so I  
haven't upgraded yet.


When I was initially getting started with OpenMPI, I had some  
problems which I was able to solve, but one still remains.  As I  
mentioned in

http://www.open-mpi.org/community/lists/users/2007/07/3716.php

when there is a non-graceful exit on any of the MPI jobs, mpirun  
hangs.  As an example, I have a code that I run which, when it has a  
trivial runtime error (e.g., some small mistake in the input file)  
dies yielding messages to the screen like:


[node1.x86-64:28556] MPI_ABORT invoked on rank 0 in communicator  
MPI_COMM_WORLD with errorcode 16


but mpirun never exits, and Ctrl+C won't kill it.  I have to resort  
to kill -9.


Now that I'm running under SLURM, this is worse because there is no  
nice way to manually clear individual jobs off the controller.  So  
even if I manually kill mpirun on the failed job, slurmctld still  
thinks its running.


Ralph Castain replied to the previously-linked message:
http://www.open-mpi.org/community/lists/users/2007/07/3718.php  
indicating that he thought he knew why this was happening and that  
it was or would likely be fixed in the trunk.


At this point, I just want to know: can I look forward to this being  
fixed in the upcoming v 1.3 series?


I don't mean that to sound ungrateful: *many thanks* to the OMPI  
devs for what you've already given the community at large.  I'm just  
a bit frustrated because we seem to run a lot of codes on our  
cluster that abort at one time or another.


Thank you.



___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users



--
Jeff Squyres
Cisco Systems



Re: [OMPI users] no reaction of remote hosts after ompi reinstall [follow up]

2008-06-21 Thread Jeff Squyres

Sorry for the delay in replying.

I'd check two things:

- Disable all firewall support between these two machines.  OMPI uses  
random TCP ports to communicate between processes; if they're blocked,  
Bad Things will happen.


- It is easiest to install OMPI in the same location on all your  
machines (e.g., /opt/openmpi).  If you do that, you might want to try  
configuring OMPI with --enable-mpirun-prefix-by-default.  In rsh/ssh  
environments, this flag will have mpirun set your PATH and  
LD_LIBRARY_PATH properly on remote nodes.


Let us know how that works out.


On Jun 10, 2008, at 8:58 AM, jody wrote:


Interestingly i can start mpirun from any of the remote machines,
running processes on other remote machines and on the local machine,.
But from the local machine i can start no process on a remote  
machine -

it just shows the behavior detailed in the previous mail.

remote1 -> remote1 ok
remote1 -> remote2 ok
remote1 -> local  ok

remote2 -> remote1 ok
remote2 -> remote2 ok
remote2 -> local  ok

local  -> local  ok
local  -> remote1 fails
local  -> remote2 fails

My remote machines are freshly updated gentoo machines (AMD),
my local machne is a freshly installed fedora 8 (Intel Quadro).
All use a freshly installed open-mpi 1.2.5.
Before my fedora machine crashed it had fedora 6,
and everything worked great (with 1.2.2 on all machines).

Does anybody have a suggestion where i should look?

Thanks
 Jody


On Tue, Jun 10, 2008 at 12:59 PM, jody  wrote:

Hi
after a crash i reinstalled open-mpi 1.2.5 on my machines,
used
./configure --prefix /opt/openmpi --enable-mpirun-prefix-by-default
and set PATH and LD_LIBRARY_PATH in .bashrc:
PATH=/opt/openmpi/bin:$PATH
export PATH
LD_LIBRARY_PATH=/opt/openmpi/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

First problem:
ssh nano_00 printenv
does not contain the correct paths (and no LD_LIBRARY_PATH at all),
but with a normal ssh-login the two are set correctly.

When i run a test application on one computer, it works.

As soon as an additional computer is involved, there is no more  
output,

and everything just hangs.

Adding the prefix doesn't change anything, even though openmpi is
installed in the same
directory (/opt/openmpi) on every computer.

The debug-daemon doesn't help very much:

$ mpirun -np 4 --hostfile testhosts --debug-daemons MPITest
Daemon [0,0,1] checking in as pid 14927 on host aim-plankton.uzh.ch

(and nothing happens anymore)

On the remote host, i see the following three processes coming up
after i do the mpirun on the local machine:
30603 ?S  0:00 sshd: jody@notty
30604 ?Ss 0:00 bash -c  PATH=/opt/openmpi/bin:$PATH ;
export PATH ; LD_LIBRARY_PATH=/opt/openmpi/lib:$LD_LIBRARY_PATH ;
export LD_LIBRARY_PATH ; /opt/openmpi/bin/orted --debug-daemons
--bootproxy 1 --name 0.0.2 --num_procs 3 --vpid_start 0 --
30605 ?S  0:00 /opt/openmpi/bin/orted --debug-daemons
--bootproxy 1 --name 0.0.2 --num_procs 3 --vpid_start 0 --nodename
nano_00 --universe j...@aim-plankton.uzh.ch:default-universe-14934
--nsreplica 0.0.0;tcp://130.60.126.111:52562 --gprrepl

So it looks as if the correct paths are set (probably the doing of
--enable-mpirun-prefix-by-default)

If i interrupt on the local machine (Ctrl-C)::

[aim-plankton:14983] [0,0,1] orted_recv_pls: received message from  
[0,0,0]
[aim-plankton:14983] [0,0,1] orted_recv_pls: received  
kill_local_procs
[aim-plankton:14983] [0,0,1] orted_recv_pls: received message from  
[0,0,0]
[aim-plankton:14983] [0,0,1] orted_recv_pls: received  
kill_local_procs

[aim-plankton:14982] [0,0,0] ORTE_ERROR_LOG: Timeout in file
base/pls_base_orted_cmds.c at line 275
[aim-plankton:14982] [0,0,0] ORTE_ERROR_LOG: Timeout in file
pls_rsh_module.c at line 1166
[aim-plankton:14982] [0,0,0] ORTE_ERROR_LOG: Timeout in file
errmgr_hnp.c at line 90
[aim-plankton:14982] ERROR: A daemon on node nano_00 failed to start
as expected.
[aim-plankton:14982] ERROR: There may be more information available  
from

[aim-plankton:14982] ERROR: the remote shell (see above).
[aim-plankton:14982] ERROR: The daemon exited unexpectedly with  
status 255.

[aim-plankton:14982] [0,0,0] ORTE_ERROR_LOG: Timeout in file
base/pls_base_orted_cmds.c at line 275
[aim-plankton:14982] [0,0,0] ORTE_ERROR_LOG: Timeout in file
pls_rsh_module.c at line 1166
--
WARNING: mpirun has exited before it received notification that all
started processes had terminated.  You should double check and ensure
that there are no runaway processes still executing.
--
[aim-plankton:14983] OOB: Connection to HNP lost

On the remote machine, the "sshd: jody@notty" process is gone, but  
the

other two stay.
I would be grateful for any suggestions!

Jody


___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cg

Re: [OMPI users] OpenIB problem: error polling HP CQ...

2008-06-21 Thread Jeff Squyres

Errr...  That's not good.  :-(

Do you have a small example that you can share that duplicates the  
problem?




On Jun 6, 2008, at 1:51 AM, Matt Hughes wrote:


2008/6/4 Jeff Squyres :

Would it be possible for you to try a trunk nightly tarball snapshot,
perchance?


I have attempted to use openmpi-1.3a1r18569.  After some pain getting
MPI_Comm_spawn to work (I will write about that in a separate
message), I was able to get my app started.  If segfaults in
btl_openib_handle_incoming() by dereferencing a null pointer:

#0  0x in ?? ()
#1  0x002a98059777 in btl_openib_handle_incoming  
(openib_btl=0xb8b900,
  ep=0xbecb70, frag=0xc8da80, byte_len=24) at btl_openib_component.c: 
2129
#2  0x002a9805b674 in handle_wc (hca=0xb80670, cq=0,  
wc=0x7fbfffdfd0)

  at btl_openib_component.c:2397
#3  0x002a9805bbef in poll_hca (hca=0xb80670, count=1)
  at btl_openib_component.c:2508
#4  0x002a9805c1ac in progress_one_hca (hca=0xb80670)
  at btl_openib_component.c:2616
#5  0x002a9805c24f in btl_openib_component_progress ()
  at btl_openib_component.c:2641
#6  0x002a97f42308 in mca_bml_r2_progress () at bml_r2.c:93
#7  0x002a95a44c2c in opal_progress () at runtime/ 
opal_progress.c:187
#8  0x002a97d1f10c in opal_condition_wait (c=0x2a958b8b40,  
m=0x2a958b8bc0)

  at ../../../../opal/threads/condition.h:100
#9  0x002a97d1ef88 in ompi_request_wait_completion (req=0xbdfc80)
  at ../../../../ompi/request/request.h:381
#10 0x002a97d1ee64 in mca_pml_ob1_recv (addr=0xc52d14, count=1,
  datatype=0x2a958abe60, src=1, tag=-19, comm=0xbe0cf0, status=0x0)
  at pml_ob1_irecv.c:104
#11 0x002a98c1b182 in ompi_coll_tuned_gather_intra_basic_linear (
  sbuf=0x7fbfffe984, scount=1, sdtype=0x2a958abe60, rbuf=0xc52d10,
  rcount=1, rdtype=0x2a958abe60, root=0, comm=0xbe0cf0,  
module=0xda00e0)

  at coll_tuned_gather.c:408
#12 0x002a98c07fc1 in ompi_coll_tuned_gather_intra_dec_fixed (
  sbuf=0x7fbfffe984, scount=1, sdtype=0x2a958abe60, rbuf=0xc52d10,
  rcount=1, rdtype=0x2a958abe60, root=0, comm=0xbe0cf0,  
module=0xda00e0)

  at coll_tuned_decision_fixed.c:723
#13 0x002a95715f0f in PMPI_Gather (sendbuf=0x7fbfffe984,  
sendcount=1,

  sendtype=0x2a958abe60, recvbuf=0xc52d10, recvcount=1,
  recvtype=0x2a958abe60, root=0, comm=0xbe0cf0) at pgather.c:141

This same build works fine with the TCP component and at least doesn't
crash with 1.2.6.  The only thing that may be unusual about my build
of openmpi 1.3 is that it is configured with --without-memory-manager
(it seems to cause crashes in another library I use).  I tried
rebuilding, omitting --without-memory-manager, but it failed in the
same way.

mch





On May 29, 2008, at 3:50 AM, Matt Hughes wrote:


I have a program which uses MPI::Comm::Spawn to start processes on
compute nodes (c0-0, c0-1, etc).  The communication between the
compute nodes consists of ISend and IRecv pairs, while communication
between the compute nodes consists of gather and bcast operations.
After executing ~80 successful loops (gather/bcast pairs), I get  
this

error message from the head node process during a gather call:

[0,1,0][btl_openib_component.c:1332:btl_openib_component_progress]
from headnode.local to: c0-0 error polling HP CQ with status WORK
REQUEST FLUSHED ERROR status number 5 for wr_id 18504944 opcode 1

The relevant environment variables:
OMPI_MCA_btl_openib_rd_num=128
OMPI_MCA_btl_openib_verbose=1
OMPI_MCA_btl_base_verbose=1
OMPI_MCA_btl_openib_rd_low=75
OMPI_MCA_btl_base_debug=1
OMPI_MCA_btl_openib_warn_no_hca_params_found=0
OMPI_MCA_btl_openib_warn_default_gid_prefix=0
OMPI_MCA_btl=self,openib

If rd_low and rd_num are left at their default values, the program
simply hangs in the gather call after about 20 iterations (a gather
and a bcast).

Can anyone shed any light on what this error message means or what
might be done about it?

Thanks,
mch
___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users



--
Jeff Squyres
Cisco Systems

___
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
Cisco Systems



Re: [OMPI users] Displaying Selected MCA Modules

2008-06-21 Thread Ralph Castain
Hmmmthis email thread was forwarded to me by a friendly elf, so be sure
to include me directly in any reply. As the person who wrote a lot of the
bproc support, I'll try to catch up on it over the next couple of days.

One thing to correct right away, though. The --display-map function actually
doesn't tell you what modules are going to be used to run the job. The
values you show below are the MCA params being passed to the application
procs, which have nothing to do with how those procs are being launched!

In fact, in 1.2, we hard-code the "proxy" components solely to turn "off"
any attempt by a local proc to mistakenly choose a "real" component for
those frameworks. The "proxy" just tells them to send a message to mpirun if
they actually need to use any of those frameworks.

In a bproc world, NONE of those frameworks are used by the procs, and the
procs never call any of them.

I'm not sure that 1.2 provides a mechanism for reliably reporting what every
framework selected.

Ralph


On 6/19/08 5:00 PM, "Joshua Bernstein" 
wrote:

> Well to answer my own question,
> 
> If I use the -display-map option, I get printed out a nice bit of
> information that includes a list of the modules in use during the run
> as shown below:
> 
> ---SNIP---
> Argv[0]: ./cpi
> Env[0]: OMPI_MCA_pls=proxy
> Env[1]: OMPI_MCA_rmaps_base_display_map=1
> Env[2]:
> OMPI_MCA_orte_precondition_transports=ad81e32181314110-4aea4dd5040c2593
> Env[3]: OMPI_MCA_rds=proxy
> Env[4]: OMPI_MCA_ras=proxy
> Env[5]: OMPI_MCA_rmaps=proxy
> Env[6]: OMPI_MCA_rmgr=proxy
> Working dir: /home/ats (user: 0)
> ---END SNIP--
> 
> -Josh
> 
> Joshua Bernstein wrote:
>> Hi There,
>>I'm attempting to debug some configuration issue with the recent
>> version of OMPI, version 1.2.6. I'm able to build all of the MCA
>> modules, and I've figured out how to display the list of AVAILABLE
>> modules using ompi_info, but is there a way to display the list of
>> modules that was selected at runtime? I've tried the -v option to
>> mpirun, and read through the FAQs, but I can't seem to figure out
>> how to  have OMPI display the selected MCAs when a job starts. Any
>> help or guidance would be appreciated.
>> -Josh
>> ___
>> 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] Displaying Selected MCA Modules

2008-06-21 Thread Ralph Castain
Hi Joshua

Again, forwarded by the friendly elf - so include me directly in any reply.

I gather from Jeff that you are attempting to do something with bproc -
true? If so, I will echo what Jeff said: bproc support in OMPI is being
dropped with the 1.3 release due to lack of interest/support. Just a "heads
up".

If you are operating in a bproc environment, then I'm not sure why you are
specifying that the system use the rsh launcher. Bproc requires some very
special handling which is only present in the bproc launcher. You can run
both MPI and non-MPI apps with it, but bproc is weird and so OMPI some
-very- different logic in it to make it all work.

I suspect the problem you are having is that all of the frameworks are
detecting bproc and trying to run accordingly. This means that the orted is
executing process startup procedures for bproc - which are totally different
than for any other environment (e.g., rsh). If mpirun is attempting to
execute an rsh launch, and the orted is expecting a bproc launch, then I can
guarantee that no processes will be launched and you will hang.

I'm not sure there is a way in 1.2 to tell the orteds to ignore the fact
that they see bproc and do something else. I can look, but would rather wait
to hear if that is truly what you are trying to do, and why.

Ralph


On 6/21/08 5:10 AM, "Jeff Squyres"  wrote:

> On Jun 20, 2008, at 3:50 PM, Joshua Bernstein wrote:
> 
>>> No, we don't have an easy way to show which plugins were loaded and
>>> may/will be used during the run.  The modules you found below in --
>>> display-map are only a few of the plugins (all dealing with the run-
>>> time environment, and only used on the back-end nodes, so it may
>>> not be what you're looking for -- e.g., it doesn't show the plugins
>>> used by mpirun).
>>> What do you need to know?
>> 
>> Well basically I want to know what MTA's are being used to startup a
>> job.
> 
> MTA?
> 
>> I'm confused as to what the difference is between "used by mpirun"
>> versus user on the back-end nodes. Doesn't --display-map show which
>> MTA modules will used to start the backend processes?
> 
> Yes.  But OMPI's run-time design usually has mpirun load one plugin of
> a given type, and then have the MPI processes load another plugin of
> the same type.  For example, for I/O forwarding - mpirun will load the
> "svc" plugin, while MPI processes will load the "proxy" plugin.  In
> this case, mpirun is actually providing all the smarts for I/O
> forwarding, and all the MPI processes simply proxy requests up to
> mpirun.  This is a common model throughout our run-time support, for
> example.
> 
>> The overarching issue is that I'm attempting to just begin testing
>> my build and when I attempt to startup a job, it just hangs:
>> 
>> [ats@nt147 ~]$ mpirun --mca pls rsh -np 1 ./cpi
>> [nt147.penguincomputing.com:04640] [0,0,0] ORTE_ERROR_LOG: Not
>> available in file ras_bjs.c at line 247
>> 
>> The same thing happens if I just disable the bjs RAS MTA, since bjs,
>> really isn't used with Scyld anymore:
>> 
>> [ats@nt147 ~]$ mpirun --mca ras ^bjs --mca pls rsh -np 1 ./cpi
>> 
> 
> I know very, very little about the bproc support in OMPI -- I know
> that it evolved over time and is disappearing in v1.3 due to lack of
> interest.  If you want it to stay, I think you've missed the v1.3 boat
> (we're in feature freeze for v1.3), but possibilities exist for future
> versions if you're willing to get involved in Open MPI.
> 
>> The interesting thing here is that orted starts up, but I'm not sure
>> what is supposed to happen next:
>> 
>> [root@nt147 ~]# ps -auxwww | grep orte
>> Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/
>> procps-3.2.3/FAQ
>> ats   4647  0.0  0.0 48204 2136 ?Ss   12:45   0:00 orted
>> --bootproxy 1 --name 0.0.1 --num_procs 2 --vpid_start 0 --nodename
>> nt147.penguincomputing.com --universe
>> a...@nt147.penguincomputing.com:default-universe-4645 --nsreplica
>> "0.0.0;tcp://192.168.5.211:59110;tcp://10.10.10.1:59110;tcp://
>> 10.11.10.1:59110" --gprreplica "0.0.0;tcp://
>> 192.168.5.211:59110;tcp://10.10.10.1:59110;tcp://10.11.10.1:59110" --
>> set-sid
> 
> I'm not sure that just asking for the rsh pls is the Right thing to do
> -- I'll have to defer to Ralph on this one...
> 
> Can you successfully run non-MPI apps, like hostname?
> 
>> Finally, it should be noted that the upcoming release of Scyld will
>> now include OpenMPI. This notion is how all of this got started.
> 
> 
> Great!  It sounds like you need to get involved, though, to preserve
> bproc support going forward.  LANL was the only proponent of bproc-
> like support; they have been moving away from bproc-like clusters,
> however, and so support faded.  We made the decision to axe bproc
> support in v1.3 because there was no one to maintain it.  :-(