[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Freepooma-devel] Parallel Pooma (Repeated request)
From: |
Svilen Sabchevski |
Subject: |
Re: [Freepooma-devel] Parallel Pooma (Repeated request) |
Date: |
Mon, 5 Jun 2006 07:19:50 -0700 (PDT) |
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:
Mon Jun 5 13:56:17 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 \
-I/home/p_freepooma-2.4.1/src \
-I/home/p_freepooma-2.4.1/lib/parallel
In file included from /home/mpich2-install/include/mpi.h:1120,
from
/home/p_freepooma-2.4.1/src/Threads/IterateSchedulers/SerialAsync.h:58,
from /home/p_freepooma-2.4.1/src/Threads/Scheduler.h:84,
from /home/p_freepooma-2.4.1/src/Threads/PoomaSmarts.h:39,
from /home/p_freepooma-2.4.1/src/Utilities/DataBlockPtr.h:49,
from /home/p_freepooma-2.4.1/src/Domain/IndirectionList.h:49,
from /home/p_freepooma-2.4.1/src/Layout/DynamicEvents.h:54,
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:21:
/home/mpich2-install/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but
must not be for the C++ binding of MPI"
/home/mpich2-install/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but
must not be for the C++ binding of MPI"
/home/mpich2-install/include/mpicxx.h:35:2: #error "SEEK_END is #defined but
must not be for the C++ binding of MPI"
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:21:
/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::iterat
/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::iterat
Command exited with non-zero status 1
0.95user 0.18system 0:01.08elapsed 104%CPU (0avgtext+0avgdata
293776maxresident)k
0inputs+0outputs (18331major+0minor)pagefaults 0swaps
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
Command exited with non-zero status 1
1.01user 0.12system 0:01.04elapsed 108%CPU (0avgtext+0avgdata
293792maxresident)k
0inputs+0outputs (18333major+0minor)pagefaults 0swaps
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.
With best wishes and regards,
Svilen
P.S. Please note that adding -DMPICH_IGNORE_CXX_SEEK still requires -ex option
during configure in order to
escape from the error of the previous step.
************************************
Dr. Svilen SABCHEVSKI
Lab. Electron Beam Technologies
Institute of Electronics of the
Bulgarian Academy of Sciences
72 Tzarigradsko Shose Blvd.
1784 Sofia, BULGARIA
e-mail: address@hidden
phone: (+359 2) 7144680
fax: (+359 2) 9753201
************************************
----- Original Message ----
From: Richard Guenther <address@hidden>
To: Dr. S.Sabchevski <address@hidden>
Sent: Monday, June 5, 2006 1:15:46 PM
Subject: Re: [Freepooma-devel] Parallel Pooma (Repeated request)
On Mon, 5 Jun 2006, Dr. S.Sabchevski wrote:
> Dear Richard,
>
> Thanks for your prompt reply.
>
> Now I understand that the problem with SEEK_SET, SEEK_CUR
> and SEEK_END is in fact a bug in MPICH2 since both stdio.h
> and the MPI C++ interfaces use SEEK_SET, SEEK_CUR, and SEEK_END.
> Moreover, I found an easy way to go round it. I just moved the
> #if POOMA_MPI block in the file
> p_freepooma-2.4.1/srcThreads/IterateSchedulers/SerialAsync.h
>
> in the very beginning of #include statements, i.e. now we have:
>
>
>
> #if POOMA_MPI
>
> #include <mpi.h>
>
> #endif
>
>
>
> #include <list>
>
> #include <vector>
>
> #include <map>
>
> #include <set>
>
> #include <functional>
>
> #include <stack>
>
> #include "Pooma/Configuration.h"
>
> #include "Threads/IterateSchedulers/IterateScheduler.h"
>
> #include "Threads/IterateSchedulers/Runnable.h"
>
> #include "Utilities/PAssert.h"
>
>
>
> After this small change there are no problems with SEEK_xxx anymore :-),
Hmm, this looks like a reasonable workaround if it works out in the end...
> but the second error persists :-(
Well, it is for the same reason. You need to avoid including mpicxx.h
at all, as it uses exceptions. Alternatively you can enable exception
support in POOMA as well - use --ex at POOMA configure time. Even then
you may later experience linkage problems - but I'm not sure.
Hope this gets you further,
Richard.
PS: I'd like to cover these MPI install problems in the INSTALL file,
so if you get it working I'd appreciate if you give me a note.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/