<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7036.0">
<TITLE>RE: [mpich-discuss] How does the fortran binding work?</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>&gt;&gt; Looks like the Fortran interface does call the MPI version of the C function.<BR>
<BR>
&nbsp; Only if the call is from PMPI_* funcs. (If the MPI call is not from PMPI, MPI_* funcs get defined to PMPI_*)<BR>
<BR>
&gt;&gt; If the fortran binding calls PMPI version of C function...<BR>
<BR>
&nbsp; In windows this currently does not work (I guess, it is due to the different calling convention/name mangling by the mpe lib and the fortran lib in windows) :( Defenitely a TODO item :)<BR>
<BR>
Regards,<BR>
Jayesh<BR>
<BR>
-----Original Message-----<BR>
From: owner-mpich-discuss@mcs.anl.gov [<A HREF="mailto:owner-mpich-discuss@mcs.anl.gov">mailto:owner-mpich-discuss@mcs.anl.gov</A>] On Behalf Of Rajeev Thakur<BR>
Sent: Wednesday, July 30, 2008 12:42 PM<BR>
To: mpich-discuss@mcs.anl.gov<BR>
Subject: RE: [mpich-discuss] How does the fortran binding work?<BR>
<BR>
Looks like the Fortran interface does call the MPI version of the C function.<BR>
<BR>
<BR>
&gt; -----Original Message-----<BR>
&gt; From: owner-mpich-discuss@mcs.anl.gov<BR>
&gt; [<A HREF="mailto:owner-mpich-discuss@mcs.anl.gov">mailto:owner-mpich-discuss@mcs.anl.gov</A>] On Behalf Of Anthony Chan<BR>
&gt; Sent: Wednesday, July 30, 2008 12:01 PM<BR>
&gt; To: mpich-discuss@mcs.anl.gov<BR>
&gt; Subject: Re: [mpich-discuss] How does the fortran binding work?<BR>
&gt;<BR>
&gt; If the fortran binding calls PMPI version of C function, can the<BR>
&gt; fortran MPI program still be profiled ?<BR>
&gt;&nbsp;<BR>
&gt; ----- &quot;Rajeev Thakur&quot; &lt;thakur@mcs.anl.gov&gt; wrote:<BR>
&gt;<BR>
&gt; &gt; The Fortran binding calls the PMPI version of the C function.<BR>
&gt; &gt;<BR>
&gt; &gt; Rajeev<BR>
&gt; &gt;<BR>
&gt; &gt; &gt; -----Original Message-----<BR>
&gt; &gt; &gt; From: owner-mpich-discuss@mcs.anl.gov<BR>
&gt; &gt; &gt; [<A HREF="mailto:owner-mpich-discuss@mcs.anl.gov">mailto:owner-mpich-discuss@mcs.anl.gov</A>] On Behalf Of Anthony Chan<BR>
&gt; &gt; &gt; Sent: Wednesday, July 30, 2008 9:46 AM<BR>
&gt; &gt; &gt; To: mpich-discuss@mcs.anl.gov<BR>
&gt; &gt; &gt; Cc: mpich-discuss@mcs.anl.gov<BR>
&gt; &gt; &gt; Subject: Re: [mpich-discuss] How does the fortran binding work?<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; No.&nbsp; PMPI is the MPI profiling interface and is standardized by<BR>
&gt; &gt; &gt; the MPI forum.<BR>
&gt; &gt; &gt; Fortran/C++ MPI binding just calls the C MPI routine.<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; A.Chan<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; ----- &quot;Ruini Xue&quot; &lt;xueruini@gmail.com&gt; wrote:<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; On Wed, Jul 30, 2008 at 8:54 PM, Dave Goodell &lt;<BR>
&gt; &gt; &gt; goodell@mcs.anl.gov &gt;<BR>
&gt; &gt; &gt; &gt; wrote:<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Hi Andrew,<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Yes, the fortran and c++ bindings are just wrappers over the C<BR>
&gt; &gt; &gt; &gt; bindings. The C binding implements the functionality directly.<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Are they wrappers of MPI_XXX() or PMPI_XXX()?<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Best<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Andrew<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; -Dave<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; On Jul 30, 2008, at 6:11 AM, Ruini Xue wrote:<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Hello, everyone,<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; I am working with MPICH2 on Windows platfrom. The fortran MIP<BR>
&gt; &gt; &gt; &gt; application is linked to fmpich.lib, and fmpich2.dll is<BR>
&gt; loaded in<BR>
&gt; &gt; &gt; &gt; runtime, which in turn loads mipch2mpi.dll.<BR>
&gt; &gt; &gt; &gt; mpich2mpi.dll contains all MPI APIs which exported C<BR>
&gt; &gt; &gt; interface. What I<BR>
&gt; &gt; &gt; &gt; want to know is: what is the 'underlying' relation between<BR>
&gt; &gt; &gt; fmpich2.dll<BR>
&gt; &gt; &gt; &gt; and mpich2mip.dll? Do all<BR>
&gt; &gt; &gt; &gt; Fortran MPI calls are converted to c bindings in mpich2mpi.dll?<BR>
&gt; &gt; For<BR>
&gt; &gt; &gt; &gt; example, does MPI_BCAST() in fmich2.dll directly calls<BR>
&gt; &gt; &gt; MPI_Bcast() in<BR>
&gt; &gt; &gt; &gt; mpich2mpi.dll? Is MPI_BCAST() just a stub while MPI_Bcast() do<BR>
&gt; &gt; the<BR>
&gt; &gt; &gt; &gt; real job?<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Thanks<BR>
&gt; &gt; &gt; &gt;<BR>
&gt; &gt; &gt; &gt; Andrew<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;<BR>
&gt;<BR>
&gt;<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>