[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