Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] MPICH with ICC 8.1

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Don Holmgren djholm at fnal.gov
Sat Dec 25 10:19:56 PST 2004


Oops - sorry, I just showed my complete ignorance of the profiling
interface.

The configure option --disable-weak-symbols will give you separate
libpmpich.a and libmpich.a libraries, containing respectively the
"PMPI_xxx" and "MPI_xxx" versions of the code.  The "PMPI_xxx" versions
are the "real" versions.  The "MPI_xxx" versions allow implementation of
routines which intercept a given call, say to do profiling, and which
also call the "PMPI_xxx"  versions.

If I'm interpreting the documentation correctly, with
"--disable-weak-symbols" if you want to profile some calls and not other
calls, you'd have to use a link command something like:
     cc ... -lprof -lpmpi -lmpi
where libprof.a contains profiling versions of selected routines, eg,
MPI_Send, which in turn call the base version, PMPI_Send, resolved in
libpmpi.a.  Other routines not defined in libprof.a would be resolved in
libmpi.   With weak symbols, on the other hand, it is sufficient to use
     cc ... -lprof -lmpi
and then an "MPI_xxx" symbol not defined in libprof.a will be resolved
by "PMPI_xxx" in libmpi.a

See, for example,
  http://www.netlib.org/utk/papers/mpi-book/node190.html

I just checked on two versions of mvapich on one of my machines, one
built with the Intel 7.1 compiler and the other with the 8.1 compiler.
The latter required "--disable-weak-symbols".  I verified that mpif77,
for example, explicitly linked with "-lpmpich -lmpich" on the 8.1
version, but only with "-lmpich" on the 7.1 version.

Don Holmgren
Fermilab



On Fri, 24 Dec 2004, Don Holmgren wrote:

>
> If you can do without weak symbols for the MPICH profiling interface
> (i.e., when you want to profile, your code would have to preface the
> names of mpi calls with "p", as in pmpi_wait instead of mpi_wait), then
> during the configure step add the switch
>
>    --disable-weak-symbols
>
> I haven't found a compiler option, only this MPICH build option.
>
> Don Holmgren
> Fermilab
>
>
>
> On Thu, 23 Dec 2004, John Lau wrote:
>
> > Hi,
> >
> > I can't compile MPICH 1.2.5.2 with the new Intel compiler 8.1. I used to
> > compile it successfully with the ICC 8.0. This is the error message:
> >
> > /usr/intel/intel_cc_80/bin/icc -I.
> > -I/usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/src/fortran/src
> > -I../include
> > -I/usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/src/fortran/include -I..
> > -I/usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/include
> > -I/usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/icc8/include
> > -I/usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/icc8/mpid/ch_p4
> > -I/usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/mpid/util
> > -I/usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/mpid/ch_p4  -fPIC -O2
> > -mcpu=pentium4 -gcc-version=320 -DUSE_SOCKLEN_T -DUSE_U_INT_FOR_XDR
> > -DHAVE_MPICHCONF_H
> > -c /usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/src/fortran/src/addressf.c
> > /usr/src/redhat/BUILD/mpich-1.2.5.2-8chess/src/fortran/src/addressf.c(25): error: identifier "mpi_address_" is undefined
> >   #pragma weak mpi_address_ = pmpi_address_
> >
> > I think it is related to the weak symbol defination checking. Because
> > when I put the function defination before weak symbol defination, it can
> > be compiled with ICC 8.1.
> >
> > So is there any compiler option or workaround for ICC 8.1, so that I
> > dont need to change the sources?
> >
> > Thanks in advance.
> >
> > Best regards,
> > John Lau
> > --
> > John Lau Chi Fai
> > cflau at clc.cuhk.edu.hk
> > Software Engineer
> > Center for Large-Scale Computation
> >
> > _______________________________________________
> > Beowulf mailing list, Beowulf at beowulf.org
> > To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
> >
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
>



More information about the Beowulf mailing list