[MPICH2 Req #2556] Re: [MPICH] Parallel I/O problems on 64-bit machine (pleasehelp:-( )
Michael Kluskens
mkluskens at ieee.org
Mon Jun 5 14:41:08 CDT 2006
On Jun 5, 2006, at 1:33 PM, William Gropp wrote:
> Rajeev asked why the Fortran MPI module didn't catch the missing
> ierr argument. Here's the answer:
>
> The problem is that Fortran (until, I believe, Fortran 2003) has
> nothing like "void *", so you need to provide a prototype for all
> possible buffer types. Even ignoring the user-defined types and
> arrays with more than two dimensions, this can easily (and did in
> MPICH1) lead to a Fortran interface file that is an order of
> magnitude larger than libmpich.a ! Other than some compiler-
> specific workaround (which is purely hypothetical; I don't know if
> any system actually provides such a workaround),
It appears that the SGI MPI libraries do something special, they
caught a problem that no other system was able to see. I need to
test further.
> you can either:
>
> 1. ignore the choice parameter routines (like MPI_File_write_all);
> this is what MPICH2 does
> 2. provide a subset; unfortunately, legitimate programs that use
> other types will fail to compile. This is what MPICH1 does
OpenMPI handles this issue by providing an interface file the size of
which depends on how much you want to check versus how much delay you
can tolerate when compiling. It handles scalars and arrays up to
seven dimensions with the configurator choosing the maximum
dimension. It is rather straight forward to extend OpenMPI to handle
the special case of two arguments of different dimensions and I'm
pushing OpenMPI 1.2 to handle that as well.
I have not dealt with MPI derived datatypes yet, so I'm not sure if
there is any method with Fortran 90/95 to handle this. I don't
believe there is any way to send Fortran 90 user-defined types to MPI
routines.
> 3. build a custom interface module based on the contents of the
> file. There is a tool, MPI-CHECK , http://andrew.ait.iastate.edu/
> HPC/Papers/mpicheck/mpicheck1.htm , that does this (however, the
> link on that page to the software appears to be out of date).
Thanks for the clarification.
Michael
More information about the mpich-discuss
mailing list