LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Brian Barrett (brbarret_at_[hidden])
Date: 2005-12-01 15:04:37


On Nov 28, 2005, at 10:46 PM, Qing BAO wrote:

> Thanks for the response!
>
> I just found the buger. So far, I can run the model without login
> node.
>
> My problem:
>
> CALL MPI_ATTR_GET (p_all_comm, MPI_IO, iope, liope, p_error)
>
> when I use ' mpirun c0-3 my_program' , after invoking MPI_ATTR_GET,
> 'iope' is 0. However, when I use 'c3-6' , 'iope' is -2. 'iope' is
> supposed as the I/O rank. I have to force 'iope = 0' , then it works.
> Could anybody tell me the reason why there is different result
> after invoking MPI_ATTR_GET ?

According to MPI-1, 7.1.1, MPI_IO contains the rank of the processor
that can provide language-standard I/O. If no rank can provide I/O,
then MPI_PROC_NULL (which is -2) is returned. LAM can only provide
standard in support on rank 0 when rank 0 is on the same host as
mpirun. We interpret "language-standard I/O" to be a bit stricter
than we probably should and return MPI_PROC_NULL if no process can
provide standard input support. In LAM, all processes can always
perform output to either standard out or standard error.

Brian

-- 
   Brian Barrett
   LAM/MPI developer and all around nice guy
   Have a LAM/MPI day: http://www.lam-mpi.org/