[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Freepooma-devel] Parallel Pooma (Repeated request)
From: |
Richard Guenther |
Subject: |
Re: [Freepooma-devel] Parallel Pooma (Repeated request) |
Date: |
Mon, 5 Jun 2006 16:59:29 +0200 (CEST) |
On Mon, 5 Jun 2006, Svilen Sabchevski wrote:
Dear Richard,
Thank you for your suggestion to configure with -ex option.
This indeed solved the current problem and the compilation
process continued further two more steps. But strangely
enough after this the problem with SEEK_xxx reappeared
again compiling BataBrowser.cmpl.cpp. So, I got the following diagnostics:
Ok, for the source level problems with MPI I still think avoiding to
include the mpicxx header at all will cure most of the problems. F.i.,
in my local MPICH mpi.h header there is the following section:
/* Add the C++ bindings */
/*
If MPICH_SKIP_MPICXX is defined, the mpi++.h file will *not* be
included.
This is necessary, for example, when building the C++ interfaces. It
can also be used when you want to use a C++ compiler to compile C code,
and do not want to load the C++ bindings
*/
#if defined(HAVE_MPI_CPP) && !defined(MPICH_SKIP_MPICXX)
#include "mpi++.h"
#endif
which suggests, that for my particular version/install of MPICH the
problem could be avoided by adding -DMPICH_SKIP_MPICXX (the proper
place to add this is to the config/arch/*.conf file you are using,
just along the optimization flags).
Probably in the chain of #includes the order is again wrong and the header
mpi.h is
somehow behind stdio.h. Therefore I decided to experiment with another solution
of the problems related to SEEK_xxx, namely to add -DMPICH_IGNORE_CXX_SEEK
in parallel.suite.mk (see next line)
CXX_OPT_LIB_ARGS = -ftemplate-depth-60 -DNOPAssert -DNOCTAssert -O2
-funroll-loops -DMPICH_IGNORE_CXX_SEEK
After this the problem with SEEK_xxx is solved again but there is still error
message:
Mon Jun 5 16:52:36 EEDT 2006
Compiler location: /home/mpich2-install/bin/mpiCC
TMPDIR=/tmp/parallel; \
/usr/bin/time mpiCC -c src/DataBrowser/DataBrowser.cmpl.cpp \
-o src/DataBrowser/parallel/DataBrowser.cmpl.o \
-ftemplate-depth-60 \
-DNOPAssert -DNOCTAssert -O2 -funroll-loops -DMPICH_IGNORE_CXX_SEEK \
-I/home/p_freepooma-2.4.1/src \
-I/home/p_freepooma-2.4.1/lib/parallel
In file included from /home/p_freepooma-2.4.1/src/Layout/DynamicEvents.h:55,
from /home/p_freepooma-2.4.1/src/Layout/SparseTileLayout.h:58,
from /home/p_freepooma-2.4.1/src/Engine/IsValidLocation.h:54,
from /home/p_freepooma-2.4.1/src/Array/PrintArray.h:49,
from src/DataBrowser/DataBrowser.cmpl.cpp:23:
/home/p_freepooma-2.4.1/src/Domain/IteratorPairDomain.h:49: error: redefinition of
`struct std::iterator_traits<_Tp*>'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_iterator_base_types.h:138:
error: previous definition of `struct std::iterator
/home/p_freepooma-2.4.1/src/Domain/IteratorPairDomain.h:58: error: redefinition of
`struct std::iterator_traits<const _Tp*>'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_iterator_base_types.h:148:
error: previous definition of `struct std::iterator
Can you provide the output of the configure command? Preferably the
logfile created, too, it's stored in lib/$POOMASUITE/config.log. Look
for why the test "checking for standard conforming iterators" does fail
and say no. You can workaround this issue by "fixing"
lib/$POOMASUITE/PoomaConfiguration.h manually - just fix the define for
POOMA_NONSTANDARD_ITERATOR to POOMA_NO.
I am sorry for bothering you so frequently. I really appreciate your valuable
time. In an anticipation of
your next hint I would like to acknowledge that each your response helps me to
make several more
steps further.
I know getting it to work in parallel is not easy, but we may be able
to improve the autodetection to avoid some of the common pitfalls.
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/