[mpich-discuss] How does the fortran binding work?

Jayesh Krishna jayesh at mcs.anl.gov
Wed Jul 30 10:54:20 CDT 2008


 Hi,
  In MPICH2 implementation on windows the fortran bindings work as below,

1) Fortran bindings (see src/binding/f77/*) are wrapper funcs which do
minimal work and call PMPI_* funcs to do the real work (This is done by
fmpich2.dll). 

2) PMPI_* (read as "Profiling"MPI_* -- check the standard,
http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html, for more
information on the MPI Profiling interface ) are defined to be MPI_*
functions if no profiling library (MPE -- see section "Runtime
environment"--> "Performance Analysis" in the windows developer's guide,
available at
http://www.mcs.anl.gov/research/projects/mpich2/documentation/index.php?s=
docs, for information on how you can use MPE with your programs) is
provided or are defined as PMPI_* functions when a profiling library is
provided. (This is done by mpich2mpi.dll)

3) Either the profiling library (mpe.dll) or the windows binding library
(mpich2mpi.dll) calls the MPI_* functions defined in mpich2.dll (for
single threaded sock channel - in case of other channels variants of
mpich2.dll) to do the real work.

 Let us know if you have any questions.

(PS: This is different from the way its handled in MPICH2 on unix.)

Regards,
Jayesh

-----Original Message-----
From: owner-mpich-discuss at mcs.anl.gov
[mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Anthony Chan
Sent: Wednesday, July 30, 2008 9:46 AM
To: mpich-discuss at mcs.anl.gov
Cc: mpich-discuss at mcs.anl.gov
Subject: Re: [mpich-discuss] How does the fortran binding work?


No.  PMPI is the MPI profiling interface and is standardized by the MPI
forum.
Fortran/C++ MPI binding just calls the C MPI routine.

A.Chan

----- "Ruini Xue" <xueruini at gmail.com> wrote:

> On Wed, Jul 30, 2008 at 8:54 PM, Dave Goodell < goodell at mcs.anl.gov >
> wrote:
> 
> 
> Hi Andrew,
> 
> Yes, the fortran and c++ bindings are just wrappers over the C 
> bindings. The C binding implements the functionality directly.
> 
> Are they wrappers of MPI_XXX() or PMPI_XXX()?
> 
> Best
> 
> Andrew
> 
> 
> 
> 
> -Dave
> 
> 
> 
> 
> On Jul 30, 2008, at 6:11 AM, Ruini Xue wrote:
> 
> 
> 
> Hello, everyone,
> 
> I am working with MPICH2 on Windows platfrom. The fortran MIP 
> application is linked to fmpich.lib, and fmpich2.dll is loaded in 
> runtime, which in turn loads mipch2mpi.dll.
> mpich2mpi.dll contains all MPI APIs which exported C interface. What I 
> want to know is: what is the 'underlying' relation between fmpich2.dll 
> and mpich2mip.dll? Do all Fortran MPI calls are converted to c 
> bindings in mpich2mpi.dll? For example, does MPI_BCAST() in fmich2.dll 
> directly calls MPI_Bcast() in mpich2mpi.dll? Is MPI_BCAST() just a 
> stub while MPI_Bcast() do the real job?
> 
> Thanks
> 
> Andrew

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20080730/a108d122/attachment.htm>


More information about the mpich-discuss mailing list