[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