On Fri, 21 May 2004, Marcelo Barreiro wrote:
> I have compiled version 7.0.6 of lam-mpi on RH linux. I had to use
> different vendors for C and fortran compilers: I used cc and c++, and
> pgf90. I know that it is preferible not to do so, but my fortran
> programs are in pgf90 and I do not have the C compilers from PGI.
Hmm. This sounds dubious; I have never tried this combination, but I'm
not 100% sure that it will work. I'm not saying that it *definitely
won't* work; I'm just saying that I've never tested that. How's that for
weasel-wording? ;-)
> The examples that come with the distribution run OK. I run hello, pi and
> trivial.
Ok, good.
Can you run the fortran versions of these as well? Perhaps the fortran
ring program? If you can run these, then the combination (gcc/g++/pgf90)
should be ok.
> The result of 'mpif77 -showme' is
>
> pgf90 -I/home/mrb/bin/lam7_bin/include -L/home/mrb/bin/lam7_bin/lib
> -llammpio -llamf77mpi -lmpi -llam -lutil -lpthread
>
> and of 'laminfo' is
>
> LAM/MPI: 7.0.6
> Prefix: /home/mrb/bin/lam7_bin
>
> When I run my program (in pgf90) I get the following error, and the
> program stops:
>
> 0: init_descriptor: invalid target descriptor
> [snipped]
Note that this is the real error -- LAM's lengthy message after this is
simply telling you that at least one process died before executing or
completing MPI_INIT.
> I have seen in the mailing list that many other people have had the same
> error message, but it is not clear to me what the cause can be. There
> was no lam installed in the machine before I installed version 7.0.6.
I actually searched through the archives and didn't see anyone else
reporting this error message before. :-\
I unfortunately do not have a lot of F90 experience -- I'm not sure if
this is an f90 problem or not, but it kinda looks like it. Can you run
your program as a singleton? i.e., something like:
lamboot
./my_program
I realize that it may not do anything useful with just one process, but
you eliminate a bunch of troubleshooting variables by just running it
serially (vs. through mpirun and the lamd's).
Does your program do anything significant before MPI_INIT? This is where
you might start looking -- see if something is failing (potentially
unrelated to MPI) before MPI_INIT has a chance to execute. This is all
assuming that you can run the fortran MPI examples properly (hello, ring,
etc.).
--
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/
|