On Feb 15, 2007, at 5:43 PM, Steven A. DuChene wrote:

I am trying to do some simple fortran MPI examples to verify I have a good installation of OpenMPI and I have a distributed program that calculates PI. It seems to compile and work fine with 1.1.4 but whan I compile and run the same program with 1.2b3
I get a bunch of the same ORTE errors and then my shell is locked up:

[node001:30268] [0,0,0] ORTE_ERROR_LOG: Data unpack had inadequate space in file dss/dss_unpack.c at line 90 [node001:30268] [0,0,0] ORTE_ERROR_LOG: Data unpack had inadequate space in file gpr_replica_cmd_processor.c at line 361

I then do a Ctrl-C and it tells me "mpirun: killing job..." but my shell never comes back.

We had some problems with this in 1.2b3. I honestly don't remember if we fixed them by 1.2b4 or not -- could you try a recent 1.2 nightly snapshot? they should be fixed there:

    http://www.open-mpi.org/nightly/v1.2/

I do get the following compile time warnings when I build the simple app with either 1.1.4 or 1.2b3:

mpif90  -c -I/opt/openmpi/1.1.4/include    pi.f
In file pi.f:73

      call mpi_reduce(times(1), total, 1, mpi_real,
                      1
In file pi.f:67

      call mpi_reduce(piece, pi, 1, mpi_double_precision,
                      2
Warning (155): Inconsistent types (REAL(4)/REAL(8)) in actual argument lists at (1) and (2)
mpif90 -o pi pi.o f.o -L /opt/openmpi/1.1.4/lib -lmpi

I'm not a Fortran expert, but I think that this is the f90 compiling telling you that you have inconsistent types for the first argument of MPI_REDUCE. This is mainly because there is no equivalent in Fortran to C's (void*) type -- it's the compiler trying to be helpful saying, "Hey, I noticed you have inconsistent types in successive calls to the same function. Did you really mean to do that?"

For MPI apps using choice buffers (like the first argument in MPI_REDUCE), yes, you did mean to do that -- it's ok. This is not really an OMPI issue, but rather a Fortran compiler issue. What you might try is:

- use mpif77 instead (although, depending on your compiler, the result may be exactly the same) - poke through your fortran compiler's docs and see if there's a flag that disables this warning

Hope that helps.

--
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems

Reply via email to