LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2005-01-05 11:00:09


On Dec 31, 2004, at 12:57 PM, Stephen Scott wrote:

> (1) I want to test and debug an MPI program on a single CPU machine.
> From what I have read this should be possible.

Sorry for the delay; apparently a bunch of mails slipped by me in the
holiday rush!

Yes, this should be fine to do.

> (2) I am using the Intel Fortran compiler under Linux (RedHat WS). I
> initially installed both the Intel Fortran and and Intel C++ compilers
> and then reinstalled the latest version of LAM. This appears to have
> worked and simple MPI hello world programs run without problem. I
> invoke using the following command:
>
> $ mpirun -np 4 hello_world

Good.

> Now onto the problem....
>
> I am using the MPI_CART_CREATE routine to create my Cartesian (3D)
> co-ordinate system. However, this fails at run time if I specify a
> co-ordinate system that requires more than 1 process. The manner of
> failure varies:
>
> (a) If for example my co-ordinate system requires 8 (2*2*2) processes
> and I invoke with less than 8 processes (mpirun -np 7 my_prog) the
> program exits with the following error:
>
> MPI_Cart_create: invalid dimension argument: Invalid argument (rank
> 0, MPI_COMM_WORLD)
> [snip]
>
> (b) If I take the same example and invoke with the correct number of
> processes (mpirun -np 8 my_prog) then the program 'hangs' at the point
> where it attempts to create the Cartesian co-ordinate system.
>
> (c) If I specify the co-ordinate system requires only a single process
> and run with a single process there appears to be no problem (although
> it defeats the point)

Can you send a representative code snipit of what is blocking?
MPI_CART_CREATE does no care how many physical processors you have.

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/