[MPICH] MPICH2, FORTRAN disabled, yields switch-case collision

Anthony Chan chan at mcs.anl.gov
Sat Oct 22 01:02:54 CDT 2005


Rajeev is right.

If you still want all the MPE components to work, you can download
mpe2-1.0.2p4.tar.gz from http://www.mcs.anl.gov/perfvis or
ftp://ftp.mcs.anl.gov/pub/mpi/mpe and replace mpich2-1.0.2p1/src/mpe2
with it.  Then reconfigure, make, make install...

A.Chan

On Fri, 21 Oct 2005, Rajeev Thakur wrote:

> That might be a problem in the 1.0.2p1 release, but it has been fixed in our
> current source code. You can disable just the collective checking library
> (not all of MPE) with the option --disable-collchk.
>
> Rajeev
>
> > -----Original Message-----
> > From: owner-mpich-discuss at mcs.anl.gov
> > [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Fritz Anderson
> > Sent: Friday, October 21, 2005 4:29 PM
> > To: mpich-discuss at mcs.anl.gov
> > Subject: [MPICH] MPICH2, FORTRAN disabled, yields switch-case
> > collision
> >
> > So I'm still working on compiling MPICH2, 1.0.2p1, using the
> > configuration
> >
> > CCFLAGS='-arch ppc64' LDFLAGS='-arch ppc64' CXXFLAGS='-arch ppc64' ./
> > configure --disable-f77 --disable-f90 --prefix='/usr/local' --with-
> > pm=mpd:gforker
> >
> > Note that I have both FORTRAN dialects disabled. This causes
> > mpi.h to
> > have the following #defines:
> >
> > #define MPI_COMPLEX           ((MPI_Datatype)MPI_DATATYPE_NULL)
> > #define MPI_DOUBLE_COMPLEX    ((MPI_Datatype)MPI_DATATYPE_NULL)
> > #define MPI_LOGICAL           ((MPI_Datatype)MPI_DATATYPE_NULL)
> > ...
> > #define MPI_DATATYPE_NULL  ((MPI_Datatype)0x0c000000)
> > ...
> >
> > Now consider the function CollChk_basic_value() in same_dtype in the
> > mce2 tree:
> >
> > unsigned int CollChk_basic_value(MPI_Datatype type)
> > {
> >      switch (type) {
> >          /*
> >             MPI_Datatype's that return 0x0 are as if they are being
> >             skipped/ignored in the comparison of any 2 MPI_Datatypes.
> >          */
> >          case MPI_DATATYPE_NULL :
> >          case MPI_UB :
> >          case MPI_LB :
> >              return 0x0;
> > ...
> >          case MPI_COMPLEX :
> >              return 0x101;
> >          case MPI_DOUBLE_COMPLEX :
> >              return 0x103;
> >          case MPI_LOGICAL :
> >              return 0x105;
> > ...
> >
> > The compiler quite reasonably chokes, because the latter cases have
> > the same value as the first.
> >
> > I find that suppressing the --disable-f77 and -f90 flags does no
> > good, probably because the configuration script notices that I don't
> > have a FORTRAN compiler.
> >
> > Is there a way around this? Are users without FORTRAN required to do
> > without MPE? Or is there a configuration preprocessor symbol for the
> > no-FORTRAN condition so I can #if out the erring cases?
> >
> >      -- F
> >
> >
>
>




More information about the mpich-discuss mailing list