[pooma-dev] GCC 3.2 on Redhat 8.0--a fair number of compiler warnings?
George Talbot
gtalbot at locuspharma.com
Fri Apr 25 14:23:26 UTC 2003
P.S. Does anyone have instructions for installing and running GCC 3.3,
especially w.r.t. using POOMA, for Linux? I want to do a more complete
evaluation.
Thanks.
--George
On Fri, 2003-04-25 at 10:21, George Talbot wrote:
> Not so good news. So I went back to the hand-coded program and reversed
> the indices, indexing x in the inner loop and y in the outer to reflect
> the memory layout of the array. Now the hand-coded variant is twice as
> fast as the equivalent POOMA program. This is with GCC 3.2.
> Distributing it among the two processors on my workstation doesn't bring
> the performance up to the single-processor hand-coded version.
>
> I will try today to beat the hand-coded program with MPI over more than
> two processors. However, I would like to know something. Is the
> diffusion example from the book a realistic example to show the
> performance of POOMA vs. hand-coded stuff? I need to be able to
> describe the break-even point where a POOMA app will outperform a
> uniprocessor app. Of course, I probably need to try to apply it to one
> of my in-house programs to be realistic, but I was hoping that someone
> on the list could suggest a particular demonstration program that would
> show POOMA outperforming a uniprocessor hand-coded implementation.
>
> --George
>
>
> On Wed, 2003-04-23 at 16:10, George Talbot wrote:
> > Hi,
> >
> > New POOMA II user. Got everything to compile and link today. The
> > performance of this stuff is shocking.
> >
> > I ran a hand coded version of your 2D diffusion program on my box for
> > 250 steps, 800x800 array. 1m34s, uniprocessor.
> >
> > Using a stencil, same box, uniprocessor. 25s. WOW.
> >
> > Using -shmem -np 2 to distribute the shared array version on both of my
> > processors on my box. 12s. Truly amazing. I think this may be a
> > dramatically useful tool.
> >
> > The only thing that irks me a bit is that there are a fair number of
> > compiler warnings, which I will append, along with the source I used, to
> > this e-mail. Is this normal? Swimming in a sea of warnings from the
> > POOMA headers, I might miss some on my own code...
> >
> > Take care.
> >
> > --
> > George T. Talbot
> > <gtalbot at locuspharma.com>
> >
> > Here's the program:
> >
> > #include <iostream>
> > using namespace std;
> >
> > #define STENCIL
> > #define POOMA
> > #define DISTRIBUTED
> >
> > #ifdef POOMA
> > #include "Pooma/Arrays.h"
> > #endif
> >
> > #ifdef STENCIL
> > class NinePtDiffusion
> > {
> > public:
> > template <class C>
> > inline typename C::Element_t operator()(const C& c, int I, int J)
> > const
> > {
> > return (1.0/9.0) *
> > (c.read(I+1, J+1) + c.read(I+1, J ) + c.read(I+1,
> > J-1) +
> > c.read(I , J+1) + c.read(I , J ) + c.read(I ,
> > J-1) +
> > c.read(I-1, J+1) + c.read(I-1, J ) + c.read(I-1,
> > J-1));
> > }
> >
> > inline int lowerExtent(int) const { return 1; }
> > inline int upperExtent(int) const { return 1; }
> > };
> > #endif
> >
> > int main(int argc, char* argv[])
> > {
> > #ifdef POOMA
> > Pooma::initialize(argc, argv);
> > #endif
> >
> > long numAveragings = 250, numSteps;
> >
> > numSteps = (numAveragings+1)/2;
> >
> > long n = 800;
> >
> > long numProcessors=2;
> >
> > #ifdef POOMA
> > Inform output;
> >
> > output << "processors=" << numProcessors
> > << " avgs=" << numAveragings
> > << " n=" << n
> > << endl;
> > #else
> > cout << "processors=" << numProcessors
> > << " avgs=" << numAveragings
> > << " n=" << n
> > << endl;
> > #endif
> >
> > #ifdef POOMA
> > Interval<1> N(0, n-1);
> > Interval<2> problemDomain(N, N);
> >
> > Interval<1> I(1, n-2);
> > Interval<1> J(1, n-2);
> > Interval<2> interiorDomain(I, I);
> >
> > #ifdef DISTRIBUTED
> > UniformGridPartition<2>
> > partition(Loc<2>(numProcessors,numProcessors), GuardLayers<2>(1),
> > GuardLayers<2>(0));
> > UniformGridLayout<2> layout(problemDomain, partition,
> > DistributedTag());
> >
> > Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >
> > a(layout);
> > Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >
> > b(layout);
> > #else
> > Array<2, double, Brick> a(problemDomain);
> > Array<2, double, Brick> b(problemDomain);
> > #endif
> >
> > a = b = 0.0;
> >
> > Pooma::blockAndEvaluate();
> > b(n/2, n/2) = 1000.0;
> >
> > #ifdef STENCIL
> > Stencil<NinePtDiffusion> diffusion;
> > #endif
> >
> > #else
> > double a[n][n], b[n][n];
> >
> > for (long x=1; x<n-1; x++)
> > {
> > for (long y=1; y<n-1; y++)
> > {
> > a[x][y] = b[x][y] = 0.0;
> > }
> > }
> >
> > b[n/2][n/2] = 1000.0;
> > #endif
> >
> > const double weight = 1.0/9.0;
> >
> > for (long i=0; i<numSteps; i++)
> > {
> > #ifdef STENCIL
> > a(interiorDomain) = diffusion(b, interiorDomain);
> > b(interiorDomain) = diffusion(a, interiorDomain);
> > #elif defined (POOMA)
> > a(I,J) = weight *
> > (b(I+1, J+1) + b(I+1, J ) + b(I+1, J-1) +
> > b(I , J+1) + b(I , J ) + b(I , J-1) +
> > b(I-1, J+1) + b(I-1, J ) + b(I-1, J-1));
> >
> > b(I,J) = weight *
> > (a(I+1, J+1) + a(I+1, J ) + a(I+1, J-1) +
> > a(I , J+1) + a(I , J ) + a(I , J-1) +
> > a(I-1, J+1) + a(I-1, J ) + a(I-1, J-1));
> > #else
> > for (long x=1; x<n-1; x++)
> > {
> > for (long y=1; y<n-1; y++)
> > {
> > a[x][y] = weight *
> > (b[x+1][y+1] + b[x+1][y] + b[x+1][y-1] +
> > b[x] [y+1] + b[x] [y] + b[x] [y-1] +
> > b[x-1][y+1] + b[x-1][y] + b[x-1][y-1]);
> > }
> > }
> >
> > for (long x=1; x<n-1; x++)
> > {
> > for (long y=1; y<n-1; y++)
> > {
> > b[x][y] = weight *
> > (a[x+1][y+1] + a[x+1][y] + a[x+1][y-1] +
> > a[x] [y+1] + a[x] [y] + a[x] [y-1] +
> > a[x-1][y+1] + a[x-1][y] + a[x-1][y-1]);
> > }
> > }
> > #endif
> > }
> >
> > #ifdef POOMA
> > Pooma::blockAndEvaluate();
> >
> > output << "Center position: " << a(n/2, n/2) << endl;
> >
> > Pooma::finalize();
> > #else
> > cout << "Center position: " << a[n/2][n/2] << endl;
> > #endif
> >
> > return 0;
> > }
> >
> >
> > Here's the compiler warnings, plus the compiler command line:
> >
> > g++ -c -pipe -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG
> > -DQT_THREAD_SUPPORT -I/usr/local/qt/mkspecs/default -I.
> > -I/usr/local/cots/cheetah/linux/src
> > -I/usr/local/cots/cheetah/linux/lib/g++-ex -I/usr/local/cots/pooma/src
> > -I/usr/local/cots/pooma/linux/lib/PoomaConfiguration
> > -I/usr/local/qt/include -o diffusion_test.o diffusion_test.cpp
> > In file included from /usr/local/cots/pooma/src/Pooma/Domains.h:42,
> > from
> > /usr/local/cots/pooma/src/Domain/DomainRemoveOverlap.h:32, from /usr/local/cots/pooma/src/Layout/SparseTileLayout.cpp:36,
> > from
> > /usr/local/cots/pooma/src/Layout/SparseTileLayout.h:1201,
> > from
> > /usr/local/cots/pooma/src/Engine/IsValidLocation.h:55,
> > from /usr/local/cots/pooma/src/Array/PrintArray.h:57,
> > from /usr/local/cots/pooma/src/Array/Array.h:58,
> > from /usr/local/cots/pooma/src/Pooma/BrickArrays.h:42,
> > from /usr/local/cots/pooma/src/Pooma/UMPArrays.h:40,
> > from /usr/local/cots/pooma/src/Pooma/Arrays.h:39,
> > from diffusion_test.cpp:9:
> > /usr/local/cots/pooma/src/Domain/Grid.h: In copy constructor
> > `Grid<1>::Grid(const Grid<1>&)':
> > /usr/local/cots/pooma/src/Domain/Grid.h:360: warning: base class `class
> > Domain<1, DomainTraits<Grid<1> > >' should be explicitly initialized
> > in the
> > copy constructor
> > In file included from /usr/local/cots/pooma/src/Pooma/Arrays.h:46,
> > from diffusion_test.cpp:9:
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h: In copy constructor
> > `GatherContexts::GatherContextsData::GatherContextsData(const
> > GatherContexts::GatherContextsData&)':
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1697: warning: base
> > class `
> > class RefCounted' should be explicitly initialized in the copy
> > constructor
> > diffusion_test.cpp: In function `int main(int, char**)':
> > diffusion_test.cpp:100: warning: unused variable `const double weight'
> > In file included from
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1499,
> > from /usr/local/cots/pooma/src/Array/Array.h:108,
> > from diffusion_test.cpp:77:
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h: In copy
> > constructor
> > `UniformGridLayout<Dim>::UniformGridLayout(const
> > UniformGridLayout<Dim>&)
> > [with int Dim = 2]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:806: instantiated from
> > `LayoutBaseViewData<Dim, Dim2, L>::LayoutBaseViewData(const L&, const
> > Domain<Dim, DT>&) [with DT = DomainTraits<Interval<2> >, int Dim = 2,
> > int Dim2 = 2, L = UniformGridLayout<2>]'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1368: instantiated from
> > `UniformGridLayoutViewData<Dim, Dim2>::UniformGridLayoutViewData(const
> > UniformGridLayout<Dim2>&, const Domain<Dim, DT>&) [with DT =
> > DomainTraits<Interval<2> >, int Dim
> > = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1109: instantiated from
> > `LayoutBaseView<Dim, Dim2, lvd>::LayoutBaseView(lvd*) [with int Dim = 2,
> > int Dim2 = 2, lvd = UniformGridLayoutViewData<2, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1499: instantiated
> > from `UniformGridLayoutView<Dim,
> > Dim2>::UniformGridLayoutView(UniformGridLayoutViewData<Dim,
> > Dim2>::Layout_t&, const Domain<Dim2, DT>&) [with DT =
> > DomainTraits<Interval<2> >, int Dim = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:992: instantiated from
> > `Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag, Dim2>
> > >::Engine(const Engine<Dim2,
> > T, MultiPatch<LayoutTag, PatchTag> >&, const Domain<Dim2, DT>&) [with DT
> > = DomainTraits<Interval<2> >, int Dim = 2, T = double, LayoutTag =
> > UniformTag, PatchTag = Remote<Brick>, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1457: instantiated
> > from `Array<Dim, T, EngineTag>::Array(const Engine<Dim2, T2,
> > EngineTag2>&, const Initializer&) [with int Dim2 = 2, T2 = double,
> > EngineTag2 = MultiPatch<UniformTag, Remote<Brick> >, Initializer =
> > Interval<2>, int Dim = 2, T = double, EngineTag =
> > MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:676: instantiated from
> > `static Array<View0<Array<D1, T1, E1> >::newDim, T, NewEngine<Array<D1,
> > T1, E1>::Engine_t, Array<D1, T1, E1>::Domain_t>::Type_t::Tag_t>
> > View0<Array<D1, T1, E1> >::make(const Array<D1, T1, E1>&) [with int Dim
> > = 2, T = double, EngineTag = MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1910: instantiated
> > from `AltView0<Array<D1, T1, E1> >::Type_t Array<Dim, T,
> > EngineTag>::operator()() const [with int Dim = 2, T = double, EngineTag
> > = MultiPatch<UniformTag, Remote<Brick>
> > >]'/usr/local/cots/pooma/src/Engine/RemoteEngine.h:1909: instantiated
> > from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2, double,
> > ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:108: instantiated from `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const RHS&)
> > const [with LHS
> > = Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >, RHS =
> > Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2504: instantiated from `const
> > Array<D1, T1, E1>& assign(const Array<D1, T1, E1>&, const T1&, const
> > Op&) [with int Dim = 2, T = double, EngineTag = MultiPatch<UniformTag,
> > Remote<Brick> >, T1 = double, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2117: instantiated from `const
> > Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const T1&)
> > const [with T1 = double, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:2105: instantiated from
> > `Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> > Array<Dim, T, EngineTag>&) [with int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > diffusion_test.cpp:77: instantiated from here
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h:1831: warning: base
> > class
> > `class Observer<UniformGridLayoutData<2> >' should be explicitly
> > initialized
> > in the copy constructor
> > In file included from
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1519,
> > from diffusion_test.cpp:108:
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h: In constructor
> > `LayoutBaseViewData<Dim, Dim2, L>::LayoutBaseViewData(const L&, const
> > LV&,
> > const ViewIndexer<Dim, Dim2>&, const Domain<Dim, DT>&,
> > GuardLayers<Dim>,
> > GuardLayers<Dim>) [with DT = DomainTraits<Interval<2> >, LV =
> > UniformGridLayoutView<2, 2>, int Dim = 2, int Dim2 = 2, L =
> > UniformGridLayout<2>]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1388: instantiated from
> > `UniformGridLayoutViewData<Dim, Dim2>::UniformGridLayoutViewData(const
> > UniformGridLayoutView<Dim, Dim2>&, const Domain<Dim, DT>&) [with DT =
> > DomainTraits<Interval<2> >, int Dim = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1109: instantiated from
> > `LayoutBaseView<Dim, Dim2, lvd>::LayoutBaseView(lvd*) [with int Dim = 2,
> > int Dim2 = 2, lvd = UniformGridLayoutViewData<2, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1519: instantiated
> > from `UniformGridLayoutView<Dim, Dim2>::UniformGridLayoutView(const
> > UniformGridLayoutView<Dim, Dim2>&, const Domain<Dim, DT>&) [with DT =
> > DomainTraits<Interval<2> >, int Dim = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1012: instantiated
> > from `Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag, Dim2>
> > >::Engine(const Engine<Dim,
> > T, MultiPatchView<LayoutTag, PatchTag, Dim2> >&, const Domain<Dim, DT>&)
> > [with DT = DomainTraits<Interval<2> >, int Dim = 2, T = double,
> > LayoutTag = UniformTag, PatchTag = Remote<Brick>, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1457: instantiated
> > from `Array<Dim, T, EngineTag>::Array(const Engine<Dim2, T2,
> > EngineTag2>&, const Initializer&) [with int Dim2 = 2, T2 = double,
> > EngineTag2 = MultiPatchView<UniformTag, Remote<Brick>, 2>, Initializer =
> > Interval<2>, int Dim = 2, T = double, EngineTag =
> > MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:676: instantiated from
> > `static Array<View0<Array<D1, T1, E1> >::newDim, T, NewEngine<Array<D1,
> > T1, E1>::Engine_t, Array<D1, T1, E1>::Domain_t>::Type_t::Tag_t>
> > View0<Array<D1, T1, E1> >::make(const Array<D1, T1, E1>&) [with int Dim
> > = 2, T = double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>,
> > 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1910: instantiated
> > from `AltView0<Array<D1, T1, E1> >::Type_t Array<Dim, T,
> > EngineTag>::operator()() const [with int Dim = 2, T = double, EngineTag
> > = MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1909: instantiated
> > from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:108: instantiated from `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const RHS&)
> > const [with LHS = Array<2, double, MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, RHS = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:2486: instantiated from `const Array<D1, T1, E1>&
> > assign(const Array<D1, T1, E1>&, const Array<D2, T2, E2>&, const Op&)
> > [with int Dim = 2,
> > T = double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>, 2>,
> > int OtherDim = 2, OtherT = double, OtherEngineTag =
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > >, Op = OpAssign]'
> > diffusion_test.cpp:2117: instantiated from `const Array<Dim, T,
> > EngineTag>& Array<Dim, T, EngineTag>::operator=(const T1&) const [with
> > T1 = Array<2, double, StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, int Dim = 2, T =
> > double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > diffusion_test.cpp:105: instantiated from here
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1027: warning: member
> > initializers for `ViewIndexer<2, 2> LayoutBaseViewData<2, 2,
> > UniformGridLayout<2> >::indexer_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1010: warning: and `long
> > int
> > LayoutBaseViewData<2, 2, UniformGridLayout<2> >::id_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:871: warning: will be
> > re-ordered to match declaration order
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1040: warning: member
> > initializers for `bool LayoutBaseViewData<2, 2, UniformGridLayout<2>
> > >::subdomainsComputed_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1021: warning: and `
> > GuardLayers<2> LayoutBaseViewData<2, 2, UniformGridLayout<2>
> > >::internalGuards_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:871: warning: will be
> > re-ordered to match declaration order
> > /usr/local/cots/pooma/src/Engine/Stencil.h: In constructor
> > `StencilIntersector<Dim, Intersect>::StencilIntersector(const
> > Interval<Dim>&, const Intersect&) [with int Dim = 2, Intersect =
> > Intersector<2>]':
> > diffusion_test.cpp:863: instantiated from `static int
> > LeafFunctor<Engine<D, T, StencilEngine<Function, Expression> >,
> > ExpressionApply<IntersectorTag<Intersect> > >::apply(const Engine<D, T,
> > StencilEngine<Function, Expression> >&, const
> > ExpressionApply<IntersectorTag<Intersect> >&) [with int D = 2, T =
> > double, S = NinePtDiffusion, E = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2>
> > >, Intersect = Intersector<2>]'
> > diffusion_test.cpp:2307: instantiated from `static int
> > LeafFunctor<Array<D1, T1, E1>, ExpressionApply<Tag> >::apply(const
> > Array<D1, T1, E1>&, const ExpressionApply<Tag>&) [with int Dim = 2, T =
> > double, E = StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > >, Tag =
> > IntersectorTag<Intersector<2> >]'
> > diffusion_test.cpp:80: instantiated from `static LeafFunctor<LeafType,
> > LeafTag>::Type_t ForEach<Expr, FTag, CTag>::apply(const Expr&, const
> > FTag&, const CTag&) [with Expr = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag = NullCombine]'
> > diffusion_test.cpp:88: instantiated from `ForEach<Expr, FTag,
> > CTag>::Type_t forEach(const Expr&, const FTag&, const CTag&) [with Expr
> > = Array<2, double, StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag =
> > NullCombine]'
> > diffusion_test.cpp:276: instantiated from `void expressionApply(const
> > A&, const Tag&) [with A = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Tag =
> > IntersectorTag<Intersector<2> >]'
> > diffusion_test.cpp:1914: instantiated from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:108: instantiated from `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const RHS&)
> > const [with LHS = Array<2, double, MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, RHS = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:2486: instantiated from `const Array<D1, T1, E1>&
> > assign(const Array<D1, T1, E1>&, const Array<D2, T2, E2>&, const Op&)
> > [with int Dim = 2,
> > T = double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>, 2>,
> > int OtherDim = 2, OtherT = double, OtherEngineTag =
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > >, Op = OpAssign]'
> > diffusion_test.cpp:2117: instantiated from `const Array<Dim, T,
> > EngineTag>& Array<Dim, T, EngineTag>::operator=(const T1&) const [with
> > T1 = Array<2, double, StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, int Dim = 2, T =
> > double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > diffusion_test.cpp:105: instantiated from here
> > /usr/local/cots/pooma/src/Engine/Stencil.h:844: warning: member
> > initializers
> > for `Intersector<2> StencilIntersector<2, Intersector<2>
> > >::intersector_m'
> > /usr/local/cots/pooma/src/Engine/Stencil.h:843: warning: and
> > `Interval<2>
> > StencilIntersector<2, Intersector<2> >::domain_m'
> > /usr/local/cots/pooma/src/Engine/Stencil.h:788: warning: will be
> > re-ordered
> > to match declaration order
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h: In static
> > member
> > function `static void DomainTraits<Interval<1> >::setDomain(int
> > (&)[2],
> > const T1&, const T2&) [with T1 = int, T2 = unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Interval.h:369: instantiated from
> > here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h:264: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h: In static
> > member
> > function `static void DomainTraits<Interval<1> >::setDomain(int
> > (&)[2],
> > const T1&, const T2&) [with T1 = int, T2 = long unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Interval.h:377: instantiated from
> > here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h:264: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h: In static member
> > function `static void DomainTraits<Range<1> >::setDomain(int (&)[3],
> > const
> > T1&, const T2&) [with T1 = int, T2 = unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Range.h:396: instantiated from here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h:239: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h: In static member
> > function `static void DomainTraits<Range<1> >::setDomain(int (&)[3],
> > const
> > T1&, const T2&) [with T1 = int, T2 = long unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Range.h:407: instantiated from here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h:239: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h: In static member
> > function
> > `static void DomainTraits<Grid<1> >::setDomain(IndirectionList<int>&,
> > const
> > T1&, const T2&) [with T1 = int, T2 = unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Grid.h:395: instantiated from here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h:245: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h: In static member
> > function
> > `static void DomainTraits<Grid<1> >::setDomain(IndirectionList<int>&,
> > const
> > T1&, const T2&) [with T1 = int, T2 = long unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Grid.h:404: instantiated from here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h:245: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Engine/MultiPatchEngine.cpp: In copy
> > constructor
> > `Engine<Dim, T, MultiPatch<LayoutTag, PatchTag> >::Engine(const
> > Engine<Dim,
> > T, MultiPatch<LayoutTag, PatchTag> >&) [with int Dim = 2, T = double,
> > LayoutTag = UniformTag, PatchTag = Remote<Brick>]':
> > /usr/local/cots/pooma/src/Engine/MultiPatchEngine.h:992: instantiated
> > from `Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag, Dim2>
> > >::Engine(const Engine<Dim2, T, MultiPatch<LayoutTag, PatchTag> >&,
> > const Domain<Dim2, DT>&) [with DT = DomainTraits<Interval<2> >, int Dim
> > = 2, T = double, LayoutTag = UniformTag, PatchTag = Remote<Brick>, int
> > Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1457: instantiated
> > from `Array<Dim, T, EngineTag>::Array(const Engine<Dim2, T2,
> > EngineTag2>&, const Initializer&) [with int Dim2 = 2, T2 = double,
> > EngineTag2 = MultiPatch<UniformTag, Remote<Brick> >, Initializer =
> > Interval<2>, int Dim = 2, T = double, EngineTag =
> > MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:676: instantiated from
> > `static Array<View0<Array<D1, T1, E1> >::newDim, T, NewEngine<Array<D1,
> > T1, E1>::Engine_t, Array<D1, T1, E1>::Domain_t>::Type_t::Tag_t>
> > View0<Array<D1, T1, E1> >::make(const Array<D1, T1, E1>&) [with int Dim
> > = 2, T = double, EngineTag = MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1910: instantiated
> > from `AltView0<Array<D1, T1, E1> >::Type_t Array<Dim, T,
> > EngineTag>::operator()() const [with int Dim = 2, T = double, EngineTag
> > = MultiPatch<UniformTag, Remote<Brick>
> > >]'/usr/local/cots/pooma/src/Engine/RemoteEngine.h:1909: instantiated
> > from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2, double,
> > ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:108: instantiated from `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const RHS&)
> > const [with LHS
> > = Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >, RHS =
> > Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2504: instantiated from `const
> > Array<D1, T1, E1>& assign(const Array<D1, T1, E1>&, const T1&, const
> > Op&) [with int Dim = 2, T = double, EngineTag = MultiPatch<UniformTag,
> > Remote<Brick> >, T1 = double, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2117: instantiated from `const
> > Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const T1&)
> > const [with T1 = double, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:2105: instantiated from
> > `Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> > Array<Dim, T, EngineTag>&) [with int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > diffusion_test.cpp:77: instantiated from here
> > /usr/local/cots/pooma/src/Engine/MultiPatchEngine.cpp:151: warning: base
> > class
> > `class Observer<UniformGridLayout<2> >' should be explicitly
> > initialized in
> > the copy constructor
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h: In member function
> > `int
> > UniformGridLayoutData<Dim>::globalID(const Loc<Dim>&) const [with int
> > Dim =
> > 2]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:472: instantiated from
> > `int LayoutBase<Dim, LBD>::globalID(const Loc<Dim>&) const [with int Dim
> > = 2, LBD = UniformGridLayoutData<2>]'
> > /usr/local/cots/pooma/src/Utilities/RefCountedBlockPtr.h:758:
> > instantiated from `T& RefCountedBlockPtr<T, BoundsChecked,
> > Controller>::operator[](int) const [with T = Engine<2, double,
> > Remote<Brick> >, bool BoundsChecked = false, Controller =
> > RefBlockController<Engine<2, double, Remote<Brick> > >]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:458: instantiated from
> > `RemoteProxy<T> Engine<Dim, T, Remote<Tag> >::operator()(const
> > Loc<Dim>&) const [with int Dim = 2, T = double, Tag = Brick]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:1367: instantiated from
> > `Engine<Dim, T, PatchTag>::ElementRef_t Engine<Dim, T,
> > MultiPatch<LayoutTag, PatchTag> >::operator()(const Loc<Dim>&) const
> > [with int Dim = 2, T = double, LayoutTag = UniformTag, PatchTag =
> > Remote<Brick>]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:166: instantiated from
> > `static Array<D1, T1, E1>::ElementRef_t View1Implementation<Array<D1,
> > T1, E1>, Domain, true>::make(const Array<D1, T1, E1>&, const S1&, const
> > S2&, const Combine&) [with
> > S1 = long int, S2 = long int, Combine = CombineDomainOpt<NewDomain2<long
> > int, long int>, true>, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >, Domain = Loc<2>]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:823: instantiated from
> > `static View1Implementation<Array<D1, T1, E1>, NewDomain2<Sub1,
> > Sub2>::SliceType_t, View2<Array<D1, T1, E1>, Sub1, Sub2>::sv>::Type_t
> > View2<Array<D1, T1, E1>, Sub1, Sub2>::make(const Array<D1, T1, E1>&,
> > const Sub1&, const Sub2&) [with int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >, Sub1 = long int,
> > Sub2 = long int]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:1926: instantiated from
> > `View2<Array<Dim, T, EngineTag>, Sub1, Sub2>::Type_t Array<Dim, T,
> > EngineTag>::operator()(const Sub1&, const Sub2&) const [with Sub1 = long
> > int, Sub2 = long int, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:176: instantiated from
> > `RemoteProxy<T>& RemoteProxy<T>::operator=(const S&) [with S = double, T
> > = double]'
> > diffusion_test.cpp:80: instantiated from here
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h:2127: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h: In member function
> > `int
> > UniformGridLayoutData<Dim>::touches(const OtherDomain&, OutIter,
> > const
> > ConstructTag&) const [with OtherDomain = Range<2>, OutIter =
> > std::back_insert_iterator<std::vector<Node<Range<2>, Interval<2> >,
> > std::allocator<Node<Range<2>, Interval<2> > > > >, ConstructTag =
> > TouchesConstructNodeObj, int Dim = 2]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:641: instantiated from
> > `int LayoutBase<Dim, LBD>::touches(const OtherDomain&, OutIter, const
> > ConstructTag&) const [with OtherDomain = Range<2>, OutIter =
> > std::back_insert_iterator<std::vector<Node<Range<2>, Interval<2> >,
> > std::allocator<Node<Range<2>, Interval<2> > > > >, ConstructTag =
> > TouchesConstructNodeObj, int Dim = 2, LBD = UniformGridLayoutData<2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:703: instantiated from
> > `int LayoutBase<Dim, LBD>::touches(const OtherDomain&, OutIter) const
> > [with OtherDomain
> > = Range<2>, OutIter =
> > std::back_insert_iterator<std::vector<Node<Range<2>, Interval<2> >,
> > std::allocator<Node<Range<2>, Interval<2> > > > >, int Dim = 2, LBD =
> > UniformGridLayoutData<2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:942: instantiated from
> > `int LayoutBaseViewData<Dim, Dim2, L>::touches(const OtherDomain&,
> > OutIter, const ConstructTag&) const [with OtherDomain = Interval<2>,
> > OutIter = std::back_insert_iterator<std::vector<INode<2>,
> > std::allocator<INode<2> > > >, ConstructTag = TouchesConstructINode<2>,
> > int Dim = 2, int Dim2 = 2, L = UniformGridLayout<2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:1285: instantiated from
> > `int LayoutBaseView<Dim, Dim2, lvd>::touches(const OtherDomain&,
> > OutIter, const ConstructTag&) const [with OtherDomain = Interval<2>,
> > OutIter = std::back_insert_iterator<std::vector<INode<2>,
> > std::allocator<INode<2> > > >, ConstructTag = TouchesConstructINode<2>,
> > int Dim = 2, int Dim2 = 2, lvd = UniformGridLayoutViewData<2, 2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:333: instantiated from
> > `void IntersectorData<Dim>::touches(const Layout&) [with Layout =
> > UniformGridLayoutView<2, 2>, int Dim = 2]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:171: instantiated from
> > `bool IntersectorData<Dim>::intersect(const Engine&, const
> > GuardLayers<Dim2>&) [with Engine = Engine<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, int Dim2 = 2, int Dim =
> > 2]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:440: instantiated from
> > `bool Intersector<Dim>::intersect(const Engine&, const
> > GuardLayers<Dim2>&) [with Engine
> > = Engine<2, double, MultiPatchView<UniformTag, Remote<Brick>, 2> >, int
> > Dim2 = 2, int Dim = 2]'
> > /usr/local/cots/pooma/src/Array/Array.h:1729: instantiated from
> > `static int LeafFunctor<Engine<Dim, T, MultiPatchView<LayoutTag,
> > PatchTag, Dim2> >, ExpressionApply<IntersectorTag<Intersect> >
> > >::applyHandler(const Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag,
> > Dim2> >&, const ExpressionApply<IntersectorTag<Intersect> >&, const
> > WrappedInt<1>&) [with int Dim = 2, T = double, LT = UniformTag, PatchTag
> > = Remote<Brick>, int BD = 2, Intersect = Intersector<2>]'
> > /usr/local/cots/pooma/src/Array/Array.h:1716: instantiated from
> > `static int LeafFunctor<Engine<Dim, T, MultiPatchView<LayoutTag,
> > PatchTag, Dim2> >, ExpressionApply<IntersectorTag<Intersect> >
> > >::apply(const Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag, Dim2>
> > >&, const ExpressionApply<IntersectorTag<Intersect> >&) [with int Dim =
> > 2, T = double, LT = UniformTag, PatchTag = Remote<Brick>, int
> > BD = 2, Intersect = Intersector<2>]'
> > /usr/local/cots/pooma/src/Array/Array.h:2307: instantiated from
> > `static int LeafFunctor<Array<D1, T1, E1>, ExpressionApply<Tag>
> > >::apply(const Array<D1, T1, E1>&, const ExpressionApply<Tag>&) [with
> > int Dim = 2, T = double, E = MultiPatchView<UniformTag, Remote<Brick>,
> > 2>, Tag = IntersectorTag<Intersector<2> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:80: instantiated from `static
> > LeafFunctor<LeafType, LeafTag>::Type_t ForEach<Expr, FTag,
> > CTag>::apply(const Expr&, const FTag&, const CTag&) [with Expr =
> > Array<2, double, MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag = NullCombine]'
> > /usr/local/cots/pooma/src/Array/Array.h:88: instantiated from
> > `ForEach<Expr, FTag, CTag>::Type_t forEach(const Expr&, const FTag&,
> > const CTag&) [with Expr = Array<2, double, MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag = NullCombine]'
> > /usr/local/cots/pooma/src/Array/Array.h:276: instantiated from `void
> > expressionApply(const A&, const Tag&) [with A = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, Tag =
> > IntersectorTag<Intersector<2> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:1913: instantiated from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >,
> > RHS = Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:108: instantiated from `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const RHS&)
> > const [with LHS
> > = Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >, RHS =
> > Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2504: instantiated from `const
> > Array<D1, T1, E1>& assign(const Array<D1, T1, E1>&, const T1&, const
> > Op&) [with int Dim = 2, T = double, EngineTag = MultiPatch<UniformTag,
> > Remote<Brick> >, T1 = double, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2117: instantiated from `const
> > Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const T1&)
> > const [with T1 = double, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:2105: instantiated from
> > `Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> > Array<Dim, T, EngineTag>&) [with int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > diffusion_test.cpp:77: instantiated from here
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h:297: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Partition/DistributedMapper.h: In member
> > function
> > `void DistributedMapper<Dim>::map(const
> > std::vector<Node<Interval<Dim>,
> > Interval<Dim> >*, std::allocator<Node<Interval<Dim>, Interval<Dim>
> > >*> >&)
> > const [with int Dim = 2]':
> > /usr/local/cots/pooma/src/Utilities/RefCountedBlockPtr.h:411:
> > instantiated from here
> > /usr/local/cots/pooma/src/Partition/DistributedMapper.h:68: warning:
> > comparison
> > between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Partition/BisectionMapper.h: In member
> > function `void
> > BisectionMapper<Dim>::map(const std::vector<Node<Interval<Dim>,
> > Interval<Dim> >*, std::allocator<Node<Interval<Dim>, Interval<Dim>
> > >*> >&)
> > const [with int Dim = 2]':
> > /usr/local/cots/pooma/src/Partition/DistributedMapper.h:86:
> > instantiated from
> > `void DistributedMapper<Dim>::map(const std::vector<Node<Interval<Dim>,
> > Interval<Dim> >*, std::allocator<Node<Interval<Dim>, Interval<Dim> >*>
> > >&) const [with int Dim = 2]'
> > /usr/local/cots/pooma/src/Utilities/RefCountedBlockPtr.h:411:
> > instantiated from here
> > /usr/local/cots/pooma/src/Partition/BisectionMapper.h:86: warning:
> > comparison
> > between signed and unsigned integer expressions
> >
More information about the pooma-dev
mailing list