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/
|