[mpich-discuss] f77 bindings and profiling

Jan Bierbaum jan.bierbaum at tudos.org
Fri Nov 28 11:07:08 CST 2014

On 19.11.2014 16:43, Isaila, Florin D. wrote:
> Thanks Jan, this works indeed for me with mpich-3.1 (by using mpif77
> compiler, I think this is what you meant). However, it does not work
> with mpich-3.1.3.
You're right. When I try to use MPICH 3.1.3, I get the very same problem 
- the profiling library is not linked into the binary.

Looking at the two fortran wrapper libraries, they do indeed define 
different symbols:

| $ nm ${MPICH_3_1}/lib/libfmpich.a | grep -i 'MPI_Init_*$'
| 0000000000000000 W MPI_INIT
|                  U MPI_Init
| 0000000000000000 W mpi_init
| 0000000000000000 T mpi_init_
| 0000000000000000 W mpi_init__

| $ nm ${MPICH_3_1_3}/lib/libmpifort.a | grep -i 'MPI_Init_*$'
| 0000000000000000 W MPI_INIT
| 0000000000000000 W PMPI_INIT
|                  U PMPI_Init
| 0000000000000000 W mpi_init
| 0000000000000000 W mpi_init_
| 0000000000000000 W mpi_init__
| 0000000000000000 W pmpi_init
| 0000000000000000 T pmpi_init_
| 0000000000000000 W pmpi_init__

It doesn't really make sense, though. PMPI is supposed to work by 
redefining the 'MPI_*' functions. So a Fortran wrapper should refer to 
these functions as the old version did; 'MPI_Init' is the only undefined 
reference there. The new version, however, refers to 'PMPI_Init' and 
thus circumvents the profiler.

Is this a bug or are we missing something here?

Regards, Jan
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:

More information about the discuss mailing list