On Jan 30, 2006, at 10:32 AM, Michael Kluskens wrote:

Question regarding f90 compiling

Using:

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,

Brian

--
  Brian Barrett
  Open MPI developer
  http://www.open-mpi.org/


Reply via email to