On Jan 30, 2006, at 10:32 AM, Michael Kluskens wrote:
> Question regarding f90 compiling
> USE MPI
> instead of
> include 'mpif.h'
> makes the compilation take an extra two minutes using g95 under OS X
> 10.4.4 (simple test program 115 seconds versus 0.2 seconds)
> Is this normal?
Unfortunately, yes. The difference is that "include 'mpif.h'" will
bring in a simple Fortran 77 header, declaring just the MPI
parameters needed (like declaring MPI_COMM_WORLD as an integer with
value 0, for Open MPI). Using "USE MPI" will bring in the Fortran 90
module, which includes a huge number of interface declarations to
cover all the possible type combinations available for the rather
large number of functions in MPI. This leads to a module file that
is over 50,000 lines long.
Right now, we include up to 4 array dimensions for each type (so you
can pass a 4 dimension array of INTEGER, for example). If you never
use that many array dimensions, you can reconfigure Open MPI with the
configure option --with-f90-max-array-dim=<NUM>, where <NUM> is the
maximum array dimensions you will ever use in your Fortran
application. The code inside Open MPI doesn't depend on this value -
the only place it is used is figuring out how far to go with
generating the function declarations for the Fortran 90 module file.
Hope this helps,
Open MPI developer